aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--addons/repository.xbmc.org/addon.xml6
-rw-r--r--addons/screensaver.xbmc.builtin.dim/addon.xml2
-rw-r--r--addons/skin.estouchy/addon.xml8
-rw-r--r--addons/skin.estouchy/changelog.txt22
-rw-r--r--addons/skin.estouchy/language/resource.language.cs_cz/strings.po82
-rw-r--r--addons/skin.estouchy/language/resource.language.hr_hr/strings.po110
-rw-r--r--addons/skin.estouchy/language/resource.language.nl_nl/strings.po8
-rw-r--r--addons/skin.estouchy/language/resource.language.pt_pt/strings.po12
-rw-r--r--addons/skin.estouchy/media/icon_button_shutdown.pngbin2644 -> 1778 bytes
-rw-r--r--addons/skin.estouchy/xml/Home.xml18
-rw-r--r--addons/skin.estouchy/xml/Includes.xml2
-rw-r--r--addons/skin.estouchy/xml/ViewsPVR.xml4
-rw-r--r--addons/skin.estuary/addon.xml6
-rw-r--r--addons/skin.estuary/language/resource.language.cs_cz/strings.po12
-rw-r--r--addons/skin.estuary/language/resource.language.hr_hr/strings.po114
-rw-r--r--addons/skin.estuary/language/resource.language.nl_nl/strings.po64
-rw-r--r--addons/skin.estuary/language/resource.language.pt_pt/strings.po40
-rw-r--r--addons/skin.estuary/language/resource.language.sv_se/strings.po16
-rw-r--r--addons/skin.estuary/xml/Home.xml4
-rw-r--r--addons/skin.estuary/xml/MusicOSD.xml3
-rw-r--r--addons/skin.estuary/xml/View_51_Poster.xml1
-rw-r--r--addons/webinterface.default/addon.xml66
-rw-r--r--addons/webinterface.default/js/kodi-webinterface.js7244
-rw-r--r--addons/webinterface.default/lang/_strings/en.json2
-rw-r--r--addons/webinterface.default/lang/_strings/es.json1
-rw-r--r--addons/webinterface.default/lang/_strings/pl.json2
-rw-r--r--addons/webinterface.default/lang/en/addons.html36
-rw-r--r--addons/webinterface.default/lang/en/app-changelog.html84
-rw-r--r--addons/webinterface.default/lang/en/app-readme.html77
-rw-r--r--addons/webinterface.default/lang/en/license.html24
-rw-r--r--addons/webinterface.default/lang/pl/addons.html40
-rw-r--r--addons/webinterface.default/lang/pl/app-changelog.html120
-rw-r--r--addons/webinterface.default/lang/pl/app-readme.html121
-rw-r--r--addons/webinterface.default/lang/pl/help-overview.html6
-rw-r--r--addons/webinterface.default/lang/pl/lang-readme.html57
-rw-r--r--addons/webinterface.default/lang/pl/license.html18
-rw-r--r--addons/webinterface.default/lib/icons/icomoon.json89
-rw-r--r--addons/webinterface.default/lib/icons/mdi.json2
-rw-r--r--addons/webinterface.default/screenshots/edit-media.jpgbin0 -> 156607 bytes
-rw-r--r--addons/webinterface.default/screenshots/search.jpgbin107389 -> 161388 bytes
-rw-r--r--addons/webinterface.default/themes/base/css/base.css36
-rw-r--r--addons/webinterface.default/themes/base/fonts/icomoon/Read Me.txt4
-rw-r--r--addons/webinterface.default/themes/base/fonts/icomoon/demo-files/demo.css153
-rw-r--r--addons/webinterface.default/themes/base/fonts/icomoon/demo-files/demo.js44
-rw-r--r--addons/webinterface.default/themes/base/fonts/icomoon/demo.html2830
-rw-r--r--addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.eotbin20536 -> 20700 bytes
-rw-r--r--addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.svg174
-rw-r--r--addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.ttfbin20372 -> 20536 bytes
-rw-r--r--addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.woffbin20448 -> 20612 bytes
-rw-r--r--addons/webinterface.default/themes/base/fonts/icomoon/selection.json4502
-rw-r--r--addons/webinterface.default/themes/base/fonts/icomoon/style.css325
-rw-r--r--addons/webinterface.default/themes/base/images/default.pngbin3239 -> 0 bytes
-rw-r--r--addons/webinterface.default/themes/base/images/google-ico.pngbin1204 -> 0 bytes
-rw-r--r--addons/webinterface.default/themes/base/images/imdb-ico.pngbin942 -> 0 bytes
-rw-r--r--media/banner.pngbin41493 -> 12951 bytes
-rw-r--r--media/icon120x120.pngbin16380 -> 9668 bytes
-rw-r--r--media/icon256x256.pngbin22917 -> 29305 bytes
-rw-r--r--project/cmake/CMakeLists.txt3
l---------project/cmake/scripts/rbpi/ExtraTargets.cmake (renamed from cmake/scripts/rbpi/ExtraTargets.cmake)0
-rw-r--r--tools/android/packaging/media/drawable-xhdpi/banner.pngbin41493 -> 12951 bytes
-rw-r--r--tools/darwin/packaging/media/osx/background/DiskImageBackgroundKodi.pngbin15064 -> 15256 bytes
-rw-r--r--tools/windows/packaging/media/installer/header.bmpbin26272 -> 26272 bytes
-rw-r--r--tools/windows/packaging/media/installer/welcome-left.bmpbin154544 -> 154544 bytes
-rw-r--r--xbmc/addons/AddonDatabase.cpp19
-rw-r--r--xbmc/cores/AudioEngine/Makefile.in2
-rw-r--r--xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp2
-rw-r--r--xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererMediaCodecSurface.cpp5
-rw-r--r--xbmc/dialogs/GUIDialogProgress.cpp3
-rw-r--r--xbmc/filesystem/win32/Win32File.cpp5
-rw-r--r--xbmc/platform/android/activity/XBMCApp.cpp4
-rw-r--r--xbmc/utils/win32/Win32Log.cpp18
-rw-r--r--xbmc/utils/win32/Win32Log.h1
73 files changed, 10782 insertions, 5874 deletions
diff --git a/.gitignore b/.gitignore
index 9c8dc28595..c0631de773 100644
--- a/.gitignore
+++ b/.gitignore
@@ -564,3 +564,6 @@ exclude_dll.txt
#certificates
/system/certs/
+
+#Workaround for autotools right before final Krypton
+xbmc/cores/AudioEngine/AEDefines_override.h
diff --git a/addons/repository.xbmc.org/addon.xml b/addons/repository.xbmc.org/addon.xml
index cc98ca3c33..54e1a20b11 100644
--- a/addons/repository.xbmc.org/addon.xml
+++ b/addons/repository.xbmc.org/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="repository.xbmc.org"
name="Kodi Add-on repository"
- version="2.5.7"
+ version="2.5.8"
provider-name="Team Kodi">
<requires>
<import addon="xbmc.addon" version="12.0.0"/>
@@ -97,7 +97,7 @@
<description lang="fr_FR">Télécharger et installer des extensions à partir du dépôt officiel Kodi.tv.[CR]En utilisant le dépôt officiel, vous bénéficierez de notre service de serveurs miroirs permettant de télécharger rapidement depuis une région proche de chez vous.[CR]Toutes les extensions de ce dépôt ont été testées sommairement, si vous trouvez une extension corrompue ou inutilisable, veuillez en informer l'Équipe Kodi afin que nous puissions prendre les mesures nécessaires.</description>
<description lang="gl_ES">Descargar e instalar Engadidos dende o repositorio oficial de Kodi.tv.[CR] Empregando o repositorio oficial, vostede poderá gozar das vantaxes do seu extenso servizo de replicación de ficheiros que lle permite unhas descargas máis rápidas dende unha rexión preto a vostede.[CR] Tódolos Engadidos deste repositorio pasaron por comprobacións básicas. Se atopa algún Engadido roto ou non funcional, por favor reporteo ó equipo de Kodi para que poidan actuar en consecuencia.</description>
<description lang="he_IL">הורדה והתקנת הרחבות ממאגר הרחבות Kodi.tv הרשמי.[CR] שימוש במאגר הרשמי מאפשר לנצל את שירות שיקוף הקבצים של Kodi.tv העוזר להוריד מהר יותר מהשרת הקרוב ביותר.[CR] כל ההרחבות במאגר זה עברו בדיקה בסיסית. יש לדווח לצוות הפיתוח של Kodi על כל הרחבה שנמצאה כלא תקינה או שלא עובדת ע"מ שתתבצע הפעולה המתאימה.</description>
- <description lang="hr_HR">Preuzmite i instalirajte dodatke sa službenog Kodi.tv repozitorija dodataka.[CR] Korištenjem službenog repozitorija bit ćete u mogućnosti iskoristiti prednosti usluge našeg brzog zrcalnog poslužitelja datoteka, da bi mogli brže preuzimati iz regije koje je bliže vašoj lokaciji.[CR] Svi dodaci na ovom repozitoriju prošli su osnovno testiranje, u slučaju da primijetite neispravan dodatak, molimo vas da to prijavite Kodi timu koji će zatim poduzeti potrebne korake.</description>
+ <description lang="hr_HR">Preuzmite i instalirajte dodatke sa službenog Kodi.tv repozitorija dodataka.[CR] Korištenjem službenog repozitorija bit ćete u mogućnosti iskoristiti prednosti usluge našeg brzog zrcalnog poslužitelja datoteka, kako bi mogli brže preuzimati iz regije koje je bliže vašoj lokaciji.[CR] Svi dodaci na ovom repozitoriju prošli su osnovno testiranje, u slučaju da primijetite neispravan dodatak, molimo vas da to prijavite Kodi timu koji će zatim poduzeti potrebne korake.</description>
<description lang="hu_HU">Kiegészítők letöltése és telepítése a hivatalos Kodi.tv tárolóhelyről.[CR] A hivatalos tárolóhely használatával kihasználhatod szerteágazó tükör-kiszolgáló hálózatunkat, ami segít a gyorsabb letöltésben egy hozzád közelebb eső körzet használatával.[CR] Minden kiegészítő ezen a tárolóhelyen átment egy alaptesztelésen. Ha mégis hibás vagy nem működő kiegészítőt találsz, kérünk jelezd az Kodi csapatnak, hogy megtegyük a szükséges lépéseket.</description>
<description lang="id_ID">Unduh dan pasang pengaya dari repositori pengaya resmi Kodi.tv. [CR] Dengan menggunakan repositori resmi anda akan mendapat keuntungan dari miror berkas kami yang luas dimana dapat membantu anda untuk lebih cepat mengunduh dari daerah yang dekat dengan anda. [CR] Semua pengaya pada repository telah melalui uji coba standar, jika anda menemukan pengaya yang rusak atau tidak bekerja tolong laporkan kepada tim Kodi agar kami bisa menindak lanjutinya.</description>
<description lang="is_IS">Sækja og setja inn viðbætur frá hinu viðurkennda Kodi.tv viðbóta safni.[CR] Með því að nota þetta safn getur þú nýtt þér möguleikann á fullkmonni speglunar þjónustu sem hjálpar við að sækja viðbætur hraðar frá landsvæði nálægt þér.[CR] Allar viðbætur í þessu safni hafa gengið undir grunn prófanir, ef þú finnur viðbætur sem eru bilaðar eða virka ekki vinsamlegast látið Kodi teymið vita svo við getum gert eitthvað í málinu.</description>
@@ -120,7 +120,7 @@
<description lang="sl_SI">Prenos in namestitev dodatkov iz uradnega skladišča Kodi.tv.[CR] Z uporabo uradnega skladišča, boste lahko izkoristili hitrejšo povezavo, ki bo izbrana glede na vašo lokacijo.[CR] Vsi dodatki tega skladišča so bili osnovno stestirani, če pa boste našli pokvarjen ali nedelujoč dodatek, to sporočite ekipi Kodi, da bomo lahko odpravili napake.</description>
<description lang="sr_RS">Преузмите и инсталирајте додатке из Званичног Kodi.tv спремишта додатака.[CR] Коришћењем званичног Спремишта моћићете да искористите предности нашег сервиса копија фајлова који ће вам помоћи приликом бржег преузимања из региона ближег вашој локацији.[CR] Сви додаци у овом спремишту прошли су основно тестирање, у случају да пронађете неисправан додатак молимо вас да то пријавите Kodi тиму који ће затим предузети неопходне мере.</description>
<description lang="sr_RS@latin">Preuzmi i instaliraj dodatne programe iz Zvaničnog Kodi.tv spremišta za dodatne programe.[CR] Korišćenjem zvaničnog Spremišta moći ćete da iskoristite prednosti našeg servisa kopija fajlova koji će vam pomoći prilikom bržeg preuzimanja iz regiona bližeg vašoj lokaciji.[CR] Svi dodatni programi u ovom spremištu prošli su osnovno testiranje, u slučaju da pronađete neispravan dodatni program molimo vas da to prijavite Kodi timu koji će zatim preduzeti neophodne mere.</description>
- <description lang="sv_SE">Ladda ner och installera tillägg från det officiella Kodi.tv tilläggsförrådet.[CR]Genom att använda det officiella förrådet kommer du att få fördelen att kunna använda vår omfattande spegeltjänst som kommer att hjälpa dig till snabbare nedladdningar från en plats nära dig.[CR]Alla tillägg i detta förråd har genomgått grundläggande tester. Hittar du ett trasigt eller icke fungerande tillägg, vänligen meddela detta till Team Kodi så att vi kan vidta nödvändiga åtgärder.</description>
+ <description lang="sv_SE">Ladda ner och installera tillägg från det officiella Kodi.tv tilläggsförrådet.[CR] Genom att använda det officiella förrådet kommer du att få fördelen att kunna använda vår omfattande spegeltjänst som kommer att hjälpa dig till snabbare nedladdningar från en plats nära dig.[CR] Alla tillägg i detta förråd har genomgått grundläggande tester. Hittar du ett trasigt eller icke fungerande tillägg, vänligen meddela detta till Team Kodi så att vi kan vidta nödvändiga åtgärder.</description>
<description lang="szl">Sebiyrej i insztaluj przidŏwki z ôficjalnygo repozytoriōm Kodi.tv.[CR] Przi Używaniu ôficjalnygo repozytoriōm używŏsz serwerōw zdrzadłowych, rozsianych po calistym świecie. Ôbiyrany je tyn, kery je nŏjbliżyj ciebie, co istuje srogõ wartkość skuplowaniŏ.[CR]Wszyjske przidŏwki w tym repozytoriōm sōm testowane, ale mogōm pokŏzać sie popszniōne. Zgłoś wtynczŏs feler, coby ekipa Kodi mogła go sprŏwić.</description>
<description lang="tg_TJ">Барномаҳои иловагиро аз анбори нармафзори Kodi.tv боргирӣ кунед ва насб намоед.[CR] Аз истифодаи анбори нармафзори расмии мо ба шумо имконият пайдо мешавад, ки тавонед шароити мусофидро аз хидмати оинаи файлии васеъ ба даст оред ва нармафзори лозимиро аз сервери минтакаи ба шумо наздиктар бо суръати баланд боргирӣ кунед.[CR] Ҳамаи барномаҳо аз анбори нармафзори мо дар ҳолати санҷишӣ мебошанд, бинобар ин агар ягон барномаи иловагии нуқсондор ё вайроншударо ёбед, лутфан дар бораи он барнома ва нуқсон пайдошуда ба гурӯҳи кории Kodi гузориш диҳед, то ин ки мо тавонем ҳамаи камбудиҳои барномаҳои моро ҳал кунем.</description>
<description lang="th_TH">ดาวน์โหลดและติดตั้งส่วนเสริม จากแหล่งข้อมูลโปรแกรมของ Kodi.tv อย่างเป็นทางการ.[CR] โดยการใช้งานแหล่งข้อมูลโปรแกรมอย่างเป็นทางการ คุณสามารถใช้ประโยชน์จากบริการแฟ้มมิเรอร์ที่กว้างขวางของเรา ที่จะช่วยให้การดาวน์โหลดของคุณเร็วขึ้นจากภูมิภาคที่ใกล้ที่สุด.[CR] ส่วนเสริม ทั้งหมดในแหล่งเก็บข้อมูลนี้ อยู่ภายใต้การทดสอบขั้นพื้นฐานแล้ว ถ้าคุณพบส่วนเสริมที่เสียหายหรือไม่ทำงาน กรุณาแจ้งทีมงาน Kodi เพื่อให้เราสามารถดำเนินการใด ๆ ที่จำเป็น.</description>
diff --git a/addons/screensaver.xbmc.builtin.dim/addon.xml b/addons/screensaver.xbmc.builtin.dim/addon.xml
index 36408530b2..8e56e14faa 100644
--- a/addons/screensaver.xbmc.builtin.dim/addon.xml
+++ b/addons/screensaver.xbmc.builtin.dim/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="screensaver.xbmc.builtin.dim"
name="Dim"
- version="1.0.35"
+ version="1.0.36"
provider-name="Team Kodi">
<extension point="xbmc.ui.screensaver" library=""/>
<extension point="xbmc.addon.metadata">
diff --git a/addons/skin.estouchy/addon.xml b/addons/skin.estouchy/addon.xml
index d15c7e71a6..c5048c6a2f 100644
--- a/addons/skin.estouchy/addon.xml
+++ b/addons/skin.estouchy/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon id="skin.estouchy" version="1.1.5" name="Estouchy" provider-name="Team Kodi">
+<addon id="skin.estouchy" version="1.1.7" name="Estouchy" provider-name="Team Kodi">
<requires>
<import addon="xbmc.gui" version="5.12.0"/>
</requires>
@@ -12,7 +12,7 @@
<summary lang="am_ET">ለ ተችስክሪን አካሎች ቆዳ</summary>
<summary lang="bg_BG">Облик за устройства с екран чувствителен на допир</summary>
<summary lang="ca_ES">Aparença per als dispositius amb pantalla tàctil</summary>
- <summary lang="cs_CZ">Skin pro dotyková zařízení</summary>
+ <summary lang="cs_CZ">Vzhled pro zařízení s dotykovou obrazovkou</summary>
<summary lang="de_DE">Skin für Touchscreen-Geräte</summary>
<summary lang="el_GR">Κέλυφος για συσκευές με οθόνη αφής</summary>
<summary lang="en_GB">Skin for touchscreen devices</summary>
@@ -25,6 +25,7 @@
<summary lang="fr_FR">Habillage pour les appareils à écran tactile</summary>
<summary lang="gl_ES">Pel para dispositivos táctiles</summary>
<summary lang="he_IL">מעטפת עבור התקני מסך מגע</summary>
+ <summary lang="hr_HR">Presvlaka za uređaje s dodirom na zaslon</summary>
<summary lang="hu_HU">Felület érintőképernyős eszközöknek</summary>
<summary lang="it_IT">Skin per dispositivi touchscreen</summary>
<summary lang="ko_KR">터치 스크린 기기를 위한 스킨</summary>
@@ -49,7 +50,7 @@
<description lang="af_ZA">Oortreksel ontwerp om op raakskerm toestelle soos tablette en slimfone te gebruik</description>
<description lang="bg_BG">Обликът е разработен за ползване на устройства, с екран чувствителен на допир като таблет или телефон.</description>
<description lang="ca_ES">Aparença dissenyada perquè s'utilitzi en dispositius amb pantalla tàctil com taules i telèfons intel·ligents</description>
- <description lang="cs_CZ">Skin navržený pro zařízení s dotykovou obrazovkou, jako jsou tablety a smartphony.</description>
+ <description lang="cs_CZ">Vzhled navržený pro použití na zařízeních s dotykovou obrazovkou, jako jsou tablety a chytré telefony</description>
<description lang="de_DE">Dieses Skin wurde für die Benutzung mit Touchscreen-Geräten wie Tablets und Handys entworfen</description>
<description lang="el_GR">Κέλυφος σχεδιασμένο για να χρησιμοποιηθεί σε συσκευές με οθόνη αφής όπως ταμπλέτες και έξυπνα κινητά.</description>
<description lang="en_GB">Skin designed to be used on touchscreen devices like tablets and smartphones</description>
@@ -62,6 +63,7 @@
<description lang="fr_FR">Habillage conçu pour les appareils à écran tactile comme les tablettes et les téléphones</description>
<description lang="gl_ES">Pel deseñada para se empregar en dispositivos táctiles como tabletas e móbiles</description>
<description lang="he_IL">מעטפת מיועדת לשימוש בהתקני מסך מגע כגון טאבלט וסמארטפון</description>
+ <description lang="hr_HR">Presvlaka dizajnirana za korištenje na uređajima s dodirom na zaslon poput tableta i pametnih telefona</description>
<description lang="hu_HU">Egy érintőképernyős eszközökre, például táblagépekre és okostelefonokra tervezett felület</description>
<description lang="it_IT">Skin progettata per essere usata su dispositivi touchscreen come tablet e smartphone</description>
<description lang="ko_KR">태블릿이나 스마트폰과 같은 터치 스크린 기기에서 사용할 수 있게 디자인한 스킨</description>
diff --git a/addons/skin.estouchy/changelog.txt b/addons/skin.estouchy/changelog.txt
index 336b2737d3..aea6d7591d 100644
--- a/addons/skin.estouchy/changelog.txt
+++ b/addons/skin.estouchy/changelog.txt
@@ -1,3 +1,25 @@
+V1.1.7
+- Add scrollbar to guide view
+- Align shutdown button
+
+V1.1.6
+- Updated language files from Transifex
+
+V1.1.5
+- Updated language files from Transifex
+
+V1.1.4
+- Updated language files from Transifex
+
+V1.1.3
+- Updated language files from Transifex
+
+V1.1.2
+- Updated language files from Transifex
+
+V1.1.1
+- Updated language files from Transifex
+
V1.1.0
- Redesign
diff --git a/addons/skin.estouchy/language/resource.language.cs_cz/strings.po b/addons/skin.estouchy/language/resource.language.cs_cz/strings.po
index ae34d41511..49d9e539c7 100644
--- a/addons/skin.estouchy/language/resource.language.cs_cz/strings.po
+++ b/addons/skin.estouchy/language/resource.language.cs_cz/strings.po
@@ -34,7 +34,7 @@ msgstr "Možnosti vizualizace"
msgctxt "#31006"
msgid "Visualization Presets"
-msgstr "Přednastavení vizualizace"
+msgstr "Předvolby vizualizace"
msgctxt "#31007"
msgid "Context Menu"
@@ -42,7 +42,7 @@ msgstr "Místní nabídka"
msgctxt "#31009"
msgid "Working..."
-msgstr "Pracuji..."
+msgstr "Zpracovávání..."
msgctxt "#31011"
msgid "Recent"
@@ -54,7 +54,7 @@ msgstr "Filmy"
msgctxt "#31014"
msgid "Episodes"
-msgstr "Epizod(y)"
+msgstr "Epizody"
msgctxt "#31016"
msgid "Albums"
@@ -94,11 +94,11 @@ msgstr "Čas ukončení"
msgctxt "#31050"
msgid "Sort: Ascending"
-msgstr "Řazení: vzestupně"
+msgstr "Řazení: Vzestupně"
msgctxt "#31051"
msgid "Sort: Descending"
-msgstr "Řazení: sestupně"
+msgstr "Řazení: Sestupně"
msgctxt "#31055"
msgid "Open playlist"
@@ -144,6 +144,10 @@ msgctxt "#31303"
msgid "Data provider"
msgstr "Poskytovatel dat"
+msgctxt "#31309"
+msgid "System Memory Used:"
+msgstr "Použitá systémová paměť:"
+
msgctxt "#31320"
msgid "Last Logged In"
msgstr "Naposledy přihlášen"
@@ -154,7 +158,7 @@ msgstr "Vysíláno"
msgctxt "#31355"
msgid "Video Menu"
-msgstr "Menu videa"
+msgstr "Nabídka videa"
msgctxt "#31356"
msgid "Download Subtitles"
@@ -166,23 +170,59 @@ msgstr "Teletext"
msgctxt "#31390"
msgid "Skin default"
-msgstr "Výchozí vzhled"
+msgstr "Výchozí nastavení vzhledu"
msgctxt "#31391"
msgid "Arial based"
-msgstr "Písmo Arial"
+msgstr "Založeno na Arial"
msgctxt "#31400"
msgid "Change the skin · Set language and region · Change file listing options · Set up a screensaver"
-msgstr "Změnit vzhled · Nastavit jazyk a region · Změnit možnosti výpisu souborů · Nastavit spořič obrazovky"
+msgstr "Změňte vzhled · Nastavte jazyk a region · Změňte možnosti výpisu souborů · Nastavte spořič obrazovky"
+
+msgctxt "#31405"
+msgid "Configure & manage media sharing services · Configure & manage the weather service"
+msgstr "Konfigurujte a spravujte služby sdílení médií · Konfigurujte a spravujte služby počasí"
+
+msgctxt "#31406"
+msgid "Configure display · Configure audio · Configure internet access · Configure power saving· Configure logging"
+msgstr "Konfigurujte obrazovku · Konfigurujte zvuk · Konfigurujte přístup k internetu · Konfigurujte úsporu energie · Konfigurujte protokolování"
msgctxt "#31407"
msgid "Manage your installed add-ons · Browse for and install add-ons from kodi.tv · Modify add-on settings"
-msgstr "Spravujte nainstalované doplňky · Procházejte a instalujte doplňky z kodi.tv · Upravujte nastavení doplňků"
+msgstr "Spravujte nainstalované doplňky · Procházejte a instalujte doplňky z kodi.tv · Upravte nastavení doplňků"
+
+msgctxt "#31408"
+msgid "Configure actions that can be used during playback · Configure how media content is played"
+msgstr "Konfigurujte akce, které mohou být použity během přehrávání · Konfigurujte způsob přehrávání médií"
+
+msgctxt "#31409"
+msgid "Configure library sources · Show the media lists display content · Configure how library lists are navigated"
+msgstr "Konfigurujte zdroje knihovny · Upravte obsah zobrazení seznamu médií · Konfigurujte způsob navigace v seznamech knihovny"
+
+msgctxt "#31410"
+msgid "Configure skin · Configure region · Configure control · Configure screensaver · Configure master lock"
+msgstr "Konfigurujte vzhled · Konfigurujte region · Konfigurujte ovládání · Konfigurujte spořič obrazovky · Konfigurujte hlavní zámek"
+
+msgctxt "#31411"
+msgid "Configure your profiles · Set locking options · Enable login screen"
+msgstr "Konfigurujte své profily · Nastavte možnosti uzamknutí · Povolte přihlašovací obrazovku"
+
+msgctxt "#31412"
+msgid "Display system information · Hardware statistics · Check storage availability · View network configuration"
+msgstr "Zobrazte informace o systému · Hardwarové statistiky · Zkontrolujte dostupnost úložiště · Zobrazte konfiguraci sítě"
msgctxt "#31421"
msgid "Select your Kodi user Profile[CR]to login and continue"
-msgstr "Vyberte váš uživatelské profil Kodi[CR]pro přihlášení a pokračování"
+msgstr "Vyberte svůj uživatelský profil Kodi[CR]pro přihlášení a pokračování"
+
+msgctxt "#31548"
+msgid "Home menu"
+msgstr "Domovská nabídka"
+
+msgctxt "#31549"
+msgid "Home Add-ons"
+msgstr "Doplňky na domovské obrazovce"
msgctxt "#31550"
msgid "Backgrounds"
@@ -190,11 +230,11 @@ msgstr "Pozadí"
msgctxt "#31551"
msgid "Add-on Shortcut"
-msgstr "Zkratka rozšíření"
+msgstr "Klávesová zkratka doplňku"
msgctxt "#31552"
msgid "SYNC"
-msgstr "SYNCHRONIZUJ"
+msgstr "SYNCHRONIZOVAT"
msgctxt "#31553"
msgid "Use Custom Background"
@@ -206,11 +246,11 @@ msgstr "Pozadí:"
msgctxt "#31555"
msgid "Configure TV settings · Change full screen info · Manage EPG data settings"
-msgstr "Konfiguruj nastavení TV · Změň celoobrazovkové info · Spravuj nastaveni EPG"
+msgstr "Konfigurujte nastavení TV · Změňte informace na celé obrazovce · Spravujte data televizního programu"
msgctxt "#31556"
msgid "Live TV"
-msgstr "Televize"
+msgstr "Živé vysílání"
msgctxt "#31557"
msgid "Hide video background"
@@ -238,7 +278,7 @@ msgstr "Přejmenovat skupinu"
msgctxt "#31563"
msgid "Delete Group"
-msgstr "Smazat skupinu"
+msgstr "Odstranit skupinu"
msgctxt "#31564"
msgid "Show hidden"
@@ -246,7 +286,7 @@ msgstr "Zobrazit skryté"
msgctxt "#31565"
msgid "Show deleted"
-msgstr "Zobrazit smazané"
+msgstr "Zobrazit odstraněné"
msgctxt "#31900"
msgid "First Run"
@@ -254,16 +294,16 @@ msgstr "První spuštění"
msgctxt "#31901"
msgid "There are two things to know about navigating Estouchy"
-msgstr "Měli byste vědět dvě věci o navigování v Estouchy"
+msgstr "O navigování v Estouchy byste měli vědět dvě věci "
msgctxt "#31902"
msgid "The Kodi logo functions as a 'HOME' button. Whenever you touch it, you will be taken back to the home screen."
-msgstr "Kodi logo slouží jako tlačítko 'DOMŮ'. Kdykoliv ho stisknete, přepnete se zpět na domovskou obrazovku."
+msgstr "Logo Kodi slouží jako tlačítko 'DOMŮ'. Kdykoliv se ho dotknete, přepnete se zpět na domovskou obrazovku."
msgctxt "#31903"
msgid "When you are playing audio or video, the item title will appear at the top of the screen. Touching it will take you to the fullscreen visualization or video window."
-msgstr "Kdykoliv přehrajete hudbu nebo video, název této položky se zobrazí na horním okraji obrazovky. Pokud na něj kliknete, zobrazí se video nebo vizualizace v celoobrazovkovém režimu."
+msgstr "Když přehráváte hudbu nebo video, objeví se na horním okraji obrazovky název položky. Pokud se ho dotknete, přepnete se do okna vizualizace nebo videa na celou obrazovku."
msgctxt "#31904"
msgid "Now Playing Title..."
-msgstr "Nyní přehrávám..."
+msgstr "Nyní se přehrává..."
diff --git a/addons/skin.estouchy/language/resource.language.hr_hr/strings.po b/addons/skin.estouchy/language/resource.language.hr_hr/strings.po
index 167cb05624..fd8e41d57e 100644
--- a/addons/skin.estouchy/language/resource.language.hr_hr/strings.po
+++ b/addons/skin.estouchy/language/resource.language.hr_hr/strings.po
@@ -38,12 +38,16 @@ msgstr "Predlošci vizualizacije"
msgctxt "#31007"
msgid "Context Menu"
-msgstr "Dodatni izbornik"
+msgstr "Izbornik sadržaja"
msgctxt "#31009"
msgid "Working..."
msgstr "Obrađivanje..."
+msgctxt "#31011"
+msgid "Recent"
+msgstr "Nedavno"
+
msgctxt "#31013"
msgid "Movies"
msgstr "Filmovi"
@@ -68,6 +72,10 @@ msgctxt "#31038"
msgid "Login"
msgstr "Prijava"
+msgctxt "#31039"
+msgid "Updated:"
+msgstr "Nadopunjeno:"
+
msgctxt "#31044"
msgid "FAST FORWARD"
msgstr "PREMOTAVANJE UNAPRIJED"
@@ -78,7 +86,7 @@ msgstr "PREMOTAVANJE UNAZAD"
msgctxt "#31046"
msgid "Play speed"
-msgstr "Brzina izvođenja"
+msgstr "Brzina reprodukcije"
msgctxt "#31049"
msgid "End Time"
@@ -106,7 +114,7 @@ msgstr "Zatvori popis izvođenja"
msgctxt "#31058"
msgid "System music files"
-msgstr "Glazbene datoteke sustava"
+msgstr "Zvučne datoteke sustava"
msgctxt "#31059"
msgid "Current playlist"
@@ -130,12 +138,16 @@ msgstr "Trenutna temp."
msgctxt "#31301"
msgid "Last Updated"
-msgstr "Posljednje ažuriranje"
+msgstr "Posljednja nadopuna"
msgctxt "#31303"
msgid "Data provider"
msgstr "Pružatelj podataka"
+msgctxt "#31309"
+msgid "System Memory Used:"
+msgstr "Korištenje memorije:"
+
msgctxt "#31320"
msgid "Last Logged In"
msgstr "Posljednji put prijavljeni"
@@ -168,10 +180,50 @@ msgctxt "#31400"
msgid "Change the skin · Set language and region · Change file listing options · Set up a screensaver"
msgstr "Promijenite presvlaku · Postavite jezik i regiju · Izmijenite mogućnosti popisa datoteka · Postavite čuvara zaslona"
+msgctxt "#31405"
+msgid "Configure & manage media sharing services · Configure & manage the weather service"
+msgstr "Prilagodite i upravljajte uslugama dijeljenja medija · Prilagodite i upravljajte uslugama vremenske prognoze"
+
+msgctxt "#31406"
+msgid "Configure display · Configure audio · Configure internet access · Configure power saving· Configure logging"
+msgstr "Prilagodite zaslon · Prilagodite zvuk · Prilagodite pristup internetu · Prilagodite štednju energije · Prilagodite zapisivanje"
+
+msgctxt "#31407"
+msgid "Manage your installed add-ons · Browse for and install add-ons from kodi.tv · Modify add-on settings"
+msgstr "Prilagodite vaše instalirane dodatke · Pregledavajte i instalirajte dodatke s kodi.tv · Prilagodite postavke dodatka"
+
+msgctxt "#31408"
+msgid "Configure actions that can be used during playback · Configure how media content is played"
+msgstr "Prilagodite radnje koje se koriste tijekom reprodukcije · Prilagodite način reprodukcije medijskog sadržaja"
+
+msgctxt "#31409"
+msgid "Configure library sources · Show the media lists display content · Configure how library lists are navigated"
+msgstr "Prilagodite izvore zbirke · Prilagodite kako zbirka prikazuje medijski sadržaj · Prilagodite kako se upravlja prikazom zbirke"
+
+msgctxt "#31410"
+msgid "Configure skin · Configure region · Configure control · Configure screensaver · Configure master lock"
+msgstr "Prilagodite presvlaku · Prilagodite lokalizaciju · Prilagodite upravljanje · Prilagodite čuvar zaslona · Prilagodite glavno zaključavanje"
+
+msgctxt "#31411"
+msgid "Configure your profiles · Set locking options · Enable login screen"
+msgstr "Prilagodite svoje profile · Postavite mogućnosti zaključavanja · Omogućite zaslon prijave"
+
+msgctxt "#31412"
+msgid "Display system information · Hardware statistics · Check storage availability · View network configuration"
+msgstr "Prikaz informacija sustava · Statistika hardvera · Provjera uređaja pohrane · Prikaz postavka mreže"
+
msgctxt "#31421"
msgid "Select your Kodi user Profile[CR]to login and continue"
msgstr "Odaberite svoj Kodi korisnički profil[CR]za prijavu i nastavite"
+msgctxt "#31548"
+msgid "Home menu"
+msgstr "Početni izbornik"
+
+msgctxt "#31549"
+msgid "Home Add-ons"
+msgstr "Početni dodaci"
+
msgctxt "#31550"
msgid "Backgrounds"
msgstr "Pozadine"
@@ -180,14 +232,38 @@ msgctxt "#31551"
msgid "Add-on Shortcut"
msgstr "Prečac dodataka"
+msgctxt "#31552"
+msgid "SYNC"
+msgstr "USKLADI"
+
+msgctxt "#31553"
+msgid "Use Custom Background"
+msgstr "Koristi prilagođenu pozadinu"
+
+msgctxt "#31554"
+msgid "Background:"
+msgstr "Pozadina:"
+
+msgctxt "#31555"
+msgid "Configure TV settings · Change full screen info · Manage EPG data settings"
+msgstr "Prilagodite postavke televizije · Prilagodite cijelozaslonske informacije · Upravljajte postavkama EPG vodiča"
+
msgctxt "#31556"
msgid "Live TV"
-msgstr "TV uživo"
+msgstr "Televizija"
msgctxt "#31557"
msgid "Hide video background"
msgstr "Sakrij video pozadinu"
+msgctxt "#31558"
+msgid "Hide visualization background"
+msgstr "Sakrij vizualizacije pozadine"
+
+msgctxt "#31559"
+msgid "Channel settings"
+msgstr "Postavke programa"
+
msgctxt "#31560"
msgid "Available groups"
msgstr "Dostupne grupe"
@@ -203,3 +279,27 @@ msgstr "Preimenuj grupu"
msgctxt "#31563"
msgid "Delete Group"
msgstr "Obriši grupu"
+
+msgctxt "#31564"
+msgid "Show hidden"
+msgstr "Prikaži skriveno"
+
+msgctxt "#31565"
+msgid "Show deleted"
+msgstr "Prikaži obrisano"
+
+msgctxt "#31901"
+msgid "There are two things to know about navigating Estouchy"
+msgstr "Postoje dvije stvari koje morate znati o upravljanju s Estouchyem"
+
+msgctxt "#31902"
+msgid "The Kodi logo functions as a 'HOME' button. Whenever you touch it, you will be taken back to the home screen."
+msgstr "Funkcija Kodi logotipa je poput 'HOME' tipke. Kada ju dodirnete, vratit ćete se natrag na početni zaslon."
+
+msgctxt "#31903"
+msgid "When you are playing audio or video, the item title will appear at the top of the screen. Touching it will take you to the fullscreen visualization or video window."
+msgstr "Kada reproducirate glazbu ili video snimku, naslov stavke će se pojaviti na vrhu zaslona. Dodir naslova će vas odvesti u prozor vizualizacije glazbe ili cijelozaslonski prikaz video snimke."
+
+msgctxt "#31904"
+msgid "Now Playing Title..."
+msgstr "Trenutno reproducirana stavka..."
diff --git a/addons/skin.estouchy/language/resource.language.nl_nl/strings.po b/addons/skin.estouchy/language/resource.language.nl_nl/strings.po
index 38ae1ce1b2..677a27152c 100644
--- a/addons/skin.estouchy/language/resource.language.nl_nl/strings.po
+++ b/addons/skin.estouchy/language/resource.language.nl_nl/strings.po
@@ -216,6 +216,14 @@ msgctxt "#31421"
msgid "Select your Kodi user Profile[CR]to login and continue"
msgstr "Kies je Kodi gebruikersprofiel[CR]om in te loggen en door te gaan"
+msgctxt "#31548"
+msgid "Home menu"
+msgstr "Begin menu"
+
+msgctxt "#31549"
+msgid "Home Add-ons"
+msgstr "Begin Add-ons"
+
msgctxt "#31550"
msgid "Backgrounds"
msgstr "Achtergronden"
diff --git a/addons/skin.estouchy/language/resource.language.pt_pt/strings.po b/addons/skin.estouchy/language/resource.language.pt_pt/strings.po
index c861bf0afa..d3b654170c 100644
--- a/addons/skin.estouchy/language/resource.language.pt_pt/strings.po
+++ b/addons/skin.estouchy/language/resource.language.pt_pt/strings.po
@@ -144,6 +144,10 @@ msgctxt "#31303"
msgid "Data provider"
msgstr "Fornecedor de dados"
+msgctxt "#31309"
+msgid "System Memory Used:"
+msgstr "Memória do sistema utilizada:"
+
msgctxt "#31320"
msgid "Last Logged In"
msgstr "Última Ligação"
@@ -212,6 +216,14 @@ msgctxt "#31421"
msgid "Select your Kodi user Profile[CR]to login and continue"
msgstr "Escolha o seu perfil de utilizador do Kodi[CR]para iniciar sessão e continuar"
+msgctxt "#31548"
+msgid "Home menu"
+msgstr "Menu de Início"
+
+msgctxt "#31549"
+msgid "Home Add-ons"
+msgstr "Add-ons de Início"
+
msgctxt "#31550"
msgid "Backgrounds"
msgstr "Fundos"
diff --git a/addons/skin.estouchy/media/icon_button_shutdown.png b/addons/skin.estouchy/media/icon_button_shutdown.png
index 75c0014f7a..0fc018cf6f 100644
--- a/addons/skin.estouchy/media/icon_button_shutdown.png
+++ b/addons/skin.estouchy/media/icon_button_shutdown.png
Binary files differ
diff --git a/addons/skin.estouchy/xml/Home.xml b/addons/skin.estouchy/xml/Home.xml
index dd859733e1..971f04b64d 100644
--- a/addons/skin.estouchy/xml/Home.xml
+++ b/addons/skin.estouchy/xml/Home.xml
@@ -153,11 +153,10 @@
<orientation>Horizontal</orientation>
<itemlayout height="120" width="120">
<control type="image">
- <posx>20</posx>
- <posy>20</posy>
- <width>80</width>
- <height>80</height>
- <bordersize>12</bordersize>
+ <posx>32</posx>
+ <posy>32</posy>
+ <width>56</width>
+ <height>56</height>
<texture>$INFO[ListItem.Icon]</texture>
<aspectratio>keep</aspectratio>
</control>
@@ -171,11 +170,10 @@
<texture colordiffuse="blue">roundbutton-focus.png</texture>
</control>
<control type="image">
- <posx>20</posx>
- <posy>20</posy>
- <width>80</width>
- <height>80</height>
- <bordersize>12</bordersize>
+ <posx>32</posx>
+ <posy>32</posy>
+ <width>56</width>
+ <height>56</height>
<texture>$INFO[ListItem.Icon]</texture>
<aspectratio>keep</aspectratio>
</control>
diff --git a/addons/skin.estouchy/xml/Includes.xml b/addons/skin.estouchy/xml/Includes.xml
index 738b765b5a..c16c20bc42 100644
--- a/addons/skin.estouchy/xml/Includes.xml
+++ b/addons/skin.estouchy/xml/Includes.xml
@@ -310,7 +310,7 @@
<include>Window_OpenClose_Animation</include>
<posx>40r</posx>
<posy>120</posy>
- <visible>Control.IsVisible(60) + ![[Window.IsVisible(TVGuide) | Window.IsVisible(RadioGuide)] + Control.IsVisible(10)]</visible>
+ <visible>Control.IsVisible(60)</visible>
<animation effect="slide" start="40,0" end="0,0" time="400">Visible</animation>
<animation effect="slide" start="0,0" end="40,0" time="400">Hidden</animation>
<animation effect="slide" start="0,0" end="-7,0" time="0" condition="String.IsEqual(Skin.AspectRatio,4:3)">Conditional</animation>
diff --git a/addons/skin.estouchy/xml/ViewsPVR.xml b/addons/skin.estouchy/xml/ViewsPVR.xml
index 7a89c279a9..d3467d7067 100644
--- a/addons/skin.estouchy/xml/ViewsPVR.xml
+++ b/addons/skin.estouchy/xml/ViewsPVR.xml
@@ -182,11 +182,11 @@
<width>$PARAM[panel-width]</width>
<height>550</height>
<onleft>2</onleft>
- <onright>10</onright>
+ <onright>60</onright>
<onup>10</onup>
<ondown>10</ondown>
<viewtype label="19069">list</viewtype>
- <pagecontrol>10</pagecontrol>
+ <pagecontrol>60</pagecontrol>
<scrolltime>200</scrolltime>
<timeblocks>40</timeblocks>
<rulerunit>6</rulerunit>
diff --git a/addons/skin.estuary/addon.xml b/addons/skin.estuary/addon.xml
index 2f9fe2b0d3..656483a507 100644
--- a/addons/skin.estuary/addon.xml
+++ b/addons/skin.estuary/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon id="skin.estuary" version="1.9.9" name="Estuary" provider-name="phil65, Ichabod Fletchman">
+<addon id="skin.estuary" version="1.9.10" name="Estuary" provider-name="phil65, Ichabod Fletchman">
<requires>
<import addon="xbmc.gui" version="5.12.0"/>
</requires>
@@ -14,7 +14,7 @@
<summary lang="af_ZA">Estuary oortreksel deur phil65. (Kodi se bestek oortreksel)</summary>
<summary lang="bg_BG">Estuary облик от phil65 и Piers. (стандартния облик на Kodi)</summary>
<summary lang="ca_ES">Aparença Estuary per phil65 i Piers. (aparença predeterminada de Kodi)</summary>
- <summary lang="cs_CZ">Vzhled Estuary od autorů phil65 a Piers. (Výchozí vzhled Kodi)</summary>
+ <summary lang="cs_CZ">Vzhled Estuary od autora phil65. (Výchozí vzhled Kodi)</summary>
<summary lang="da_DK">Estuary skin. Lavet af phil65. (Kodi's standard brugerflade)</summary>
<summary lang="de_DE">Estuary Skin von phil65 und Piers. (Kodi Standardskin)</summary>
<summary lang="el_GR">Το κέλυφος Estuary από τον phil65 και τον Pier. (προεπιλεγμένο κέλυφος του Kodi)</summary>
@@ -48,7 +48,7 @@
<summary lang="sv_SE">Estuary-skin av phil65 och Piers. (Kodi's standard-skin)</summary>
<summary lang="szl">Skōra Estuary ôd phil65 i Piers. (Wychodnŏ skōra Kodi)</summary>
<summary lang="th_TH">สกิน Estuary โดย phil65 และ Piers (หน้าตาเริ่มต้นของKodi)</summary>
- <summary lang="tr_TR">Estuary dış görünümü. phil65 ve Piers (Kodi'nin varsayılan dış görünümü)</summary>
+ <summary lang="tr_TR">Estuary dış görünümü. phil65 (Kodi'nin varsayılan dış görünümü)</summary>
<summary lang="uk_UA">Обкладинка Estuary від phil65 і Piers. (стандартна обкладинка Kodi)</summary>
<summary lang="zh_CN">phil65 和 Piers 开发的 Estuary 皮肤(Kodi 的默认皮肤)</summary>
<summary lang="zh_TW">phil65與Piers 製作的Estuary佈景主題(Kodi的預設佈景主題)</summary>
diff --git a/addons/skin.estuary/language/resource.language.cs_cz/strings.po b/addons/skin.estuary/language/resource.language.cs_cz/strings.po
index 4465a2c788..e66a4282a8 100644
--- a/addons/skin.estuary/language/resource.language.cs_cz/strings.po
+++ b/addons/skin.estuary/language/resource.language.cs_cz/strings.po
@@ -110,7 +110,7 @@ msgstr "Typ zobrazení"
msgctxt "#31025"
msgid "No favourites found. You can add any item from media views to this list by using the context menu."
-msgstr "Nenalezeny žádné oblíbené. Jakoukoliv položku ze zobrazení médií můžete přidat na tento seznam pomocí místní nabídky."
+msgstr "Nenalezeny žádné oblíbené. Na tento seznam můžete přidat jakoukoliv položku ze zobrazení médií pomocí místní nabídky."
msgctxt "#31028"
msgid "Show fanart"
@@ -154,7 +154,7 @@ msgstr "Přetočit zpět"
msgctxt "#31039"
msgid "Fast forward"
-msgstr "Rychle vpřed"
+msgstr "Přetočit vpřed"
msgctxt "#31041"
msgid "Camera manufacturer"
@@ -334,7 +334,7 @@ msgstr "Sem zadejte text..."
msgctxt "#31104"
msgid "Your library is currently empty. In order to populate it with your personal media, enter \"Files\" section, add a media source and configure it. After the source has been added and indexed you will be able to browse your library."
-msgstr "Vaše knihovna je aktuálně prázdná. Abyste ji naplnili svými médii, vstupte do sekce „Soubory“, přidejte zdroj medií a nakonfigurujte ho. Poté, co bude zdroje přidán a zaindexován, budete moci procházet svou knihovnu."
+msgstr "Vaše knihovna je aktuálně prázdná. Abyste ji naplnili svými médii, vstupte do sekce „Soubory“, přidejte zdroj medií a nakonfigurujte ho. Poté, co bude zdroj přidán a zaindexován, budete moci procházet svou knihovnu."
msgctxt "#31105"
msgid "Add video sources and set the appropriate content type in order to populate your video libraries."
@@ -442,11 +442,11 @@ msgstr "min"
msgctxt "#31134"
msgid "Remaining"
-msgstr "Zbývající"
+msgstr "Zbývá"
msgctxt "#31136"
msgid "Click here to see latest changes..."
-msgstr "Klikněte zde pro zobrazení posledních změn..."
+msgstr "Klikněte sem pro zobrazení posledních změn..."
msgctxt "#31137"
msgid "PVR info"
@@ -474,7 +474,7 @@ msgstr "Rychlost přehrávání"
msgctxt "#31143"
msgid "You did not set up PVR yet. In order to use PVR, choose a PVR client addon and configure it. Please visit http://kodi.wiki/view/PVR to learn more."
-msgstr "Zatím jste nenastavili PVR. Abyste mohli používat PVR, zvolte doplněk klienta PVR nakonfigurujte jej. Pokud chcete zjistit více, navštivte http://kodi.wiki/view/PVR."
+msgstr "Zatím jste nenastavili PVR. Abyste mohli používat PVR, zvolte doplněk klienta PVR a nakonfigurujte jej. Pokud chcete zjistit více, navštivte http://kodi.wiki/view/PVR."
msgctxt "#31144"
msgid "Enter add-on browser"
diff --git a/addons/skin.estuary/language/resource.language.hr_hr/strings.po b/addons/skin.estuary/language/resource.language.hr_hr/strings.po
index f4b5743d3c..c457b21e38 100644
--- a/addons/skin.estuary/language/resource.language.hr_hr/strings.po
+++ b/addons/skin.estuary/language/resource.language.hr_hr/strings.po
@@ -22,11 +22,11 @@ msgstr "Trenutno se reproducira"
msgctxt "#31001"
msgid "Search..."
-msgstr "Traži..."
+msgstr "Pretaži..."
msgctxt "#31002"
msgid "Show media fanart as background"
-msgstr "Prikaži medija fanart kao pozadinu"
+msgstr "Prikaži poster obožavatelja medija kao pozadinu"
msgctxt "#31003"
msgid "Cinema mode"
@@ -70,7 +70,7 @@ msgstr "Naizmjenični izvođači"
msgctxt "#31014"
msgid "Unplayed albums"
-msgstr "Neslušani albumi"
+msgstr "Neodslušani albumi"
msgctxt "#31015"
msgid "Recent recordings"
@@ -110,19 +110,19 @@ msgstr "Vrsta prikaza"
msgctxt "#31025"
msgid "No favourites found. You can add any item from media views to this list by using the context menu."
-msgstr "Omiljeno nije pronađeno. Možete dodati bilo koju stavku iz medija na ovaj popis pomoću kontekstnog izbornika."
+msgstr "Omiljeno nije pronađeno. Možete dodati bilo koju stavku iz medija na ovaj popis pomoću sadržajnog izbornika."
msgctxt "#31028"
msgid "Show fanart"
-msgstr "Prikaži fanart"
+msgstr "Prikaži poster obožavatelja"
msgctxt "#31029"
msgid "Last logged in"
-msgstr "Posljednji put prijavljen"
+msgstr "Posljednji prijavljen"
msgctxt "#31030"
msgid "System memory usage"
-msgstr "Korištenje memorije sustava"
+msgstr "Korištenje memorije"
msgctxt "#31031"
msgid "Version info"
@@ -130,7 +130,7 @@ msgstr "Informacija inačice"
msgctxt "#31032"
msgid "Order"
-msgstr "Redoslijed"
+msgstr "Poredaj"
msgctxt "#31033"
msgid "Your rating"
@@ -146,7 +146,7 @@ msgstr "Stranice"
msgctxt "#31036"
msgid "items"
-msgstr "stavke"
+msgstr "stavka"
msgctxt "#31038"
msgid "Rewind"
@@ -166,7 +166,7 @@ msgstr "Mogućnosti popisa izvođenja"
msgctxt "#31043"
msgid "Set the type and add rules to create a smart playlist. These playlists are dynamic and include all media items from your database which apply to your chosen rules."
-msgstr "Postavite vrstu i dodajte pravila za stvaranje pametne liste izvođenja. Te liste izvođenje su dinamičke i sadrže sve medijske stavke koje odgovaraju postavljenim pravilima. "
+msgstr "Postavite vrstu i dodajte pravila za stvaranje pametnog popisa izvođenja. Ti popisi izvođenja su promjenjivi i sadrže sve medijske stavke iz vaše baze podataka koje odgovaraju odabranim pravilima. "
msgctxt "#31044"
msgid "Add group"
@@ -186,11 +186,11 @@ msgstr "Dostupno"
msgctxt "#31050"
msgid "Press [B]OK[/B] to stop"
-msgstr "Pritisni [B]OK[/B] za kraj"
+msgstr "Pritisni [B]U redu[/B] za završetak"
msgctxt "#31051"
msgid "Toggle language"
-msgstr "Prebaci jezik"
+msgstr "Odaberi podnaslov"
msgctxt "#31052"
msgid "filtered"
@@ -202,27 +202,27 @@ msgstr "Temeljen na Arialu "
msgctxt "#31054"
msgid "Press [B]Left[/B] to rewind, or [B]Right[/B] to fast-forward"
-msgstr "Pritisni [B]Lijevo[/B] za Premotavanje unazad, ili [B]Desno[/B] za Premotavanje unaprijed"
+msgstr "Pritisni [B]Lijevu strelicu[/B] za premotavanje unazad, ili [B]Desnu strelicu[/B] za premotavanje unaprijed"
msgctxt "#31056"
msgid "Go to playlist"
-msgstr "Idi na popis za reprodukciju"
+msgstr "Idi na popis izvođenja"
msgctxt "#31057"
msgid "Show login screen on startup"
-msgstr "Prikaži zaslon prijave prilikom pokretanja"
+msgstr "Prikaži zaslon prijave pri pokretanju"
msgctxt "#31058"
msgid "Automatic Login on startup"
-msgstr "Automatska prijava prilikom pokretanja"
+msgstr "Automatska prijava pri pokretanju"
msgctxt "#31061"
msgid "Main menu items"
-msgstr "Glavne stavke izbornika"
+msgstr "Glavni izbornik"
msgctxt "#31062"
msgid "Choose weather fanart pack"
-msgstr "Izaberite fanart paket za vrijeme"
+msgstr "Odaberi paket postera obožavatelja za vrijeme"
msgctxt "#31063"
msgid "Sections"
@@ -230,11 +230,11 @@ msgstr "Dio"
msgctxt "#31065"
msgid "Video playlist"
-msgstr "Video popis za reprodukciju"
+msgstr "Video popis izvođenja"
msgctxt "#31066"
msgid "Music playlist"
-msgstr "Glazbeni popis za reprodukciju"
+msgstr "Glazbeni popis izvođenja"
msgctxt "#31067"
msgid "Event log"
@@ -250,7 +250,7 @@ msgstr "Posljednja nadopuna"
msgctxt "#31071"
msgid "by"
-msgstr "po"
+msgstr "od"
msgctxt "#31072"
msgid "Power Options"
@@ -294,11 +294,11 @@ msgstr "Video izbornik"
msgctxt "#31093"
msgid "Show weather info in top bar"
-msgstr "Prikaži informacije o vremenu u gornjoj traci"
+msgstr "Prikaži informacije vremena u gornjoj traci"
msgctxt "#31095"
msgid "Use slide animations"
-msgstr "Koristi animacije"
+msgstr "Koristi klizne animacije"
msgctxt "#31096"
msgid "Local subtitle available"
@@ -314,11 +314,11 @@ msgstr "Odaberite svoj Kodi korisnički profil[CR]za prijavu i nastavak"
msgctxt "#31099"
msgid "IconWall"
-msgstr "Ikona zid"
+msgstr "Zid ikona"
msgctxt "#31100"
msgid "Shift"
-msgstr "Pomicanje"
+msgstr "Pomak"
msgctxt "#31101"
msgid "InfoWall"
@@ -330,15 +330,15 @@ msgstr "Zid"
msgctxt "#31103"
msgid "Enter text here..."
-msgstr "Unesite tekst ovdje..."
+msgstr "Upišite tekst ovdje..."
msgctxt "#31104"
msgid "Your library is currently empty. In order to populate it with your personal media, enter \"Files\" section, add a media source and configure it. After the source has been added and indexed you will be able to browse your library."
-msgstr "Vaša zbirka je trenutno prazna. Da bi ste ju popunili sa vašim osobnim medijima, uđite u \"datoteke\", dodajte izvor medija i konfigurirajte ga. Nakon što je izvor dodan i indeksiran biti ćete u mogućnosti pregledavati vašu zbirku"
+msgstr "Vaša zbirka je trenutno prazna. Kako biste ju popunili s vašim osobnim medijima, uđite u \"Datoteke\" odjeljak, dodajte izvor medija i prilagodite ga. Nakon što je izvor dodan i popisan biti ćete u mogućnosti pregledavati svoju zbirku."
msgctxt "#31105"
msgid "Add video sources and set the appropriate content type in order to populate your video libraries."
-msgstr "Dodajte video izvor i postavite odgovarajuću vrstu sadržaja kako biste popunili svoju video zbirku."
+msgstr "Dodajte video izvor i postavite odgovarajuću vrstu sadržaja kako biste popunili svoju videoteku."
msgctxt "#31106"
msgid "Teletext"
@@ -346,19 +346,19 @@ msgstr "Teletekst"
msgctxt "#31107"
msgid "WideList"
-msgstr "Široka lista"
+msgstr "Širok popis"
msgctxt "#31110"
msgid "Enter files section"
-msgstr "Uđite u datoteke"
+msgstr "Otvori odjeljak datoteka"
msgctxt "#31111"
msgid "View your personal pictures or download one of the many image add-ons from the official repository."
-msgstr "Pogledajte svoje osobne slike ili preuzmite jedan od mnogih slikovnih dodataka iz službenog repozitorija."
+msgstr "Gledajte svoje osobne slike ili preuzmite jedan od mnogih slikovnih dodataka iz službenog repozitorija."
msgctxt "#31112"
msgid "Toggle audio stream"
-msgstr "Prebaci audio stream"
+msgstr "Odaberi zvučni zapis"
msgctxt "#31113"
msgid "Search local library"
@@ -374,7 +374,7 @@ msgstr "Pretraži TheMovieDB"
msgctxt "#31116"
msgid "Remove this main menu item"
-msgstr "Ukloni ovu stavku iz glavnog izbornika"
+msgstr "Ukloni ovu stavku glavnog izbornika"
msgctxt "#31117"
msgid "Edit nodes"
@@ -382,19 +382,19 @@ msgstr "Uredi čvorišta"
msgctxt "#31118"
msgid "Enter add-on browser"
-msgstr "Pregled dodataka"
+msgstr "Otvori pregled dodataka"
msgctxt "#31119"
msgid "You do not have any add-ons installed yet. Visit our add-on browser to browse through our collection and improve your Kodi experience."
-msgstr "Nemate niti jedan dodatak instaliran. Posjetite i pregledajte našu kolekciju dodataka i poboljšajte vaše kodi iskustvo."
+msgstr "Nemate niti jedan dodatak instaliran. Posjetite naš preglednik dodataka kako bi pregledali našu kolekciju i poboljšali svoje iskustvo s Kodijem."
msgctxt "#31120"
msgid "You did not set up a weather provider yet. In order to view weather information, choose a weather provider and set up your location."
-msgstr "Još niste postavili pružatelja usluge o vremenu. Kako biste vidjeli informacije o vremenu, odaberite pružatelja usluge i konfigurirajte ga."
+msgstr "Još niste postavili pružatelja vremenske usluge. Kako biste vidjeli informacije o vremenu, odaberite pružatelja usluge i postavite svoju lokaciju."
msgctxt "#31121"
msgid "Set weather provider"
-msgstr "Postavi pružatelja vremenskih usluga"
+msgstr "Postavi pružatelja vremenske usluge"
msgctxt "#31122"
msgid "Unwatched TV Shows"
@@ -406,15 +406,15 @@ msgstr "Isti redatelj"
msgctxt "#31124"
msgid "Show images on map"
-msgstr "Prikaži slike ne karti"
+msgstr "Prikaži slike na karti"
msgctxt "#31125"
msgid "Press up for actor info"
-msgstr "Pritisni gore za informacije o glumcu"
+msgstr "Pritisni gornju strelicu za informacije o glumcu"
msgctxt "#31126"
msgid "Press OK to read plot"
-msgstr "Pritisni OK za čitanje zapleta"
+msgstr "Pritisni 'U redu' za čitanje kratkog sadržaja"
msgctxt "#31127"
msgid "Show icons"
@@ -426,15 +426,15 @@ msgstr "Suradnici"
msgctxt "#31129"
msgid "General settings applying to all areas of the skin."
-msgstr "Opče postavke koje se primjenjuju na sva područja presvlake"
+msgstr "Opće postavke koje se primjenjuju na sva područja presvlake."
msgctxt "#31130"
msgid "Main menu-related settings: Configure the home screen to your likings."
-msgstr "Postavke vezane za Glavni izbornik: Postavite početni zaslon kako vam odgovara"
+msgstr "Postavke glavnog izbornika: Prilagodite početni zaslon svojim potrebama."
msgctxt "#31131"
msgid "Choose skin fanart pack"
-msgstr "Izaberite fanart paket za presvlaku"
+msgstr "Odaberi paket postera obožavatelja za presvlaku"
msgctxt "#31132"
msgid "min"
@@ -446,7 +446,7 @@ msgstr "Preostalo"
msgctxt "#31136"
msgid "Click here to see latest changes..."
-msgstr "Pritisnite ovdje da bi vidjeli zadnje obavijesti..."
+msgstr "Pritisnite ovdje kako bi vidjeli najnovije promjene..."
msgctxt "#31137"
msgid "PVR info"
@@ -454,11 +454,11 @@ msgstr "PVR informacije"
msgctxt "#31138"
msgid "Player process info"
-msgstr "Informacije o izvođenju"
+msgstr "Informacije reproduktora"
msgctxt "#31139"
msgid "Video decoder"
-msgstr "Video dekoder"
+msgstr "Video dekôder"
msgctxt "#31140"
msgid "Pixel format"
@@ -466,19 +466,19 @@ msgstr "Format piksela"
msgctxt "#31141"
msgid "Changes for version"
-msgstr "Promjene za verziju"
+msgstr "Promjene u inačici"
msgctxt "#31142"
msgid "Play speed"
-msgstr "Brzina izvođenja"
+msgstr "Brzina reprodukcije"
msgctxt "#31143"
msgid "You did not set up PVR yet. In order to use PVR, choose a PVR client addon and configure it. Please visit http://kodi.wiki/view/PVR to learn more."
-msgstr "Još niste postavili PVR. Da biste koristili PVR, odaberite jedan od ponuđenih iz liste dodataka te ga konfigurirajte. Posjetite http://kodi.wiki/view/PVR kako bi saznali više."
+msgstr "Još niste postavili PVR. Kako biste koristili PVR, odaberite dodatak PVR klijenta i prilagodite ga. Posjetite http://kodi.wiki/view/PVR kako bi saznali više."
msgctxt "#31144"
msgid "Enter add-on browser"
-msgstr "Pregled dodataka"
+msgstr "Otvori pregled dodataka"
msgctxt "#31145"
msgid "Search add-ons"
@@ -490,7 +490,7 @@ msgstr "Kategorije"
msgctxt "#31149"
msgid "Select genre fanart pack"
-msgstr "Odaberite fanart paket za žanrove"
+msgstr "Odaberi paket postera obožavatelja za žanrove"
msgctxt "#31150"
msgid "Repository"
@@ -502,23 +502,23 @@ msgstr "Nepogledani glazbeni spotovi"
msgctxt "#31152"
msgid "Random music videos"
-msgstr "Nasumični glazbeni spotovi"
+msgstr "Naizmjenični glazbeni spotovi"
msgctxt "#31153"
msgid "You do not have any add-ons of this type installed. Enter the add-on browser to download add-ons created by our community."
-msgstr "Nemate niti jedan dodatak ove vrste instaliran. Uđite u preglednik dodataka kako biste preuzeli dodatke stvorene od strane naše zajednice."
+msgstr "Nemate niti jedan dodatak ove vrste instaliran. Otvorite preglednik dodataka kako biste preuzeli dodatke stvorene od strane naše zajednice."
msgctxt "#31154"
msgid "Press OK to switch between locations"
-msgstr "Pritisni OK za prebacivanje između lokacija"
+msgstr "Pritisni 'U redu' za prebacivanje između lokacija"
msgctxt "#31155"
msgid "No bookmarks created yet."
-msgstr "Zabilješke još nisu stvorene"
+msgstr "Još nema stvorenih zabilješka."
msgctxt "#31156"
msgid "Choose background pattern"
-msgstr "Odaberite pozadinski uzorak"
+msgstr "Odaberi uzorak pozadine"
msgctxt "#31157"
msgid "Edit categories"
@@ -534,7 +534,7 @@ msgstr "Ilustracije"
msgctxt "#31160"
msgid "Show media flags"
-msgstr "Prikaži medijske karakteristike"
+msgstr "Prikaži medijske oznake"
msgctxt "#31161"
msgid "Numeric pad"
diff --git a/addons/skin.estuary/language/resource.language.nl_nl/strings.po b/addons/skin.estuary/language/resource.language.nl_nl/strings.po
index 07206d3c20..4b4fd16610 100644
--- a/addons/skin.estuary/language/resource.language.nl_nl/strings.po
+++ b/addons/skin.estuary/language/resource.language.nl_nl/strings.po
@@ -120,6 +120,10 @@ msgctxt "#31029"
msgid "Last logged in"
msgstr "Laatst ingelogd op"
+msgctxt "#31030"
+msgid "System memory usage"
+msgstr "Systeem geheugen gebruik"
+
msgctxt "#31031"
msgid "Version info"
msgstr "Versie info"
@@ -308,6 +312,10 @@ msgctxt "#31098"
msgid "Select your Kodi user profile[CR]to login and continue"
msgstr "Selecteer jouw Kodi Gebruikersprofiel[CR]om in te loggen en door te gaan"
+msgctxt "#31099"
+msgid "IconWall"
+msgstr "iconenmuur"
+
msgctxt "#31100"
msgid "Shift"
msgstr "Scheiden"
@@ -475,3 +483,59 @@ msgstr "Ga naar add-on verkenner"
msgctxt "#31145"
msgid "Search add-ons"
msgstr "Zoek add-ons"
+
+msgctxt "#31148"
+msgid "Categories"
+msgstr "categoriën"
+
+msgctxt "#31149"
+msgid "Select genre fanart pack"
+msgstr "Selecteer genre Fanart pakket"
+
+msgctxt "#31150"
+msgid "Repository"
+msgstr "depot"
+
+msgctxt "#31151"
+msgid "Unwatched music videos"
+msgstr "Niet bekeken muziek video`s"
+
+msgctxt "#31152"
+msgid "Random music videos"
+msgstr "Willekeurige muziekvideo`s"
+
+msgctxt "#31153"
+msgid "You do not have any add-ons of this type installed. Enter the add-on browser to download add-ons created by our community."
+msgstr "U heeft nog geen enkele add-on van dit type geïnstalleerd. bezoek de add-on verkenner om add-ons te downloaden gecreëerd door onze community"
+
+msgctxt "#31154"
+msgid "Press OK to switch between locations"
+msgstr "Druk OK om de schakelen tussen locatie`s"
+
+msgctxt "#31155"
+msgid "No bookmarks created yet."
+msgstr "Nog geen bladwijzer gecreëerd "
+
+msgctxt "#31156"
+msgid "Choose background pattern"
+msgstr "Kies achtergrond patroon"
+
+msgctxt "#31157"
+msgid "Edit categories"
+msgstr "Aanpassen categorien "
+
+msgctxt "#31158"
+msgid "Touch mode"
+msgstr "Aanraak modus"
+
+msgctxt "#31159"
+msgid "Artwork"
+msgstr "Artwork"
+
+msgctxt "#31160"
+msgid "Show media flags"
+msgstr "Toon media vlaggen"
+
+msgctxt "#31161"
+msgid "Numeric pad"
+msgstr "Numeriek pad"
diff --git a/addons/skin.estuary/language/resource.language.pt_pt/strings.po b/addons/skin.estuary/language/resource.language.pt_pt/strings.po
index b26bd699eb..3a961e5827 100644
--- a/addons/skin.estuary/language/resource.language.pt_pt/strings.po
+++ b/addons/skin.estuary/language/resource.language.pt_pt/strings.po
@@ -120,6 +120,10 @@ msgctxt "#31029"
msgid "Last logged in"
msgstr "Última vez ligado"
+msgctxt "#31030"
+msgid "System memory usage"
+msgstr "Utilização da memória do sistema"
+
msgctxt "#31031"
msgid "Version info"
msgstr "Info da versão"
@@ -440,6 +444,10 @@ msgctxt "#31139"
msgid "Video decoder"
msgstr "Descodificador de vídeo"
+msgctxt "#31140"
+msgid "Pixel format"
+msgstr "Formato de píxel"
+
msgctxt "#31141"
msgid "Changes for version"
msgstr "Alterações da versão"
@@ -455,3 +463,35 @@ msgstr "Entrar no navegador de add-ons"
msgctxt "#31145"
msgid "Search add-ons"
msgstr "Pesquisar add-ons"
+
+msgctxt "#31148"
+msgid "Categories"
+msgstr "Categorias"
+
+msgctxt "#31150"
+msgid "Repository"
+msgstr "Repositório"
+
+msgctxt "#31151"
+msgid "Unwatched music videos"
+msgstr "Vídeos de música não vistos"
+
+msgctxt "#31152"
+msgid "Random music videos"
+msgstr "Vídeos de música aleatórios"
+
+msgctxt "#31155"
+msgid "No bookmarks created yet."
+msgstr "Ainda não foram criados marcadores."
+
+msgctxt "#31156"
+msgid "Choose background pattern"
+msgstr "Escolha o modelo de fundo"
+
+msgctxt "#31157"
+msgid "Edit categories"
+msgstr "Editar categorias"
+
+msgctxt "#31158"
+msgid "Touch mode"
+msgstr "Modo de toque"
diff --git a/addons/skin.estuary/language/resource.language.sv_se/strings.po b/addons/skin.estuary/language/resource.language.sv_se/strings.po
index 3650d68b09..cec310ffca 100644
--- a/addons/skin.estuary/language/resource.language.sv_se/strings.po
+++ b/addons/skin.estuary/language/resource.language.sv_se/strings.po
@@ -42,7 +42,7 @@ msgstr "Se i 2D"
msgctxt "#31006"
msgid "Random movies"
-msgstr "Slumpmässiga filmer"
+msgstr "Slumpvis urvalda filmer"
msgctxt "#31007"
msgid "Unwatched movies"
@@ -62,11 +62,11 @@ msgstr "Mest spelade album"
msgctxt "#31012"
msgid "Random albums"
-msgstr "Slumpmässiga album"
+msgstr "Slumpvis urvalda album"
msgctxt "#31013"
msgid "Random artists"
-msgstr "Slumpmässiga artister"
+msgstr "Slumpvis urvalda artister"
msgctxt "#31014"
msgid "Unplayed albums"
@@ -222,7 +222,7 @@ msgstr "Huvudmeny objekt"
msgctxt "#31062"
msgid "Choose weather fanart pack"
-msgstr "Välj fanart för väder"
+msgstr "Välj väder-fanart paket"
msgctxt "#31063"
msgid "Sections"
@@ -238,7 +238,7 @@ msgstr "Spellista för musik"
msgctxt "#31067"
msgid "Event log"
-msgstr "Händelselogg"
+msgstr "Eventlogg"
msgctxt "#31068"
msgid "Choose presets"
@@ -258,7 +258,7 @@ msgstr "Energialternativ"
msgctxt "#31075"
msgid "Movie sets"
-msgstr "Filmsamling"
+msgstr "Filmsamlingar"
msgctxt "#31079"
msgid "Cast not available"
@@ -398,7 +398,7 @@ msgstr "Ställ in väderleksleverantör"
msgctxt "#31122"
msgid "Unwatched TV Shows"
-msgstr "O-sedda TV-program"
+msgstr "Osedda TV-program"
msgctxt "#31123"
msgid "Same director"
@@ -502,7 +502,7 @@ msgstr "Osedda musikvideor"
msgctxt "#31152"
msgid "Random music videos"
-msgstr "Slumpvis musikvideor"
+msgstr "Slumpvis urvalda musikvideor"
msgctxt "#31153"
msgid "You do not have any add-ons of this type installed. Enter the add-on browser to download add-ons created by our community."
diff --git a/addons/skin.estuary/xml/Home.xml b/addons/skin.estuary/xml/Home.xml
index 3159d2c528..16187ccbdd 100644
--- a/addons/skin.estuary/xml/Home.xml
+++ b/addons/skin.estuary/xml/Home.xml
@@ -541,7 +541,7 @@
<texture border="21">dialogs/dialog-bg.png</texture>
</control>
<control type="label">
- <left>300</left>
+ <left>840</left>
<top>60</top>
<aligny>center</aligny>
<height>24</height>
@@ -551,7 +551,7 @@
<label>$INFO[Weather.Location]</label>
</control>
<control type="label">
- <left>300</left>
+ <left>840</left>
<top>120</top>
<aligny>center</aligny>
<height>24</height>
diff --git a/addons/skin.estuary/xml/MusicOSD.xml b/addons/skin.estuary/xml/MusicOSD.xml
index 73dee702a8..bf74ff7212 100644
--- a/addons/skin.estuary/xml/MusicOSD.xml
+++ b/addons/skin.estuary/xml/MusicOSD.xml
@@ -173,7 +173,8 @@
</control>
</control>
<control type="group">
- <top>960</top>
+ <bottom>0</bottom>
+ <height>120</height>
<animation effect="fade" start="0" end="100" time="250">WindowOpen</animation>
<animation effect="fade" start="100" end="0" time="250">WindowClose</animation>
<control type="button" id="87">
diff --git a/addons/skin.estuary/xml/View_51_Poster.xml b/addons/skin.estuary/xml/View_51_Poster.xml
index 25ffb6008f..3fb4209334 100644
--- a/addons/skin.estuary/xml/View_51_Poster.xml
+++ b/addons/skin.estuary/xml/View_51_Poster.xml
@@ -112,6 +112,7 @@
<autoscroll time="3000" delay="7000" repeat="5000">!System.HasModalDialog + Skin.HasSetting(AutoScroll)</autoscroll>
<label>$INFO[ListItem.Plot]</label>
<shadowcolor>text_shadow</shadowcolor>
+ <visible>!ListItem.IsCollection</visible>
</control>
</control>
</control>
diff --git a/addons/webinterface.default/addon.xml b/addons/webinterface.default/addon.xml
index 4d32cb9c0e..92d927bd33 100644
--- a/addons/webinterface.default/addon.xml
+++ b/addons/webinterface.default/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon
id="webinterface.default"
- version="2.3.9"
+ version="2.4.1"
name="Kodi web interface - Chorus2"
provider-name="jez500, Team Kodi">
<requires>
@@ -9,67 +9,12 @@
</requires>
<extension point="xbmc.webinterface"/>
<extension point="xbmc.addon.metadata">
- <summary lang="af_ZA">Kodi web koppelvlak - Chorus2</summary>
- <summary lang="ca_ES">Interfície web de Kodi - Chorus2</summary>
- <summary lang="da_DK">Kodi webinterface - Chorus2</summary>
- <summary lang="de_DE">Kodi Webinterface - Chorus2</summary>
- <summary lang="el_GR">Διασύνδεση ιστού Kodi - Chorus2</summary>
- <summary lang="en_GB">Kodi web interface - Chorus2</summary>
- <summary lang="en_NZ">Kodi web interface - Chorus2</summary>
- <summary lang="es_AR">Interfaz web Kodi - Chorus2</summary>
- <summary lang="es_ES">Interfaz web Kodi - Coro2</summary>
- <summary lang="es_MX">Interface web Kodi - Chorus2</summary>
- <summary lang="fi_FI">Kodin web-käyttöliittymä - Chorus2</summary>
- <summary lang="fr_CA">Interface Web de Kodi - Chorus2</summary>
- <summary lang="fr_FR">Interface Web Kodi - Chorus2</summary>
- <summary lang="gl_ES">Interface web do Kodi - Chorus2</summary>
- <summary lang="hr_HR">Kodi web sučelje - Chorus2</summary>
- <summary lang="it_IT">Interfaccia web Kodi - Chorus2</summary>
- <summary lang="lt_LT">Kodi žiniatinklio sąsaja - Chorus2</summary>
- <summary lang="ms_MY">Antaramuka sesawang Kodi - Chorus2</summary>
- <summary lang="nb_NO">Kodi web brukergrensesnitt - Chorus2</summary>
- <summary lang="nl_NL">Kodi web interface - Chorus2</summary>
- <summary lang="pl_PL">Chorus2</summary>
- <summary lang="pt_BR">Kodi Interface web - Chorus2</summary>
- <summary lang="sk_SK">Webové rozhranie Kodi - Chorus2</summary>
- <summary lang="sr_RS">Kodi web интерфејс - Chorus2</summary>
- <summary lang="sr_RS@latin">Kodi web interfejs - Chorus2</summary>
- <summary lang="sv_SE">Kodi webbgränssnitt - Chorus2</summary>
- <summary lang="tr_TR">Kodi web arayüzü - Chorus2</summary>
- <summary lang="zh_CN">Kodi Web 界面 - Chorus2</summary>
- <summary lang="zh_TW">Kodi網頁介面 - Chorus2</summary>
- <description lang="af_ZA">Bestek Kodi web koppelvlak. Blaai en het interaksie met jou Musiek, Flieks, TV Vertonings en meer via a web blaaier.</description>
- <description lang="ca_ES">La interfície web predeterminada de Kodi. Navegueu i interactueu amb la vostra música, les vostres pel·lícules, els vostres programes de televisió i més coses a través d'un navegador web.</description>
- <description lang="da_DK">Kodi's standard webinterface. Gennemse and interager med din musik, film, TV-shows og mere via en webbrowser</description>
- <description lang="de_DE">Standard Kodi Webinterface, Durchsuche und Interagiere mit deiner Musik, deinen Filmen, Serien und mehr über deinen Web-Browser</description>
- <description lang="el_GR">Προεπιλεγμένη διασύνδεση ιστού του Kodi. Περιηγηθείτε σε Μουσική, Ταινίες, Σειρές και άλλα από τον περιηγητή.</description>
- <description lang="en_GB">Default Kodi web interface. Browse and interact with your Music, Movies, TV Shows and more via a web browser.</description>
- <description lang="en_NZ">Default Kodi web interface. Browse and interact with your Music, Movies, TV Shows and more via a web browser.</description>
- <description lang="es_AR">Web interface Kodi por defecto. Navegue e interactue con su música, películs, shows de TV y más vía un browser Web.</description>
- <description lang="es_ES">Interfaz web por defecto de Kodi. Busca e interactúa con tu Música, Películas Series y más a través del navegador</description>
- <description lang="es_MX">interface web Kodi Predeterminado. Navega e interactúa con tu música, películas, programas de televisión y mucho más a través de un navegador web.</description>
- <description lang="fi_FI">Kodin oletusarvoinen web-käyttöliittymä. Selaa ja toista musiikkia, elokuvia, tv-sarjoja ynnä muuta nettiselaimen kautta.</description>
- <description lang="fr_CA">L'interface Web par défaut de Kodi. Parcourez et interagissez avec votre musique, vos films, vos émissions télé et plus par le biais d'un navigateur Web.</description>
- <description lang="fr_FR">Interface Web par défaut de Kodi. Parcourir et interagir avec votre Musique, vos Films, vos Séries TV et plus encore avec votre nagivateur Web.</description>
- <description lang="hr_HR">Zadano kodi web sučelje. Istraži svoju Glazbu, Filmove, TV serije i još mnogo toga putem web preglednika</description>
- <description lang="it_IT">Interfaccia web predefinita di Kodi. Sfoglia e interagisci con la tua Musica, i tuoi Film, Serie TV e altro tramite un browser web.</description>
- <description lang="lt_LT">Numatytoji Kodi žiniatinklio sąsaja. Naršykite ir valdykite savo muziką, filmus, TV laidas ir dar daugiau naudodami interneto naršyklę.</description>
- <description lang="ms_MY">Antarmuka sesawang Kodi lalai. Layar dan berinteraksi dengan Muzik, Cereka, Rancangan TV dan banyak lagi melalui pelayar sesawang.</description>
- <description lang="nb_NO">Standard Kodi web brukergrensesnitt. Se og interager med dine Musikk, Filmer, TV Serier og mye mer via web browseren din.</description>
- <description lang="nl_NL">Standaard Kodi web interface. Blader en bedien je muziek, films, series en meer van een webbrowser.</description>
- <description lang="pl_PL">Domyślny interfejs webowy Kodi.</description>
- <description lang="pt_BR">Interface web padrão do Kodi. Navegue e interaja com suas músicas, files, seriados e muito mais via um navegador de internet.</description>
- <description lang="sk_SK">Predvolené webové rozhranie Kodi. Prehliadajte a ovládajte vašu hudbu, filmy, seriály a mnoho ďaľšieho cez webový prehliadač.</description>
- <description lang="sr_RS">Подразумевани Kodi web интерфејс. Потражите и интерагујте са вашом Музиком, Филмовима, ТВ Серијама и више путем web претраживача.</description>
- <description lang="sr_RS@latin">Podrazumevani Kodi web interfejs. Potražite i interagujte sa vašom Muzikom, Filmovima, TV Serijama i više putem web pretraživača.</description>
- <description lang="sv_SE">Standard Kodi webbgränssnitt. Bläddra och interagera med din Musik, Filmer, TV-serier och mycket mer via en webbläsare.</description>
- <description lang="tr_TR">Varsayılan Kodi web arayüzü. İnternet tarayıcısı üzerinden Müzik, Film ve Dizilerinize göz atın.</description>
- <description lang="zh_CN">默认 Kodi Web 界面。通过浏览器浏览和播放音乐、电影、剧集等。</description>
- <description lang="zh_TW">預設的Kodi網頁介面。可在網頁瀏覽器中瀏覽及播放您的音樂、影片、電視劇等內容。</description>
- <language>en</language>
+ <summary lang="en">Default web interface</summary>
+ <description lang="en">Browse and interact with your Music, Movies, TV Shows and more via a web browser. Stream music and videos to your browser. Edit and manage your Kodi media library.</description>
<platform>all</platform>
- <forum>http://forum.xbmc.org/showthread.php?tid=183451</forum>
+ <language>en</language>
<source>https://github.com/xbmc/chorus2</source>
+ <forum>http://forum.xbmc.org/showthread.php?tid=183451</forum>
<assets>
<icon>icon.png</icon>
<fanart>images/turntable.jpg</fanart>
@@ -81,6 +26,7 @@
<screenshot>screenshots/movie.jpg</screenshot>
<screenshot>screenshots/settings.jpg</screenshot>
<screenshot>screenshots/addons.jpg</screenshot>
+ <screenshot>screenshots/edit-media.jpg</screenshot>
</assets>
</extension>
</addon>
diff --git a/addons/webinterface.default/js/kodi-webinterface.js b/addons/webinterface.default/js/kodi-webinterface.js
index 2f1cff481c..cdf530f38e 100644
--- a/addons/webinterface.default/js/kodi-webinterface.js
+++ b/addons/webinterface.default/js/kodi-webinterface.js
@@ -1,19 +1,21 @@
-/*! Chorus 2 - A web interface for Kodi. Created by Jeremy Graham - built on 10-12-2016 */
+/*! Chorus 2 - A web interface for Kodi. Created by Jeremy Graham - built on 15-01-2017 */
!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=ea.type(a);return"function"===c||ea.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(ea.isFunction(b))return ea.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return ea.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ma.test(b))return ea.filter(b,a,c);b=ea.filter(b,a)}return ea.grep(a,function(a){return ea.inArray(a,b)>=0!==c})}function e(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function f(a){var b=ua[a]={};return ea.each(a.match(ta)||[],function(a,c){b[c]=!0}),b}function g(){oa.addEventListener?(oa.removeEventListener("DOMContentLoaded",h,!1),a.removeEventListener("load",h,!1)):(oa.detachEvent("onreadystatechange",h),a.detachEvent("onload",h))}function h(){(oa.addEventListener||"load"===event.type||"complete"===oa.readyState)&&(g(),ea.ready())}function i(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(za,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:ya.test(c)?ea.parseJSON(c):c}catch(e){}ea.data(a,b,c)}else c=void 0}return c}function j(a){var b;for(b in a)if(("data"!==b||!ea.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function k(a,b,c,d){if(ea.acceptData(a)){var e,f,g=ea.expando,h=a.nodeType,i=h?ea.cache:a,j=h?a[g]:a[g]&&g;if(j&&i[j]&&(d||i[j].data)||void 0!==c||"string"!=typeof b)return j||(j=h?a[g]=W.pop()||ea.guid++:g),i[j]||(i[j]=h?{}:{toJSON:ea.noop}),("object"==typeof b||"function"==typeof b)&&(d?i[j]=ea.extend(i[j],b):i[j].data=ea.extend(i[j].data,b)),f=i[j],d||(f.data||(f.data={}),f=f.data),void 0!==c&&(f[ea.camelCase(b)]=c),"string"==typeof b?(e=f[b],null==e&&(e=f[ea.camelCase(b)])):e=f,e}}function l(a,b,c){if(ea.acceptData(a)){var d,e,f=a.nodeType,g=f?ea.cache:a,h=f?a[ea.expando]:ea.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){ea.isArray(b)?b=b.concat(ea.map(b,ea.camelCase)):b in d?b=[b]:(b=ea.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;for(;e--;)delete d[b[e]];if(c?!j(d):!ea.isEmptyObject(d))return}(c||(delete g[h].data,j(g[h])))&&(f?ea.cleanData([a],!0):ca.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}function m(){return!0}function n(){return!1}function o(){try{return oa.activeElement}catch(a){}}function p(a){var b=Ka.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function q(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==xa?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==xa?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||ea.nodeName(d,b)?f.push(d):ea.merge(f,q(d,b));return void 0===b||b&&ea.nodeName(a,b)?ea.merge([a],f):f}function r(a){Ea.test(a.type)&&(a.defaultChecked=a.checked)}function s(a,b){return ea.nodeName(a,"table")&&ea.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function t(a){return a.type=(null!==ea.find.attr(a,"type"))+"/"+a.type,a}function u(a){var b=Va.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function v(a,b){for(var c,d=0;null!=(c=a[d]);d++)ea._data(c,"globalEval",!b||ea._data(b[d],"globalEval"))}function w(a,b){if(1===b.nodeType&&ea.hasData(a)){var c,d,e,f=ea._data(a),g=ea._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)ea.event.add(b,c,h[c][d])}g.data&&(g.data=ea.extend({},g.data))}}function x(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!ca.noCloneEvent&&b[ea.expando]){e=ea._data(b);for(d in e.events)ea.removeEvent(b,d,e.handle);b.removeAttribute(ea.expando)}"script"===c&&b.text!==a.text?(t(b).text=a.text,u(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),ca.html5Clone&&a.innerHTML&&!ea.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Ea.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function y(b,c){var d,e=ea(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:ea.css(e[0],"display");return e.detach(),f}function z(a){var b=oa,c=_a[a];return c||(c=y(a,b),"none"!==c&&c||($a=($a||ea("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=($a[0].contentWindow||$a[0].contentDocument).document,b.write(),b.close(),c=y(a,b),$a.detach()),_a[a]=c),c}function A(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}function B(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=mb.length;e--;)if(b=mb[e]+c,b in a)return b;return d}function C(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=ea._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&Ca(d)&&(f[g]=ea._data(d,"olddisplay",z(d.nodeName)))):(e=Ca(d),(c&&"none"!==c||!e)&&ea._data(d,"olddisplay",e?c:ea.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function D(a,b,c){var d=ib.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function E(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=ea.css(a,c+Ba[f],!0,e)),d?("content"===c&&(g-=ea.css(a,"padding"+Ba[f],!0,e)),"margin"!==c&&(g-=ea.css(a,"border"+Ba[f]+"Width",!0,e))):(g+=ea.css(a,"padding"+Ba[f],!0,e),"padding"!==c&&(g+=ea.css(a,"border"+Ba[f]+"Width",!0,e)));return g}function F(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=ab(a),g=ca.boxSizing&&"border-box"===ea.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=bb(a,b,f),(0>e||null==e)&&(e=a.style[b]),db.test(e))return e;d=g&&(ca.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+E(a,b,c||(g?"border":"content"),d,f)+"px"}function G(a,b,c,d,e){return new G.prototype.init(a,b,c,d,e)}function H(){return setTimeout(function(){nb=void 0}),nb=ea.now()}function I(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=Ba[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function J(a,b,c){for(var d,e=(tb[b]||[]).concat(tb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function K(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},n=a.style,o=a.nodeType&&Ca(a),p=ea._data(a,"fxshow");c.queue||(h=ea._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,ea.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[n.overflow,n.overflowX,n.overflowY],j=ea.css(a,"display"),k="none"===j?ea._data(a,"olddisplay")||z(a.nodeName):j,"inline"===k&&"none"===ea.css(a,"float")&&(ca.inlineBlockNeedsLayout&&"inline"!==z(a.nodeName)?n.zoom=1:n.display="inline-block")),c.overflow&&(n.overflow="hidden",ca.shrinkWrapBlocks()||l.always(function(){n.overflow=c.overflow[0],n.overflowX=c.overflow[1],n.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],pb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(o?"hide":"show")){if("show"!==e||!p||void 0===p[d])continue;o=!0}m[d]=p&&p[d]||ea.style(a,d)}else j=void 0;if(ea.isEmptyObject(m))"inline"===("none"===j?z(a.nodeName):j)&&(n.display=j);else{p?"hidden"in p&&(o=p.hidden):p=ea._data(a,"fxshow",{}),f&&(p.hidden=!o),o?ea(a).show():l.done(function(){ea(a).hide()}),l.done(function(){var b;ea._removeData(a,"fxshow");for(b in m)ea.style(a,b,m[b])});for(d in m)g=J(o?p[d]:0,d,l),d in p||(p[d]=g.start,o&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function L(a,b){var c,d,e,f,g;for(c in a)if(d=ea.camelCase(c),e=b[d],f=a[c],ea.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=ea.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function M(a,b,c){var d,e,f=0,g=sb.length,h=ea.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=nb||H(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:ea.extend({},b),opts:ea.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:nb||H(),duration:c.duration,tweens:[],createTween:function(b,c){var d=ea.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(L(k,j.opts.specialEasing);g>f;f++)if(d=sb[f].call(j,a,k,j.opts))return d;return ea.map(k,J,j),ea.isFunction(j.opts.start)&&j.opts.start.call(a,j),ea.fx.timer(ea.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function N(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(ta)||[];if(ea.isFunction(c))for(;d=f[e++];)"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function O(a,b,c,d){function e(h){var i;return f[h]=!0,ea.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||g||f[j]?g?!(i=j):void 0:(b.dataTypes.unshift(j),e(j),!1)}),i}var f={},g=a===Rb;return e(b.dataTypes[0])||!f["*"]&&e("*")}function P(a,b){var c,d,e=ea.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&ea.extend(!0,a,c),a}function Q(a,b,c){for(var d,e,f,g,h=a.contents,i=a.dataTypes;"*"===i[0];)i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function R(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];for(f=k.shift();f;)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}function S(a,b,c,d){var e;if(ea.isArray(b))ea.each(b,function(b,e){c||Vb.test(a)?d(a,e):S(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==ea.type(b))d(a,b);else for(e in b)S(a+"["+e+"]",b[e],c,d)}function T(){try{return new a.XMLHttpRequest}catch(b){}}function U(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function V(a){return ea.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}var W=[],X=W.slice,Y=W.concat,Z=W.push,$=W.indexOf,_={},aa=_.toString,ba=_.hasOwnProperty,ca={},da="1.11.1",ea=function(a,b){return new ea.fn.init(a,b)},fa=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ga=/^-ms-/,ha=/-([\da-z])/gi,ia=function(a,b){return b.toUpperCase()};ea.fn=ea.prototype={jquery:da,constructor:ea,selector:"",length:0,toArray:function(){return X.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:X.call(this)},pushStack:function(a){var b=ea.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return ea.each(this,a,b)},map:function(a){return this.pushStack(ea.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(X.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:Z,sort:W.sort,splice:W.splice},ea.extend=ea.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||ea.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(ea.isPlainObject(c)||(b=ea.isArray(c)))?(b?(b=!1,f=a&&ea.isArray(a)?a:[]):f=a&&ea.isPlainObject(a)?a:{},g[d]=ea.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},ea.extend({expando:"jQuery"+(da+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===ea.type(a)},isArray:Array.isArray||function(a){return"array"===ea.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!ea.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==ea.type(a)||a.nodeType||ea.isWindow(a))return!1;try{if(a.constructor&&!ba.call(a,"constructor")&&!ba.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(ca.ownLast)for(b in a)return ba.call(a,b);for(b in a);return void 0===b||ba.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?_[aa.call(a)]||"object":typeof a},globalEval:function(b){b&&ea.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(ga,"ms-").replace(ha,ia)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,d){var e,f=0,g=a.length,h=c(a);if(d){if(h)for(;g>f&&(e=b.apply(a[f],d),e!==!1);f++);else for(f in a)if(e=b.apply(a[f],d),e===!1)break}else if(h)for(;g>f&&(e=b.call(a[f],f,a[f]),e!==!1);f++);else for(f in a)if(e=b.call(a[f],f,a[f]),e===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(fa,"")},makeArray:function(a,b){var d=b||[];return null!=a&&(c(Object(a))?ea.merge(d,"string"==typeof a?[a]:a):Z.call(d,a)),d},inArray:function(a,b,c){var d;if(b){if($)return $.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;)a[e++]=b[d++];if(c!==c)for(;void 0!==b[d];)a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,d){var e,f=0,g=a.length,h=c(a),i=[];if(h)for(;g>f;f++)e=b(a[f],f,d),null!=e&&i.push(e);else for(f in a)e=b(a[f],f,d),null!=e&&i.push(e);return Y.apply([],i)},guid:1,proxy:function(a,b){var c,d,e;return"string"==typeof b&&(e=a[b],b=a,a=e),ea.isFunction(a)?(c=X.call(arguments,2),d=function(){return a.apply(b||this,c.concat(X.call(arguments)))},d.guid=a.guid=a.guid||ea.guid++,d):void 0},now:function(){return+new Date},support:ca}),ea.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){_["[object "+b+"]"]=b.toLowerCase()});var ja=function(a){function b(a,b,c,d){var e,f,g,h,i,j,l,n,o,p;if((b?b.ownerDocument||b:O)!==G&&F(b),b=b||G,c=c||[],!a||"string"!=typeof a)return c;if(1!==(h=b.nodeType)&&9!==h)return[];if(I&&!d){if(e=sa.exec(a))if(g=e[1]){if(9===h){if(f=b.getElementById(g),!f||!f.parentNode)return c;if(f.id===g)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(g))&&M(b,f)&&f.id===g)return c.push(f),c}else{if(e[2])return _.apply(c,b.getElementsByTagName(a)),c;if((g=e[3])&&v.getElementsByClassName&&b.getElementsByClassName)return _.apply(c,b.getElementsByClassName(g)),c}if(v.qsa&&(!J||!J.test(a))){if(n=l=N,o=b,p=9===h&&a,1===h&&"object"!==b.nodeName.toLowerCase()){for(j=z(a),(l=b.getAttribute("id"))?n=l.replace(ua,"\\$&"):b.setAttribute("id",n),n="[id='"+n+"'] ",i=j.length;i--;)j[i]=n+m(j[i]);o=ta.test(a)&&k(b.parentNode)||b,p=j.join(",")}if(p)try{return _.apply(c,o.querySelectorAll(p)),c}catch(q){}finally{l||b.removeAttribute("id")}}}return B(a.replace(ia,"$1"),b,c,d)}function c(){function a(c,d){return b.push(c+" ")>w.cacheLength&&delete a[b.shift()],a[c+" "]=d}var b=[];return a}function d(a){return a[N]=!0,a}function e(a){var b=G.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function f(a,b){for(var c=a.split("|"),d=a.length;d--;)w.attrHandle[c[d]]=b}function g(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||W)-(~a.sourceIndex||W);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function h(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function i(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function j(a){return d(function(b){return b=+b,d(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function k(a){return a&&typeof a.getElementsByTagName!==V&&a}function l(){}function m(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function n(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[P,f];if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e){if(i=b[N]||(b[N]={}),(h=i[d])&&h[0]===P&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function o(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function p(a,c,d){for(var e=0,f=c.length;f>e;e++)b(a,c[e],d);return d}function q(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function r(a,b,c,e,f,g){return e&&!e[N]&&(e=r(e)),f&&!f[N]&&(f=r(f,g)),d(function(d,g,h,i){var j,k,l,m=[],n=[],o=g.length,r=d||p(b||"*",h.nodeType?[h]:h,[]),s=!a||!d&&b?r:q(r,m,a,h,i),t=c?f||(d?a:o||e)?[]:g:s;if(c&&c(s,t,h,i),e)for(j=q(t,n),e(j,[],h,i),k=j.length;k--;)(l=j[k])&&(t[n[k]]=!(s[n[k]]=l));if(d){if(f||a){if(f){for(j=[],k=t.length;k--;)(l=t[k])&&j.push(s[k]=l);f(null,t=[],j,i)}for(k=t.length;k--;)(l=t[k])&&(j=f?ba.call(d,l):m[k])>-1&&(d[j]=!(g[j]=l))}}else t=q(t===g?t.splice(o,t.length):t),f?f(null,g,t,i):_.apply(g,t)})}function s(a){for(var b,c,d,e=a.length,f=w.relative[a[0].type],g=f||w.relative[" "],h=f?1:0,i=n(function(a){return a===b},g,!0),j=n(function(a){return ba.call(b,a)>-1},g,!0),k=[function(a,c,d){return!f&&(d||c!==C)||((b=c).nodeType?i(a,c,d):j(a,c,d))}];e>h;h++)if(c=w.relative[a[h].type])k=[n(o(k),c)];else{if(c=w.filter[a[h].type].apply(null,a[h].matches),c[N]){for(d=++h;e>d&&!w.relative[a[d].type];d++);return r(h>1&&o(k),h>1&&m(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(ia,"$1"),c,d>h&&s(a.slice(h,d)),e>d&&s(a=a.slice(d)),e>d&&m(a))}k.push(c)}return o(k)}function t(a,c){var e=c.length>0,f=a.length>0,g=function(d,g,h,i,j){var k,l,m,n=0,o="0",p=d&&[],r=[],s=C,t=d||f&&w.find.TAG("*",j),u=P+=null==s?1:Math.random()||.1,v=t.length;for(j&&(C=g!==G&&g);o!==v&&null!=(k=t[o]);o++){if(f&&k){for(l=0;m=a[l++];)if(m(k,g,h)){i.push(k);break}j&&(P=u)}e&&((k=!m&&k)&&n--,d&&p.push(k))}if(n+=o,e&&o!==n){for(l=0;m=c[l++];)m(p,r,g,h);if(d){if(n>0)for(;o--;)p[o]||r[o]||(r[o]=Z.call(i));r=q(r)}_.apply(i,r),j&&!d&&r.length>0&&n+c.length>1&&b.uniqueSort(i)}return j&&(P=u,C=s),p};return e?d(g):g}var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+-new Date,O=a.document,P=0,Q=0,R=c(),S=c(),T=c(),U=function(a,b){return a===b&&(E=!0),0},V="undefined",W=1<<31,X={}.hasOwnProperty,Y=[],Z=Y.pop,$=Y.push,_=Y.push,aa=Y.slice,ba=Y.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},ca="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",da="[\\x20\\t\\r\\n\\f]",ea="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",fa=ea.replace("w","w#"),ga="\\["+da+"*("+ea+")(?:"+da+"*([*^$|!~]?=)"+da+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+fa+"))|)"+da+"*\\]",ha=":("+ea+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ga+")*)|.*)\\)|)",ia=new RegExp("^"+da+"+|((?:^|[^\\\\])(?:\\\\.)*)"+da+"+$","g"),ja=new RegExp("^"+da+"*,"+da+"*"),ka=new RegExp("^"+da+"*([>+~]|"+da+")"+da+"*"),la=new RegExp("="+da+"*([^\\]'\"]*?)"+da+"*\\]","g"),ma=new RegExp(ha),na=new RegExp("^"+fa+"$"),oa={ID:new RegExp("^#("+ea+")"),CLASS:new RegExp("^\\.("+ea+")"),TAG:new RegExp("^("+ea.replace("w","w*")+")"),ATTR:new RegExp("^"+ga),PSEUDO:new RegExp("^"+ha),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+da+"*(even|odd|(([+-]|)(\\d*)n|)"+da+"*(?:([+-]|)"+da+"*(\\d+)|))"+da+"*\\)|)","i"),bool:new RegExp("^(?:"+ca+")$","i"),needsContext:new RegExp("^"+da+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+da+"*((?:-\\d)?\\d*)"+da+"*\\)|)(?=[^-]|$)","i")},pa=/^(?:input|select|textarea|button)$/i,qa=/^h\d$/i,ra=/^[^{]+\{\s*\[native \w/,sa=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ta=/[+~]/,ua=/'|\\/g,va=new RegExp("\\\\([\\da-f]{1,6}"+da+"?|("+da+")|.)","ig"),wa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{_.apply(Y=aa.call(O.childNodes),O.childNodes),Y[O.childNodes.length].nodeType}catch(xa){_={apply:Y.length?function(a,b){$.apply(a,aa.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}v=b.support={},y=b.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},F=b.setDocument=function(a){var b,c=a?a.ownerDocument||a:O,d=c.defaultView;return c!==G&&9===c.nodeType&&c.documentElement?(G=c,H=c.documentElement,I=!y(c),d&&d!==d.top&&(d.addEventListener?d.addEventListener("unload",function(){F()},!1):d.attachEvent&&d.attachEvent("onunload",function(){F()})),v.attributes=e(function(a){return a.className="i",!a.getAttribute("className")}),v.getElementsByTagName=e(function(a){return a.appendChild(c.createComment("")),!a.getElementsByTagName("*").length}),v.getElementsByClassName=ra.test(c.getElementsByClassName)&&e(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),v.getById=e(function(a){return H.appendChild(a).id=N,!c.getElementsByName||!c.getElementsByName(N).length}),v.getById?(w.find.ID=function(a,b){if(typeof b.getElementById!==V&&I){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},w.filter.ID=function(a){var b=a.replace(va,wa);return function(a){return a.getAttribute("id")===b}}):(delete w.find.ID,w.filter.ID=function(a){var b=a.replace(va,wa);return function(a){var c=typeof a.getAttributeNode!==V&&a.getAttributeNode("id");return c&&c.value===b}}),w.find.TAG=v.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==V?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},w.find.CLASS=v.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==V&&I?b.getElementsByClassName(a):void 0},K=[],J=[],(v.qsa=ra.test(c.querySelectorAll))&&(e(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&J.push("[*^$]="+da+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||J.push("\\["+da+"*(?:value|"+ca+")"),a.querySelectorAll(":checked").length||J.push(":checked")}),e(function(a){var b=c.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&J.push("name"+da+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||J.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),J.push(",.*:")})),(v.matchesSelector=ra.test(L=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&e(function(a){v.disconnectedMatch=L.call(a,"div"),L.call(a,"[s!='']:x"),K.push("!=",ha)}),J=J.length&&new RegExp(J.join("|")),K=K.length&&new RegExp(K.join("|")),b=ra.test(H.compareDocumentPosition),M=b||ra.test(H.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},U=b?function(a,b){if(a===b)return E=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!v.sortDetached&&b.compareDocumentPosition(a)===d?a===c||a.ownerDocument===O&&M(O,a)?-1:b===c||b.ownerDocument===O&&M(O,b)?1:D?ba.call(D,a)-ba.call(D,b):0:4&d?-1:1)}:function(a,b){if(a===b)return E=!0,0;var d,e=0,f=a.parentNode,h=b.parentNode,i=[a],j=[b];if(!f||!h)return a===c?-1:b===c?1:f?-1:h?1:D?ba.call(D,a)-ba.call(D,b):0;if(f===h)return g(a,b);for(d=a;d=d.parentNode;)i.unshift(d);for(d=b;d=d.parentNode;)j.unshift(d);for(;i[e]===j[e];)e++;return e?g(i[e],j[e]):i[e]===O?-1:j[e]===O?1:0},c):G},b.matches=function(a,c){return b(a,null,null,c)},b.matchesSelector=function(a,c){if((a.ownerDocument||a)!==G&&F(a),c=c.replace(la,"='$1']"),v.matchesSelector&&I&&(!K||!K.test(c))&&(!J||!J.test(c)))try{var d=L.call(a,c);if(d||v.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return b(c,G,null,[a]).length>0},b.contains=function(a,b){return(a.ownerDocument||a)!==G&&F(a),M(a,b)},b.attr=function(a,b){(a.ownerDocument||a)!==G&&F(a);var c=w.attrHandle[b.toLowerCase()],d=c&&X.call(w.attrHandle,b.toLowerCase())?c(a,b,!I):void 0;return void 0!==d?d:v.attributes||!I?a.getAttribute(b):(d=a.getAttributeNode(b))&&d.specified?d.value:null},b.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},b.uniqueSort=function(a){var b,c=[],d=0,e=0;if(E=!v.detectDuplicates,D=!v.sortStable&&a.slice(0),a.sort(U),E){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return D=null,a},x=b.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=x(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d++];)c+=x(b);return c},w=b.selectors={cacheLength:50,createPseudo:d,match:oa,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(va,wa),a[3]=(a[3]||a[4]||a[5]||"").replace(va,wa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||b.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&b.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return oa.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&ma.test(c)&&(b=z(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(va,wa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=R[a+" "];return b||(b=new RegExp("(^|"+da+")"+a+"("+da+"|$)"))&&R(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==V&&a.getAttribute("class")||"")})},ATTR:function(a,c,d){return function(e){var f=b.attr(e,a);return null==f?"!="===c:c?(f+="","="===c?f===d:"!="===c?f!==d:"^="===c?d&&0===f.indexOf(d):"*="===c?d&&f.indexOf(d)>-1:"$="===c?d&&f.slice(-d.length)===d:"~="===c?(" "+f+" ").indexOf(d)>-1:"|="===c?f===d||f.slice(0,d.length+1)===d+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){for(;p;){for(l=b;l=l[p];)if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(k=q[N]||(q[N]={}),j=k[a]||[],n=j[0]===P&&j[1],m=j[0]===P&&j[2],l=n&&q.childNodes[n];l=++n&&l&&l[p]||(m=n=0)||o.pop();)if(1===l.nodeType&&++m&&l===b){k[a]=[P,n,m];break}}else if(s&&(j=(b[N]||(b[N]={}))[a])&&j[0]===P)m=j[1];else for(;(l=++n&&l&&l[p]||(m=n=0)||o.pop())&&((h?l.nodeName.toLowerCase()!==r:1!==l.nodeType)||!++m||(s&&((l[N]||(l[N]={}))[a]=[P,m]),l!==b)););return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,c){var e,f=w.pseudos[a]||w.setFilters[a.toLowerCase()]||b.error("unsupported pseudo: "+a);return f[N]?f(c):f.length>1?(e=[a,a,"",c],w.setFilters.hasOwnProperty(a.toLowerCase())?d(function(a,b){for(var d,e=f(a,c),g=e.length;g--;)d=ba.call(a,e[g]),a[d]=!(b[d]=e[g])}):function(a){return f(a,0,e)}):f}},pseudos:{not:d(function(a){var b=[],c=[],e=A(a.replace(ia,"$1"));return e[N]?d(function(a,b,c,d){for(var f,g=e(a,null,d,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,d,f){return b[0]=a,e(b,null,f,c),!c.pop()}}),has:d(function(a){return function(c){return b(a,c).length>0}}),contains:d(function(a){return function(b){return(b.textContent||b.innerText||x(b)).indexOf(a)>-1}}),lang:d(function(a){return na.test(a||"")||b.error("unsupported lang: "+a),a=a.replace(va,wa).toLowerCase(),function(b){var c;do if(c=I?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===H},focus:function(a){return a===G.activeElement&&(!G.hasFocus||G.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!w.pseudos.empty(a)},header:function(a){return qa.test(a.nodeName)},input:function(a){return pa.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:j(function(){return[0]}),last:j(function(a,b){return[b-1]}),eq:j(function(a,b,c){return[0>c?c+b:c]}),even:j(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:j(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:j(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:j(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},w.pseudos.nth=w.pseudos.eq;for(u in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[u]=h(u);for(u in{submit:!0,reset:!0})w.pseudos[u]=i(u);return l.prototype=w.filters=w.pseudos,w.setFilters=new l,z=b.tokenize=function(a,c){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return c?0:k.slice(0);for(h=a,i=[],j=w.preFilter;h;){(!d||(e=ja.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),d=!1,(e=ka.exec(h))&&(d=e.shift(),f.push({value:d,type:e[0].replace(ia," ")}),h=h.slice(d.length));for(g in w.filter)!(e=oa[g].exec(h))||j[g]&&!(e=j[g](e))||(d=e.shift(),f.push({value:d,type:g,matches:e
}),h=h.slice(d.length));if(!d)break}return c?h.length:h?b.error(a):S(a,i).slice(0)},A=b.compile=function(a,b){var c,d=[],e=[],f=T[a+" "];if(!f){for(b||(b=z(a)),c=b.length;c--;)f=s(b[c]),f[N]?d.push(f):e.push(f);f=T(a,t(e,d)),f.selector=a}return f},B=b.select=function(a,b,c,d){var e,f,g,h,i,j="function"==typeof a&&a,l=!d&&z(a=j.selector||a);if(c=c||[],1===l.length){if(f=l[0]=l[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&v.getById&&9===b.nodeType&&I&&w.relative[f[1].type]){if(b=(w.find.ID(g.matches[0].replace(va,wa),b)||[])[0],!b)return c;j&&(b=b.parentNode),a=a.slice(f.shift().value.length)}for(e=oa.needsContext.test(a)?0:f.length;e--&&(g=f[e],!w.relative[h=g.type]);)if((i=w.find[h])&&(d=i(g.matches[0].replace(va,wa),ta.test(f[0].type)&&k(b.parentNode)||b))){if(f.splice(e,1),a=d.length&&m(f),!a)return _.apply(c,d),c;break}}return(j||A(a,l))(d,b,!I,c,ta.test(a)&&k(b.parentNode)||b),c},v.sortStable=N.split("").sort(U).join("")===N,v.detectDuplicates=!!E,F(),v.sortDetached=e(function(a){return 1&a.compareDocumentPosition(G.createElement("div"))}),e(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||f("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),v.attributes&&e(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||f("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),e(function(a){return null==a.getAttribute("disabled")})||f(ca,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),b}(a);ea.find=ja,ea.expr=ja.selectors,ea.expr[":"]=ea.expr.pseudos,ea.unique=ja.uniqueSort,ea.text=ja.getText,ea.isXMLDoc=ja.isXML,ea.contains=ja.contains;var ka=ea.expr.match.needsContext,la=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ma=/^.[^:#\[\.,]*$/;ea.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?ea.find.matchesSelector(d,a)?[d]:[]:ea.find.matches(a,ea.grep(b,function(a){return 1===a.nodeType}))},ea.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(ea(a).filter(function(){for(b=0;e>b;b++)if(ea.contains(d[b],this))return!0}));for(b=0;e>b;b++)ea.find(a,d[b],c);return c=this.pushStack(e>1?ea.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(d(this,a||[],!1))},not:function(a){return this.pushStack(d(this,a||[],!0))},is:function(a){return!!d(this,"string"==typeof a&&ka.test(a)?ea(a):a||[],!1).length}});var na,oa=a.document,pa=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,qa=ea.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:pa.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||na).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof ea?b[0]:b,ea.merge(this,ea.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:oa,!0)),la.test(c[1])&&ea.isPlainObject(b))for(c in b)ea.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=oa.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return na.find(a);this.length=1,this[0]=d}return this.context=oa,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):ea.isFunction(a)?"undefined"!=typeof na.ready?na.ready(a):a(ea):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),ea.makeArray(a,this))};qa.prototype=ea.fn,na=ea(oa);var ra=/^(?:parents|prev(?:Until|All))/,sa={children:!0,contents:!0,next:!0,prev:!0};ea.extend({dir:function(a,b,c){for(var d=[],e=a[b];e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!ea(e).is(c));)1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),ea.fn.extend({has:function(a){var b,c=ea(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(ea.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=ka.test(a)||"string"!=typeof a?ea(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&ea.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?ea.unique(f):f)},index:function(a){return a?"string"==typeof a?ea.inArray(this[0],ea(a)):ea.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(ea.unique(ea.merge(this.get(),ea(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),ea.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return ea.dir(a,"parentNode")},parentsUntil:function(a,b,c){return ea.dir(a,"parentNode",c)},next:function(a){return e(a,"nextSibling")},prev:function(a){return e(a,"previousSibling")},nextAll:function(a){return ea.dir(a,"nextSibling")},prevAll:function(a){return ea.dir(a,"previousSibling")},nextUntil:function(a,b,c){return ea.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return ea.dir(a,"previousSibling",c)},siblings:function(a){return ea.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return ea.sibling(a.firstChild)},contents:function(a){return ea.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:ea.merge([],a.childNodes)}},function(a,b){ea.fn[a]=function(c,d){var e=ea.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=ea.filter(d,e)),this.length>1&&(sa[a]||(e=ea.unique(e)),ra.test(a)&&(e=e.reverse())),this.pushStack(e)}});var ta=/\S+/g,ua={};ea.Callbacks=function(a){a="string"==typeof a?ua[a]||f(a):ea.extend({},a);var b,c,d,e,g,h,i=[],j=!a.once&&[],k=function(f){for(c=a.memory&&f,d=!0,g=h||0,h=0,e=i.length,b=!0;i&&e>g;g++)if(i[g].apply(f[0],f[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var d=i.length;!function f(b){ea.each(b,function(b,c){var d=ea.type(c);"function"===d?a.unique&&l.has(c)||i.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=i.length:c&&(h=d,k(c))}return this},remove:function(){return i&&ea.each(arguments,function(a,c){for(var d;(d=ea.inArray(c,i,d))>-1;)i.splice(d,1),b&&(e>=d&&e--,g>=d&&g--)}),this},has:function(a){return a?ea.inArray(a,i)>-1:!(!i||!i.length)},empty:function(){return i=[],e=0,this},disable:function(){return i=j=c=void 0,this},disabled:function(){return!i},lock:function(){return j=void 0,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,c){return!i||d&&!j||(c=c||[],c=[a,c.slice?c.slice():c],b?j.push(c):k(c)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},ea.extend({Deferred:function(a){var b=[["resolve","done",ea.Callbacks("once memory"),"resolved"],["reject","fail",ea.Callbacks("once memory"),"rejected"],["notify","progress",ea.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return ea.Deferred(function(c){ea.each(b,function(b,f){var g=ea.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&ea.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?ea.extend(a,d):d}},e={};return d.pipe=d.then,ea.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=X.call(arguments),g=f.length,h=1!==g||a&&ea.isFunction(a.promise)?g:0,i=1===h?a:ea.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?X.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);g>e;e++)f[e]&&ea.isFunction(f[e].promise)?f[e].promise().done(j(e,d,f)).fail(i.reject).progress(j(e,c,b)):--h;return h||i.resolveWith(d,f),i.promise()}});var va;ea.fn.ready=function(a){return ea.ready.promise().done(a),this},ea.extend({isReady:!1,readyWait:1,holdReady:function(a){a?ea.readyWait++:ea.ready(!0)},ready:function(a){if(a===!0?!--ea.readyWait:!ea.isReady){if(!oa.body)return setTimeout(ea.ready);ea.isReady=!0,a!==!0&&--ea.readyWait>0||(va.resolveWith(oa,[ea]),ea.fn.triggerHandler&&(ea(oa).triggerHandler("ready"),ea(oa).off("ready")))}}}),ea.ready.promise=function(b){if(!va)if(va=ea.Deferred(),"complete"===oa.readyState)setTimeout(ea.ready);else if(oa.addEventListener)oa.addEventListener("DOMContentLoaded",h,!1),a.addEventListener("load",h,!1);else{oa.attachEvent("onreadystatechange",h),a.attachEvent("onload",h);var c=!1;try{c=null==a.frameElement&&oa.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!ea.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}g(),ea.ready()}}()}return va.promise(b)};var wa,xa="undefined";for(wa in ea(ca))break;ca.ownLast="0"!==wa,ca.inlineBlockNeedsLayout=!1,ea(function(){var a,b,c,d;c=oa.getElementsByTagName("body")[0],c&&c.style&&(b=oa.createElement("div"),d=oa.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==xa&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",ca.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=oa.createElement("div");if(null==ca.deleteExpando){ca.deleteExpando=!0;try{delete a.test}catch(b){ca.deleteExpando=!1}}a=null}(),ea.acceptData=function(a){var b=ea.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var ya=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,za=/([A-Z])/g;ea.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?ea.cache[a[ea.expando]]:a[ea.expando],!!a&&!j(a)},data:function(a,b,c){return k(a,b,c)},removeData:function(a,b){return l(a,b)},_data:function(a,b,c){return k(a,b,c,!0)},_removeData:function(a,b){return l(a,b,!0)}}),ea.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=ea.data(f),1===f.nodeType&&!ea._data(f,"parsedAttrs"))){for(c=g.length;c--;)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=ea.camelCase(d.slice(5)),i(f,d,e[d])));ea._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){ea.data(this,a)}):arguments.length>1?this.each(function(){ea.data(this,a,b)}):f?i(f,a,ea.data(f,a)):void 0},removeData:function(a){return this.each(function(){ea.removeData(this,a)})}}),ea.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=ea._data(a,b),c&&(!d||ea.isArray(c)?d=ea._data(a,b,ea.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=ea.queue(a,b),d=c.length,e=c.shift(),f=ea._queueHooks(a,b),g=function(){ea.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return ea._data(a,c)||ea._data(a,c,{empty:ea.Callbacks("once memory").add(function(){ea._removeData(a,b+"queue"),ea._removeData(a,c)})})}}),ea.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?ea.queue(this[0],a):void 0===b?this:this.each(function(){var c=ea.queue(this,a,b);ea._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&ea.dequeue(this,a)})},dequeue:function(a){return this.each(function(){ea.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=ea.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};for("string"!=typeof a&&(b=a,a=void 0),a=a||"fx";g--;)c=ea._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Ba=["Top","Right","Bottom","Left"],Ca=function(a,b){return a=b||a,"none"===ea.css(a,"display")||!ea.contains(a.ownerDocument,a)},Da=ea.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===ea.type(c)){e=!0;for(h in c)ea.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,ea.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(ea(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Ea=/^(?:checkbox|radio)$/i;!function(){var a=oa.createElement("input"),b=oa.createElement("div"),c=oa.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",ca.leadingWhitespace=3===b.firstChild.nodeType,ca.tbody=!b.getElementsByTagName("tbody").length,ca.htmlSerialize=!!b.getElementsByTagName("link").length,ca.html5Clone="<:nav></:nav>"!==oa.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),ca.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",ca.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",ca.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,ca.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){ca.noCloneEvent=!1}),b.cloneNode(!0).click()),null==ca.deleteExpando){ca.deleteExpando=!0;try{delete b.test}catch(d){ca.deleteExpando=!1}}}(),function(){var b,c,d=oa.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(ca[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),ca[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Fa=/^(?:input|select|textarea)$/i,Ga=/^key/,Ha=/^(?:mouse|pointer|contextmenu)|click/,Ia=/^(?:focusinfocus|focusoutblur)$/,Ja=/^([^.]*)(?:\.(.+)|)$/;ea.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=ea._data(a);if(q){for(c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=ea.guid++),(g=q.events)||(g=q.events={}),(k=q.handle)||(k=q.handle=function(a){return typeof ea===xa||a&&ea.event.triggered===a.type?void 0:ea.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(ta)||[""],h=b.length;h--;)f=Ja.exec(b[h])||[],n=p=f[1],o=(f[2]||"").split(".").sort(),n&&(j=ea.event.special[n]||{},n=(e?j.delegateType:j.bindType)||n,j=ea.event.special[n]||{},l=ea.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&ea.expr.match.needsContext.test(e),namespace:o.join(".")},i),(m=g[n])||(m=g[n]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,o,k)!==!1||(a.addEventListener?a.addEventListener(n,k,!1):a.attachEvent&&a.attachEvent("on"+n,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),ea.event.global[n]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=ea.hasData(a)&&ea._data(a);if(q&&(k=q.events)){for(b=(b||"").match(ta)||[""],j=b.length;j--;)if(h=Ja.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=ea.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=k[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;f--;)g=m[f],!e&&p!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||ea.removeEvent(a,n,q.handle),delete k[n])}else for(n in k)ea.event.remove(a,n+b[j],c,d,!0);ea.isEmptyObject(k)&&(delete q.handle,ea._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,j,k,l,m=[d||oa],n=ba.call(b,"type")?b.type:b,o=ba.call(b,"namespace")?b.namespace.split("."):[];if(h=k=d=d||oa,3!==d.nodeType&&8!==d.nodeType&&!Ia.test(n+ea.event.triggered)&&(n.indexOf(".")>=0&&(o=n.split("."),n=o.shift(),o.sort()),g=n.indexOf(":")<0&&"on"+n,b=b[ea.expando]?b:new ea.Event(n,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=o.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:ea.makeArray(c,[b]),j=ea.event.special[n]||{},e||!j.trigger||j.trigger.apply(d,c)!==!1)){if(!e&&!j.noBubble&&!ea.isWindow(d)){for(i=j.delegateType||n,Ia.test(i+n)||(h=h.parentNode);h;h=h.parentNode)m.push(h),k=h;k===(d.ownerDocument||oa)&&m.push(k.defaultView||k.parentWindow||a)}for(l=0;(h=m[l++])&&!b.isPropagationStopped();)b.type=l>1?i:j.bindType||n,f=(ea._data(h,"events")||{})[b.type]&&ea._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&ea.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=n,!e&&!b.isDefaultPrevented()&&(!j._default||j._default.apply(m.pop(),c)===!1)&&ea.acceptData(d)&&g&&d[n]&&!ea.isWindow(d)){k=d[g],k&&(d[g]=null),ea.event.triggered=n;try{d[n]()}catch(p){}ea.event.triggered=void 0,k&&(d[g]=k)}return b.result}},dispatch:function(a){a=ea.event.fix(a);var b,c,d,e,f,g=[],h=X.call(arguments),i=(ea._data(this,"events")||{})[a.type]||[],j=ea.event.special[a.type]||{};if(h[0]=a,a.delegateTarget=this,!j.preDispatch||j.preDispatch.call(this,a)!==!1){for(g=ea.event.handlers.call(this,a,i),b=0;(e=g[b++])&&!a.isPropagationStopped();)for(a.currentTarget=e.elem,f=0;(d=e.handlers[f++])&&!a.isImmediatePropagationStopped();)(!a.namespace_re||a.namespace_re.test(d.namespace))&&(a.handleObj=d,a.data=d.data,c=((ea.event.special[d.origType]||{}).handle||d.handler).apply(e.elem,h),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()));return j.postDispatch&&j.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?ea(c,this).index(i)>=0:ea.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[ea.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];for(g||(this.fixHooks[e]=g=Ha.test(e)?this.mouseHooks:Ga.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new ea.Event(f),b=d.length;b--;)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||oa),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||oa,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==o()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===o()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return ea.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return ea.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=ea.extend(new ea.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?ea.event.trigger(e,null,b):ea.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},ea.removeEvent=oa.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===xa&&(a[d]=null),a.detachEvent(d,c))},ea.Event=function(a,b){return this instanceof ea.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?m:n):this.type=a,b&&ea.extend(this,b),this.timeStamp=a&&a.timeStamp||ea.now(),void(this[ea.expando]=!0)):new ea.Event(a,b)},ea.Event.prototype={isDefaultPrevented:n,isPropagationStopped:n,isImmediatePropagationStopped:n,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=m,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=m,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=m,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},ea.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){ea.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!ea.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),ca.submitBubbles||(ea.event.special.submit={setup:function(){return ea.nodeName(this,"form")?!1:void ea.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=ea.nodeName(b,"input")||ea.nodeName(b,"button")?b.form:void 0;c&&!ea._data(c,"submitBubbles")&&(ea.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),ea._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&ea.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return ea.nodeName(this,"form")?!1:void ea.event.remove(this,"._submit")}}),ca.changeBubbles||(ea.event.special.change={setup:function(){return Fa.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(ea.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),ea.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),ea.event.simulate("change",this,a,!0)})),!1):void ea.event.add(this,"beforeactivate._change",function(a){var b=a.target;Fa.test(b.nodeName)&&!ea._data(b,"changeBubbles")&&(ea.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||ea.event.simulate("change",this.parentNode,a,!0)}),ea._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return ea.event.remove(this,"._change"),!Fa.test(this.nodeName)}}),ca.focusinBubbles||ea.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){ea.event.simulate(b,a.target,ea.event.fix(a),!0)};ea.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=ea._data(d,b);e||d.addEventListener(a,c,!0),ea._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=ea._data(d,b)-1;e?ea._data(d,b,e):(d.removeEventListener(a,c,!0),ea._removeData(d,b))}}}),ea.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=n;else if(!d)return this;return 1===e&&(g=d,d=function(a){return ea().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=ea.guid++)),this.each(function(){ea.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,ea(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=n),this.each(function(){ea.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){ea.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?ea.event.trigger(a,b,c,!0):void 0}});var Ka="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",La=/ jQuery\d+="(?:null|\d+)"/g,Ma=new RegExp("<(?:"+Ka+")[\\s/>]","i"),Na=/^\s+/,Oa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Pa=/<([\w:]+)/,Qa=/<tbody/i,Ra=/<|&#?\w+;/,Sa=/<(?:script|style|link)/i,Ta=/checked\s*(?:[^=]|=\s*.checked.)/i,Ua=/^$|\/(?:java|ecma)script/i,Va=/^true\/(.*)/,Wa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Xa={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:ca.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},Ya=p(oa),Za=Ya.appendChild(oa.createElement("div"));Xa.optgroup=Xa.option,Xa.tbody=Xa.tfoot=Xa.colgroup=Xa.caption=Xa.thead,Xa.th=Xa.td,ea.extend({clone:function(a,b,c){var d,e,f,g,h,i=ea.contains(a.ownerDocument,a);if(ca.html5Clone||ea.isXMLDoc(a)||!Ma.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Za.innerHTML=a.outerHTML,Za.removeChild(f=Za.firstChild)),!(ca.noCloneEvent&&ca.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||ea.isXMLDoc(a)))for(d=q(f),h=q(a),g=0;null!=(e=h[g]);++g)d[g]&&x(e,d[g]);if(b)if(c)for(h=h||q(a),d=d||q(f),g=0;null!=(e=h[g]);g++)w(e,d[g]);else w(a,f);return d=q(f,"script"),d.length>0&&v(d,!i&&q(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,l=a.length,m=p(b),n=[],o=0;l>o;o++)if(f=a[o],f||0===f)if("object"===ea.type(f))ea.merge(n,f.nodeType?[f]:f);else if(Ra.test(f)){for(h=h||m.appendChild(b.createElement("div")),i=(Pa.exec(f)||["",""])[1].toLowerCase(),k=Xa[i]||Xa._default,h.innerHTML=k[1]+f.replace(Oa,"<$1></$2>")+k[2],e=k[0];e--;)h=h.lastChild;if(!ca.leadingWhitespace&&Na.test(f)&&n.push(b.createTextNode(Na.exec(f)[0])),!ca.tbody)for(f="table"!==i||Qa.test(f)?"<table>"!==k[1]||Qa.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;e--;)ea.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j);for(ea.merge(n,h.childNodes),h.textContent="";h.firstChild;)h.removeChild(h.firstChild);h=m.lastChild}else n.push(b.createTextNode(f));for(h&&m.removeChild(h),ca.appendChecked||ea.grep(q(n,"input"),r),o=0;f=n[o++];)if((!d||-1===ea.inArray(f,d))&&(g=ea.contains(f.ownerDocument,f),h=q(m.appendChild(f),"script"),g&&v(h),c))for(e=0;f=h[e++];)Ua.test(f.type||"")&&c.push(f);return h=null,m},cleanData:function(a,b){for(var c,d,e,f,g=0,h=ea.expando,i=ea.cache,j=ca.deleteExpando,k=ea.event.special;null!=(c=a[g]);g++)if((b||ea.acceptData(c))&&(e=c[h],f=e&&i[e])){if(f.events)for(d in f.events)k[d]?ea.event.remove(c,d):ea.removeEvent(c,d,f.handle);i[e]&&(delete i[e],j?delete c[h]:typeof c.removeAttribute!==xa?c.removeAttribute(h):c[h]=null,W.push(e))}}}),ea.fn.extend({text:function(a){return Da(this,function(a){return void 0===a?ea.text(this):this.empty().append((this[0]&&this[0].ownerDocument||oa).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=s(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=s(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?ea.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||ea.cleanData(q(c)),c.parentNode&&(b&&ea.contains(c.ownerDocument,c)&&v(q(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){for(1===a.nodeType&&ea.cleanData(q(a,!1));a.firstChild;)a.removeChild(a.firstChild);a.options&&ea.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return ea.clone(this,a,b)})},html:function(a){return Da(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(La,""):void 0;if("string"==typeof a&&!Sa.test(a)&&(ca.htmlSerialize||!Ma.test(a))&&(ca.leadingWhitespace||!Na.test(a))&&!Xa[(Pa.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Oa,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(ea.cleanData(q(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,ea.cleanData(q(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=Y.apply([],a);var c,d,e,f,g,h,i=0,j=this.length,k=this,l=j-1,m=a[0],n=ea.isFunction(m);if(n||j>1&&"string"==typeof m&&!ca.checkClone&&Ta.test(m))return this.each(function(c){var d=k.eq(c);n&&(a[0]=m.call(this,c,d.html())),d.domManip(a,b)});if(j&&(h=ea.buildFragment(a,this[0].ownerDocument,!1,this),c=h.firstChild,1===h.childNodes.length&&(h=c),c)){for(f=ea.map(q(h,"script"),t),e=f.length;j>i;i++)d=h,i!==l&&(d=ea.clone(d,!0,!0),e&&ea.merge(f,q(d,"script"))),b.call(this[i],d,i);if(e)for(g=f[f.length-1].ownerDocument,ea.map(f,u),i=0;e>i;i++)d=f[i],Ua.test(d.type||"")&&!ea._data(d,"globalEval")&&ea.contains(g,d)&&(d.src?ea._evalUrl&&ea._evalUrl(d.src):ea.globalEval((d.text||d.textContent||d.innerHTML||"").replace(Wa,"")));h=c=null}return this}}),ea.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){ea.fn[a]=function(a){for(var c,d=0,e=[],f=ea(a),g=f.length-1;g>=d;d++)c=d===g?this:this.clone(!0),ea(f[d])[b](c),Z.apply(e,c.get());return this.pushStack(e)}});var $a,_a={};!function(){var a;ca.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=oa.getElementsByTagName("body")[0],c&&c.style?(b=oa.createElement("div"),d=oa.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==xa&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(oa.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var ab,bb,cb=/^margin/,db=new RegExp("^("+Aa+")(?!px)[a-z%]+$","i"),eb=/^(top|right|bottom|left)$/;a.getComputedStyle?(ab=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},bb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||ab(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||ea.contains(a.ownerDocument,a)||(g=ea.style(a,b)),db.test(g)&&cb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),
void 0===g?g:g+""}):oa.documentElement.currentStyle&&(ab=function(a){return a.currentStyle},bb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||ab(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),db.test(g)&&!eb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"}),function(){function b(){var b,c,d,e;c=oa.getElementsByTagName("body")[0],c&&c.style&&(b=oa.createElement("div"),d=oa.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f=g=!1,i=!0,a.getComputedStyle&&(f="1%"!==(a.getComputedStyle(b,null)||{}).top,g="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,e=b.appendChild(oa.createElement("div")),e.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",e.style.marginRight=e.style.width="0",b.style.width="1px",i=!parseFloat((a.getComputedStyle(e,null)||{}).marginRight)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",e=b.getElementsByTagName("td"),e[0].style.cssText="margin:0;border:0;padding:0;display:none",h=0===e[0].offsetHeight,h&&(e[0].style.display="",e[1].style.display="none",h=0===e[0].offsetHeight),c.removeChild(d))}var c,d,e,f,g,h,i;c=oa.createElement("div"),c.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",e=c.getElementsByTagName("a")[0],d=e&&e.style,d&&(d.cssText="float:left;opacity:.5",ca.opacity="0.5"===d.opacity,ca.cssFloat=!!d.cssFloat,c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",ca.clearCloneStyle="content-box"===c.style.backgroundClip,ca.boxSizing=""===d.boxSizing||""===d.MozBoxSizing||""===d.WebkitBoxSizing,ea.extend(ca,{reliableHiddenOffsets:function(){return null==h&&b(),h},boxSizingReliable:function(){return null==g&&b(),g},pixelPosition:function(){return null==f&&b(),f},reliableMarginRight:function(){return null==i&&b(),i}}))}(),ea.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var fb=/alpha\([^)]*\)/i,gb=/opacity\s*=\s*([^)]*)/,hb=/^(none|table(?!-c[ea]).+)/,ib=new RegExp("^("+Aa+")(.*)$","i"),jb=new RegExp("^([+-])=("+Aa+")","i"),kb={position:"absolute",visibility:"hidden",display:"block"},lb={letterSpacing:"0",fontWeight:"400"},mb=["Webkit","O","Moz","ms"];ea.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":ca.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=ea.camelCase(b),i=a.style;if(b=ea.cssProps[h]||(ea.cssProps[h]=B(i,h)),g=ea.cssHooks[b]||ea.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=jb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(ea.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||ea.cssNumber[h]||(c+="px"),ca.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=ea.camelCase(b);return b=ea.cssProps[h]||(ea.cssProps[h]=B(a.style,h)),g=ea.cssHooks[b]||ea.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=bb(a,b,d)),"normal"===f&&b in lb&&(f=lb[b]),""===c||c?(e=parseFloat(f),c===!0||ea.isNumeric(e)?e||0:f):f}}),ea.each(["height","width"],function(a,b){ea.cssHooks[b]={get:function(a,c,d){return c?hb.test(ea.css(a,"display"))&&0===a.offsetWidth?ea.swap(a,kb,function(){return F(a,b,d)}):F(a,b,d):void 0},set:function(a,c,d){var e=d&&ab(a);return D(a,c,d?E(a,b,d,ca.boxSizing&&"border-box"===ea.css(a,"boxSizing",!1,e),e):0)}}}),ca.opacity||(ea.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=ea.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===ea.trim(f.replace(fb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=fb.test(f)?f.replace(fb,e):f+" "+e)}}),ea.cssHooks.marginRight=A(ca.reliableMarginRight,function(a,b){return b?ea.swap(a,{display:"inline-block"},bb,[a,"marginRight"]):void 0}),ea.each({margin:"",padding:"",border:"Width"},function(a,b){ea.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+Ba[d]+b]=f[d]||f[d-2]||f[0];return e}},cb.test(a)||(ea.cssHooks[a+b].set=D)}),ea.fn.extend({css:function(a,b){return Da(this,function(a,b,c){var d,e,f={},g=0;if(ea.isArray(b)){for(d=ab(a),e=b.length;e>g;g++)f[b[g]]=ea.css(a,b[g],!1,d);return f}return void 0!==c?ea.style(a,b,c):ea.css(a,b)},a,b,arguments.length>1)},show:function(){return C(this,!0)},hide:function(){return C(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){Ca(this)?ea(this).show():ea(this).hide()})}}),ea.Tween=G,G.prototype={constructor:G,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(ea.cssNumber[c]?"":"px")},cur:function(){var a=G.propHooks[this.prop];return a&&a.get?a.get(this):G.propHooks._default.get(this)},run:function(a){var b,c=G.propHooks[this.prop];return this.options.duration?this.pos=b=ea.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):G.propHooks._default.set(this),this}},G.prototype.init.prototype=G.prototype,G.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=ea.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){ea.fx.step[a.prop]?ea.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[ea.cssProps[a.prop]]||ea.cssHooks[a.prop])?ea.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},G.propHooks.scrollTop=G.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},ea.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},ea.fx=G.prototype.init,ea.fx.step={};var nb,ob,pb=/^(?:toggle|show|hide)$/,qb=new RegExp("^(?:([+-])=|)("+Aa+")([a-z%]*)$","i"),rb=/queueHooks$/,sb=[K],tb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=qb.exec(b),f=e&&e[3]||(ea.cssNumber[a]?"":"px"),g=(ea.cssNumber[a]||"px"!==f&&+d)&&qb.exec(ea.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,ea.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};ea.Animation=ea.extend(M,{tweener:function(a,b){ea.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],tb[c]=tb[c]||[],tb[c].unshift(b)},prefilter:function(a,b){b?sb.unshift(a):sb.push(a)}}),ea.speed=function(a,b,c){var d=a&&"object"==typeof a?ea.extend({},a):{complete:c||!c&&b||ea.isFunction(a)&&a,duration:a,easing:c&&b||b&&!ea.isFunction(b)&&b};return d.duration=ea.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in ea.fx.speeds?ea.fx.speeds[d.duration]:ea.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){ea.isFunction(d.old)&&d.old.call(this),d.queue&&ea.dequeue(this,d.queue)},d},ea.fn.extend({fadeTo:function(a,b,c,d){return this.filter(Ca).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=ea.isEmptyObject(a),f=ea.speed(b,c,d),g=function(){var b=M(this,ea.extend({},a),f);(e||ea._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=ea.timers,g=ea._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&rb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&ea.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=ea._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=ea.timers,g=d?d.length:0;for(c.finish=!0,ea.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),ea.each(["toggle","show","hide"],function(a,b){var c=ea.fn[b];ea.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(I(b,!0),a,d,e)}}),ea.each({slideDown:I("show"),slideUp:I("hide"),slideToggle:I("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){ea.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),ea.timers=[],ea.fx.tick=function(){var a,b=ea.timers,c=0;for(nb=ea.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||ea.fx.stop(),nb=void 0},ea.fx.timer=function(a){ea.timers.push(a),a()?ea.fx.start():ea.timers.pop()},ea.fx.interval=13,ea.fx.start=function(){ob||(ob=setInterval(ea.fx.tick,ea.fx.interval))},ea.fx.stop=function(){clearInterval(ob),ob=null},ea.fx.speeds={slow:600,fast:200,_default:400},ea.fn.delay=function(a,b){return a=ea.fx?ea.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=oa.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=oa.createElement("select"),e=c.appendChild(oa.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",ca.getSetAttribute="t"!==b.className,ca.style=/top/.test(d.getAttribute("style")),ca.hrefNormalized="/a"===d.getAttribute("href"),ca.checkOn=!!a.value,ca.optSelected=e.selected,ca.enctype=!!oa.createElement("form").enctype,c.disabled=!0,ca.optDisabled=!e.disabled,a=oa.createElement("input"),a.setAttribute("value",""),ca.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),ca.radioValue="t"===a.value}();var ub=/\r/g;ea.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=ea.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,ea(this).val()):a,null==e?e="":"number"==typeof e?e+="":ea.isArray(e)&&(e=ea.map(e,function(a){return null==a?"":a+""})),b=ea.valHooks[this.type]||ea.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=ea.valHooks[e.type]||ea.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ub,""):null==c?"":c)}}}),ea.extend({valHooks:{option:{get:function(a){var b=ea.find.attr(a,"value");return null!=b?b:ea.trim(ea.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(ca.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!ea.nodeName(c.parentNode,"optgroup"))){if(b=ea(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=ea.makeArray(b),g=e.length;g--;)if(d=e[g],ea.inArray(ea.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),ea.each(["radio","checkbox"],function(){ea.valHooks[this]={set:function(a,b){return ea.isArray(b)?a.checked=ea.inArray(ea(a).val(),b)>=0:void 0}},ca.checkOn||(ea.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var vb,wb,xb=ea.expr.attrHandle,yb=/^(?:checked|selected)$/i,zb=ca.getSetAttribute,Ab=ca.input;ea.fn.extend({attr:function(a,b){return Da(this,ea.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){ea.removeAttr(this,a)})}}),ea.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===xa?ea.prop(a,b,c):(1===f&&ea.isXMLDoc(a)||(b=b.toLowerCase(),d=ea.attrHooks[b]||(ea.expr.match.bool.test(b)?wb:vb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=ea.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void ea.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(ta);if(f&&1===a.nodeType)for(;c=f[e++];)d=ea.propFix[c]||c,ea.expr.match.bool.test(c)?Ab&&zb||!yb.test(c)?a[d]=!1:a[ea.camelCase("default-"+c)]=a[d]=!1:ea.attr(a,c,""),a.removeAttribute(zb?c:d)},attrHooks:{type:{set:function(a,b){if(!ca.radioValue&&"radio"===b&&ea.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),wb={set:function(a,b,c){return b===!1?ea.removeAttr(a,c):Ab&&zb||!yb.test(c)?a.setAttribute(!zb&&ea.propFix[c]||c,c):a[ea.camelCase("default-"+c)]=a[c]=!0,c}},ea.each(ea.expr.match.bool.source.match(/\w+/g),function(a,b){var c=xb[b]||ea.find.attr;xb[b]=Ab&&zb||!yb.test(b)?function(a,b,d){var e,f;return d||(f=xb[b],xb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,xb[b]=f),e}:function(a,b,c){return c?void 0:a[ea.camelCase("default-"+b)]?b.toLowerCase():null}}),Ab&&zb||(ea.attrHooks.value={set:function(a,b,c){return ea.nodeName(a,"input")?void(a.defaultValue=b):vb&&vb.set(a,b,c)}}),zb||(vb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},xb.id=xb.name=xb.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},ea.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:vb.set},ea.attrHooks.contenteditable={set:function(a,b,c){vb.set(a,""===b?!1:b,c)}},ea.each(["width","height"],function(a,b){ea.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),ca.style||(ea.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var Bb=/^(?:input|select|textarea|button|object)$/i,Cb=/^(?:a|area)$/i;ea.fn.extend({prop:function(a,b){return Da(this,ea.prop,a,b,arguments.length>1)},removeProp:function(a){return a=ea.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),ea.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!ea.isXMLDoc(a),f&&(b=ea.propFix[b]||b,e=ea.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=ea.find.attr(a,"tabindex");return b?parseInt(b,10):Bb.test(a.nodeName)||Cb.test(a.nodeName)&&a.href?0:-1}}}}),ca.hrefNormalized||ea.each(["href","src"],function(a,b){ea.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),ca.optSelected||(ea.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),ea.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ea.propFix[this.toLowerCase()]=this}),ca.enctype||(ea.propFix.enctype="encoding");var Db=/[\t\r\n\f]/g;ea.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(ea.isFunction(a))return this.each(function(b){ea(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(ta)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(Db," "):" ")){for(f=0;e=b[f++];)d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=ea.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(ea.isFunction(a))return this.each(function(b){ea(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(ta)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(Db," "):"")){for(f=0;e=b[f++];)for(;d.indexOf(" "+e+" ")>=0;)d=d.replace(" "+e+" "," ");g=a?ea.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):ea.isFunction(a)?this.each(function(c){ea(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if("string"===c)for(var b,d=0,e=ea(this),f=a.match(ta)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else(c===xa||"boolean"===c)&&(this.className&&ea._data(this,"__className__",this.className),this.className=this.className||a===!1?"":ea._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(Db," ").indexOf(b)>=0)return!0;return!1}}),ea.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){ea.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),ea.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var Eb=ea.now(),Fb=/\?/,Gb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;ea.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=ea.trim(b+"");return e&&!ea.trim(e.replace(Gb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():ea.error("Invalid JSON: "+b)},ea.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||ea.error("Invalid XML: "+b),c};var Hb,Ib,Jb=/#.*$/,Kb=/([?&])_=[^&]*/,Lb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Mb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nb=/^(?:GET|HEAD)$/,Ob=/^\/\//,Pb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Qb={},Rb={},Sb="*/".concat("*");try{Ib=location.href}catch(Tb){Ib=oa.createElement("a"),Ib.href="",Ib=Ib.href}Hb=Pb.exec(Ib.toLowerCase())||[],ea.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ib,type:"GET",isLocal:Mb.test(Hb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Sb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ea.parseJSON,"text xml":ea.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?P(P(a,ea.ajaxSettings),b):P(ea.ajaxSettings,a)},ajaxPrefilter:N(Qb),ajaxTransport:N(Rb),ajax:function(a,b){function c(a,b,c,d){var e,k,r,s,u,w=b;2!==t&&(t=2,h&&clearTimeout(h),j=void 0,g=d||"",v.readyState=a>0?4:0,e=a>=200&&300>a||304===a,c&&(s=Q(l,v,c)),s=R(l,s,v,e),e?(l.ifModified&&(u=v.getResponseHeader("Last-Modified"),u&&(ea.lastModified[f]=u),u=v.getResponseHeader("etag"),u&&(ea.etag[f]=u)),204===a||"HEAD"===l.type?w="nocontent":304===a?w="notmodified":(w=s.state,k=s.data,r=s.error,e=!r)):(r=w,(a||!w)&&(w="error",0>a&&(a=0))),v.status=a,v.statusText=(b||w)+"",e?o.resolveWith(m,[k,w,v]):o.rejectWith(m,[v,w,r]),v.statusCode(q),q=void 0,i&&n.trigger(e?"ajaxSuccess":"ajaxError",[v,l,e?k:r]),p.fireWith(m,[v,w]),i&&(n.trigger("ajaxComplete",[v,l]),--ea.active||ea.event.trigger("ajaxStop")))}"object"==typeof a&&(b=a,a=void 0),b=b||{};var d,e,f,g,h,i,j,k,l=ea.ajaxSetup({},b),m=l.context||l,n=l.context&&(m.nodeType||m.jquery)?ea(m):ea.event,o=ea.Deferred(),p=ea.Callbacks("once memory"),q=l.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!k)for(k={};b=Lb.exec(g);)k[b[1].toLowerCase()]=b[2];b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return j&&j.abort(b),c(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,l.url=((a||l.url||Ib)+"").replace(Jb,"").replace(Ob,Hb[1]+"//"),l.type=b.method||b.type||l.method||l.type,l.dataTypes=ea.trim(l.dataType||"*").toLowerCase().match(ta)||[""],null==l.crossDomain&&(d=Pb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Hb[1]&&d[2]===Hb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Hb[3]||("http:"===Hb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=ea.param(l.data,l.traditional)),O(Qb,l,b,v),2===t)return v;i=l.global,i&&0===ea.active++&&ea.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Nb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Fb.test(f)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=Kb.test(f)?f.replace(Kb,"$1_="+Eb++):f+(Fb.test(f)?"&":"?")+"_="+Eb++)),l.ifModified&&(ea.lastModified[f]&&v.setRequestHeader("If-Modified-Since",ea.lastModified[f]),ea.etag[f]&&v.setRequestHeader("If-None-Match",ea.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",l.contentType),v.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Sb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)v.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(m,v,l)===!1||2===t))return v.abort();u="abort";for(e in{success:1,error:1,complete:1})v[e](l[e]);if(j=O(Rb,l,b,v)){v.readyState=1,i&&n.trigger("ajaxSend",[v,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){v.abort("timeout")},l.timeout));try{t=1,j.send(r,c)}catch(w){if(!(2>t))throw w;c(-1,w)}}else c(-1,"No Transport");return v},getJSON:function(a,b,c){return ea.get(a,b,c,"json")},getScript:function(a,b){return ea.get(a,void 0,b,"script")}}),ea.each(["get","post"],function(a,b){ea[b]=function(a,c,d,e){return ea.isFunction(c)&&(e=e||d,d=c,c=void 0),ea.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),ea.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){ea.fn[b]=function(a){return this.on(b,a)}}),ea._evalUrl=function(a){return ea.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},ea.fn.extend({wrapAll:function(a){if(ea.isFunction(a))return this.each(function(b){ea(this).wrapAll(a.call(this,b))});if(this[0]){var b=ea(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstChild&&1===a.firstChild.nodeType;)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return ea.isFunction(a)?this.each(function(b){ea(this).wrapInner(a.call(this,b))}):this.each(function(){var b=ea(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=ea.isFunction(a);return this.each(function(c){ea(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){ea.nodeName(this,"body")||ea(this).replaceWith(this.childNodes)}).end()}}),ea.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!ca.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||ea.css(a,"display"))},ea.expr.filters.visible=function(a){return!ea.expr.filters.hidden(a)};var Ub=/%20/g,Vb=/\[\]$/,Wb=/\r?\n/g,Xb=/^(?:submit|button|image|reset|file)$/i,Yb=/^(?:input|select|textarea|keygen)/i;ea.param=function(a,b){var c,d=[],e=function(a,b){b=ea.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=ea.ajaxSettings&&ea.ajaxSettings.traditional),ea.isArray(a)||a.jquery&&!ea.isPlainObject(a))ea.each(a,function(){e(this.name,this.value)});else for(c in a)S(c,a[c],b,e);return d.join("&").replace(Ub,"+")},ea.fn.extend({serialize:function(){return ea.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=ea.prop(this,"elements");return a?ea.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!ea(this).is(":disabled")&&Yb.test(this.nodeName)&&!Xb.test(a)&&(this.checked||!Ea.test(a))}).map(function(a,b){var c=ea(this).val();return null==c?null:ea.isArray(c)?ea.map(c,function(a){return{name:b.name,value:a.replace(Wb,"\r\n")}}):{name:b.name,value:c.replace(Wb,"\r\n")}}).get()}}),ea.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&T()||U()}:T;var Zb=0,$b={},_b=ea.ajaxSettings.xhr();a.ActiveXObject&&ea(a).on("unload",function(){for(var a in $b)$b[a](void 0,!0)}),ca.cors=!!_b&&"withCredentials"in _b,_b=ca.ajax=!!_b,_b&&ea.ajaxTransport(function(a){if(!a.crossDomain||ca.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Zb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete $b[g],b=void 0,f.onreadystatechange=ea.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=$b[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}}),ea.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return ea.globalEval(a),a}}}),ea.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),ea.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=oa.head||ea("head")[0]||oa.documentElement;return{send:function(d,e){b=oa.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var ac=[],bc=/(=)\?(?=&|$)|\?\?/;ea.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=ac.pop()||ea.expando+"_"+Eb++;return this[a]=!0,a}}),ea.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(bc.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&bc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=ea.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(bc,"$1"+e):b.jsonp!==!1&&(b.url+=(Fb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||ea.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,ac.push(e)),g&&ea.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),ea.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||oa;var d=la.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=ea.buildFragment([a],b,e),e&&e.length&&ea(e).remove(),ea.merge([],d.childNodes))};var cc=ea.fn.load;ea.fn.load=function(a,b,c){if("string"!=typeof a&&cc)return cc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=ea.trim(a.slice(h,a.length)),a=a.slice(0,h)),ea.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&ea.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?ea("<div>").append(ea.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},ea.expr.filters.animated=function(a){return ea.grep(ea.timers,function(b){return a===b.elem}).length};var dc=a.document.documentElement;ea.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=ea.css(a,"position"),l=ea(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=ea.css(a,"top"),i=ea.css(a,"left"),j=("absolute"===k||"fixed"===k)&&ea.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),ea.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},ea.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){ea.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,ea.contains(b,e)?(typeof e.getBoundingClientRect!==xa&&(d=e.getBoundingClientRect()),c=V(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===ea.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),ea.nodeName(a[0],"html")||(c=a.offset()),c.top+=ea.css(a[0],"borderTopWidth",!0),c.left+=ea.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-ea.css(d,"marginTop",!0),left:b.left-c.left-ea.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||dc;a&&!ea.nodeName(a,"html")&&"static"===ea.css(a,"position");)a=a.offsetParent;return a||dc})}}),ea.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);ea.fn[a]=function(d){return Da(this,function(a,d,e){var f=V(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?ea(f).scrollLeft():e,c?e:ea(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),ea.each(["top","left"],function(a,b){ea.cssHooks[b]=A(ca.pixelPosition,function(a,c){return c?(c=bb(a,b),db.test(c)?ea(a).position()[b]+"px":c):void 0})}),ea.each({Height:"height",Width:"width"},function(a,b){ea.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){ea.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Da(this,function(b,c,d){var e;return ea.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,
Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?ea.css(b,c,g):ea.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),ea.fn.size=function(){return this.length},ea.fn.andSelf=ea.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return ea});var ec=a.jQuery,fc=a.$;return ea.noConflict=function(b){return a.$===ea&&(a.$=fc),b&&a.jQuery===ea&&(a.jQuery=ec),ea},typeof b===xa&&(a.jQuery=a.$=ea),ea}),function(){function a(a,b){if(a!==b){var c=a===a,d=b===b;if(a>b||!c||"undefined"==typeof a&&d)return 1;if(b>a||!d||"undefined"==typeof b&&c)return-1}return 0}function b(a,b,c){if(b!==b)return m(a,c);for(var d=(c||0)-1,e=a.length;++d<e;)if(a[d]===b)return d;return-1}function c(a,b){var c=a.length;for(a.sort(b);c--;)a[c]=a[c].value;return a}function d(a){return"string"==typeof a?a:null==a?"":a+""}function e(a){return a.charCodeAt(0)}function f(a,b){for(var c=-1,d=a.length;++c<d&&b.indexOf(a.charAt(c))>-1;);return c}function g(a,b){for(var c=a.length;c--&&b.indexOf(a.charAt(c))>-1;);return c}function h(b,c){return a(b.criteria,c.criteria)||b.index-c.index}function i(b,c){for(var d=-1,e=b.criteria,f=c.criteria,g=e.length;++d<g;){var h=a(e[d],f[d]);if(h)return h}return b.index-c.index}function j(a){return Ma[a]}function k(a){return Na[a]}function l(a){return"\\"+Qa[a]}function m(a,b,c){for(var d=a.length,e=c?b||d:(b||0)-1;c?e--:++e<d;){var f=a[e];if(f!==f)return e}return-1}function n(a){return a&&"object"==typeof a||!1}function o(a){return 160>=a&&a>=9&&13>=a||32==a||160==a||5760==a||6158==a||a>=8192&&(8202>=a||8232==a||8233==a||8239==a||8287==a||12288==a||65279==a)}function p(a,b){for(var c=-1,d=a.length,e=-1,f=[];++c<d;)a[c]===b&&(a[c]=O,f[++e]=c);return f}function q(a,b){for(var c,d=-1,e=a.length,f=-1,g=[];++d<e;){var h=a[d],i=b?b(h,d,a):h;d&&c===i||(c=i,g[++f]=h)}return g}function r(a){for(var b=-1,c=a.length;++b<c&&o(a.charCodeAt(b)););return b}function s(a){for(var b=a.length;b--&&o(a.charCodeAt(b)););return b}function t(a){return Oa[a]}function u(o){function V(a){if(n(a)&&!Pg(a)){if(a instanceof Z)return a;if(Tf.call(a,"__wrapped__"))return new Z(a.__wrapped__,a.__chain__,Za(a.__actions__))}return new Z(a)}function Z(a,b,c){this.__actions__=c||[],this.__chain__=!!b,this.__wrapped__=a}function _(a){this.actions=null,this.dir=1,this.dropCount=0,this.filtered=!1,this.iteratees=null,this.takeCount=vg,this.views=null,this.wrapped=a}function Ma(){var a=this.actions,b=this.iteratees,c=this.views,d=new _(this.wrapped);return d.actions=a?Za(a):null,d.dir=this.dir,d.dropCount=this.dropCount,d.filtered=this.filtered,d.iteratees=b?Za(b):null,d.takeCount=this.takeCount,d.views=c?Za(c):null,d}function Na(){var a=this.filtered,b=a?new _(this):this.clone();return b.dir=-1*this.dir,b.filtered=a,b}function Oa(){var a=this.wrapped.value();if(!Pg(a))return Ub(a,this.actions);var b=this.dir,c=0>b,d=a.length,e=pc(0,d,this.views),f=e.start,g=e.end,h=this.dropCount,i=pg(g-f,this.takeCount-h),j=c?g:f-1,k=this.iteratees,l=k?k.length:0,m=0,n=[];a:for(;d--&&i>m;){j+=b;for(var o=-1,p=a[j];++o<l;){var q=k[o],r=q.iteratee,s=r(p,j,a),t=q.type;if(t==L)p=s;else if(!s){if(t==K)continue a;break a}}h?h--:n[m++]=p}return c?n.reverse():n}function Pa(){this.__data__={}}function Qa(a){return this.has(a)&&delete this.__data__[a]}function Sa(a){return"__proto__"==a?v:this.__data__[a]}function Ta(a){return"__proto__"!=a&&Tf.call(this.__data__,a)}function Ua(a,b){return"__proto__"!=a&&(this.__data__[a]=b),this}function Va(a){var b=a?a.length:0;for(this.data={hash:lg(null),set:new eg};b--;)this.push(a[b])}function Xa(a,b){var c=a.data,d="string"==typeof b||te(b)?c.set.has(b):c.hash[b];return d?0:-1}function Ya(a){var b=this.data;"string"==typeof a||te(a)?b.set.add(a):b.hash[a]=!0}function Za(a,b){var c=-1,d=a.length;for(b||(b=Ef(d));++c<d;)b[c]=a[c];return b}function $a(a,b){for(var c=-1,d=a.length;++c<d&&b(a[c],c,a)!==!1;);return a}function _a(a,b){for(var c=a.length;c--&&b(a[c],c,a)!==!1;);return a}function ab(a,b){for(var c=-1,d=a.length;++c<d;)if(!b(a[c],c,a))return!1;return!0}function bb(a,b){for(var c=-1,d=a.length,e=-1,f=[];++c<d;){var g=a[c];b(g,c,a)&&(f[++e]=g)}return f}function cb(a,b){for(var c=-1,d=a.length,e=Ef(d);++c<d;)e[c]=b(a[c],c,a);return e}function db(a){for(var b=-1,c=a.length,d=ug;++b<c;){var e=a[b];e>d&&(d=e)}return d}function eb(a){for(var b=-1,c=a.length,d=vg;++b<c;){var e=a[b];d>e&&(d=e)}return d}function fb(a,b,c,d){var e=-1,f=a.length;for(d&&f&&(c=a[++e]);++e<f;)c=b(c,a[e],e,a);return c}function gb(a,b,c,d){var e=a.length;for(d&&e&&(c=a[--e]);e--;)c=b(c,a[e],e,a);return c}function hb(a,b){for(var c=-1,d=a.length;++c<d;)if(b(a[c],c,a))return!0;return!1}function ib(a,b){return"undefined"==typeof a?b:a}function jb(a,b,c,d){return"undefined"!=typeof a&&Tf.call(d,c)?a:b}function kb(a,b,c){var d=Tg(b);if(!c)return mb(b,a,d);for(var e=-1,f=d.length;++e<f;){var g=d[e],h=a[g],i=c(h,b[g],g,a,b);(i===i?i===h:h!==h)&&("undefined"!=typeof h||g in a)||(a[g]=i)}return a}function lb(a,b){for(var c=-1,d=a.length,e=wc(d),f=b.length,g=Ef(f);++c<f;){var h=b[c];e?(h=parseFloat(h),g[c]=uc(h,d)?a[h]:v):g[c]=a[h]}return g}function mb(a,b,c){c||(c=b,b={});for(var d=-1,e=c.length;++d<e;){var f=c[d];b[f]=a[f]}return b}function nb(a,b){for(var c=-1,d=b.length;++c<d;){var e=b[c];a[e]=ic(a[e],x,a)}return a}function ob(a,b,c){var e=typeof a;return"function"==e?"undefined"!=typeof b&&tc(a)?Xb(a,b,c):a:null==a?uf:"object"==e?Jb(a,!c):Mb(c?d(a):a)}function pb(a,b,c,d,e,f,g){var h;if(c&&(h=e?c(a,d,e):c(a)),"undefined"!=typeof h)return h;if(!te(a))return a;var i=Pg(a);if(i){if(h=qc(a),!b)return Za(a,h)}else{var j=Vf.call(a),k=j==U;if(j!=X&&j!=P&&(!k||e))return Ka[j]?sc(a,j,b):e?a:{};if(h=rc(k?{}:a),!b)return mb(a,h,Tg(a))}f||(f=[]),g||(g=[]);for(var l=f.length;l--;)if(f[l]==a)return g[l];return f.push(a),g.push(h),(i?$a:Bb)(a,function(d,e){h[e]=pb(d,b,c,e,a,f,g)}),h}function qb(a,b,c,d){if(!se(a))throw new Nf(N);return fg(function(){a.apply(v,Qb(c,d))},b)}function rb(a,c){var d=a?a.length:0,e=[];if(!d)return e;var f=-1,g=oc(),h=g==b,i=h&&c.length>=200&&Fg(c),j=c.length;i&&(g=Xa,h=!1,c=i);a:for(;++f<d;){var k=a[f];if(h&&k===k){for(var l=j;l--;)if(c[l]===k)continue a;e.push(k)}else g(c,k)<0&&e.push(k)}return e}function sb(a,b){var c=a?a.length:0;if(!wc(c))return Bb(a,b);for(var d=-1,e=Fc(a);++d<c&&b(e[d],d,e)!==!1;);return a}function tb(a,b){var c=a?a.length:0;if(!wc(c))return Cb(a,b);for(var d=Fc(a);c--&&b(d[c],c,d)!==!1;);return a}function ub(a,b){var c=!0;return sb(a,function(a,d,e){return c=!!b(a,d,e)}),c}function vb(a,b){var c=[];return sb(a,function(a,d,e){b(a,d,e)&&c.push(a)}),c}function wb(a,b,c,d){var e;return c(a,function(a,c,f){return b(a,c,f)?(e=d?c:a,!1):void 0}),e}function xb(a,b,c,d){for(var e=(d||0)-1,f=a.length,g=-1,h=[];++e<f;){var i=a[e];if(n(i)&&wc(i.length)&&(Pg(i)||le(i))){b&&(i=xb(i,b,c));var j=-1,k=i.length;for(h.length+=k;++j<k;)h[++g]=i[j]}else c||(h[++g]=i)}return h}function yb(a,b,c){for(var d=-1,e=Fc(a),f=c(a),g=f.length;++d<g;){var h=f[d];if(b(e[h],h,e)===!1)break}return a}function zb(a,b,c){for(var d=Fc(a),e=c(a),f=e.length;f--;){var g=e[f];if(b(d[g],g,d)===!1)break}return a}function Ab(a,b){return yb(a,b,Qe)}function Bb(a,b){return yb(a,b,Tg)}function Cb(a,b){return zb(a,b,Tg)}function Db(a,b){for(var c=-1,d=b.length,e=-1,f=[];++c<d;){var g=b[c];se(a[g])&&(f[++e]=g)}return f}function Eb(a,b,c){var d=-1,e="function"==typeof b,f=a?a.length:0,g=wc(f)?Ef(f):[];return sb(a,function(a){var f=e?b:null!=a&&a[b];g[++d]=f?f.apply(a,c):v}),g}function Fb(a,b,c,d,e,f){if(a===b)return 0!==a||1/a==1/b;var g=typeof a,h=typeof b;return"function"!=g&&"object"!=g&&"function"!=h&&"object"!=h||null==a||null==b?a!==a&&b!==b:Gb(a,b,Fb,c,d,e,f)}function Gb(a,b,c,d,e,f,g){var h=Pg(a),i=Pg(b),j=Q,k=Q;h||(j=Vf.call(a),j==P?j=X:j!=X&&(h=Be(a))),i||(k=Vf.call(b),k==P?k=X:k!=X&&(i=Be(b)));var l=j==X,m=k==X,n=j==k;if(n&&!h&&!l)return kc(a,b,j);var o=l&&Tf.call(a,"__wrapped__"),p=m&&Tf.call(b,"__wrapped__");if(o||p)return c(o?a.value():a,p?b.value():b,d,e,f,g);if(!n)return!1;f||(f=[]),g||(g=[]);for(var q=f.length;q--;)if(f[q]==a)return g[q]==b;f.push(a),g.push(b);var r=(h?jc:lc)(a,b,c,d,e,f,g);return f.pop(),g.pop(),r}function Hb(a,b,c,d,e){var f=b.length;if(null==a)return!f;for(var g=-1,h=!e;++g<f;)if(h&&d[g]?c[g]!==a[b[g]]:!Tf.call(a,b[g]))return!1;for(g=-1;++g<f;){var i=b[g];if(h&&d[g])var j=Tf.call(a,i);else{var k=a[i],l=c[g];j=e?e(k,l,i):v,"undefined"==typeof j&&(j=Fb(l,k,e,!0))}if(!j)return!1}return!0}function Ib(a,b){var c=[];return sb(a,function(a,d,e){c.push(b(a,d,e))}),c}function Jb(a,b){var c=Tg(a),d=c.length;if(1==d){var e=c[0],f=a[e];if(xc(f))return function(a){return null!=a&&f===a[e]&&Tf.call(a,e)}}b&&(a=pb(a,!0));for(var g=Ef(d),h=Ef(d);d--;)f=a[c[d]],g[d]=f,h[d]=xc(f);return function(a){return Hb(a,c,g,h)}}function Kb(a,b,c,d,e){var f=wc(b.length)&&(Pg(b)||Be(b));return(f?$a:Bb)(b,function(b,g,h){if(n(b))return d||(d=[]),e||(e=[]),Lb(a,h,g,Kb,c,d,e);var i=a[g],j=c?c(i,b,g,a,h):v,k="undefined"==typeof j;k&&(j=b),!f&&"undefined"==typeof j||!k&&(j===j?j===i:i!==i)||(a[g]=j)}),a}function Lb(a,b,c,d,e,f,g){for(var h=f.length,i=b[c];h--;)if(f[h]==i)return void(a[c]=g[h]);var j=a[c],k=e?e(j,i,c,a,b):v,l="undefined"==typeof k;l&&(k=i,wc(i.length)&&(Pg(i)||Be(i))?k=Pg(j)?j:j?Za(j):[]:(Rg(i)||le(i))&&(k=le(j)?Ee(j):Rg(j)?j:{})),f.push(i),g.push(k),l?a[c]=d(k,i,e,f,g):(k===k?k!==j:j===j)&&(a[c]=k)}function Mb(a){return function(b){return null==b?v:b[a]}}function Nb(b,c){var d=c.length,e=lb(b,c);for(c.sort(a);d--;){var f=parseFloat(c[d]);if(f!=g&&uc(f)){var g=f;gg.call(b,f,1)}}return e}function Ob(a,b){return a+ag(tg()*(b-a+1))}function Pb(a,b,c,d,e){return e(a,function(a,e,f){c=d?(d=!1,a):b(c,a,e,f)}),c}function Qb(a,b,c){var d=-1,e=a.length;b=null==b?0:+b||0,0>b&&(b=-b>e?0:e+b),c="undefined"==typeof c||c>e?e:+c||0,0>c&&(c+=e),e=b>c?0:c-b;for(var f=Ef(e);++d<e;)f[d]=a[d+b];return f}function Rb(a,b){var c;return sb(a,function(a,d,e){return c=b(a,d,e),!c}),!!c}function Sb(a,c){var d=-1,e=oc(),f=a.length,g=e==b,h=g&&f>=200,i=h&&Fg(),j=[];i?(e=Xa,g=!1):(h=!1,i=c?[]:j);a:for(;++d<f;){var k=a[d],l=c?c(k,d,a):k;if(g&&k===k){for(var m=i.length;m--;)if(i[m]===l)continue a;c&&i.push(l),j.push(k)}else e(i,l)<0&&((c||h)&&i.push(l),j.push(k))}return j}function Tb(a,b){for(var c=-1,d=b.length,e=Ef(d);++c<d;)e[c]=a[b[c]];return e}function Ub(a,b){var c=a;c instanceof _&&(c=c.value());for(var d=-1,e=b.length;++d<e;){var f=[c],g=b[d];cg.apply(f,g.args),c=g.func.apply(g.thisArg,f)}return c}function Vb(a,b,c){var d=0,e=a?a.length:d;if("number"==typeof b&&b===b&&yg>=e){for(;e>d;){var f=d+e>>>1,g=a[f];(c?b>=g:b>g)?d=f+1:e=f}return e}return Wb(a,b,uf,c)}function Wb(a,b,c,d){b=c(b);for(var e=0,f=a?a.length:0,g=b!==b,h="undefined"==typeof b;f>e;){var i=ag((e+f)/2),j=c(a[i]),k=j===j;if(g)var l=k||d;else l=h?k&&(d||"undefined"!=typeof j):d?b>=j:b>j;l?e=i+1:f=i}return pg(f,xg)}function Xb(a,b,c){if("function"!=typeof a)return uf;if("undefined"==typeof b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 3:return function(c,d,e){return a.call(b,c,d,e)};case 4:return function(c,d,e,f){return a.call(b,c,d,e,f)};case 5:return function(c,d,e,f,g){return a.call(b,c,d,e,f,g)}}return function(){return a.apply(b,arguments)}}function Yb(a){return Zf.call(a,0)}function Zb(a,b,c){for(var d=c.length,e=-1,f=og(a.length-d,0),g=-1,h=b.length,i=Ef(f+h);++g<h;)i[g]=b[g];for(;++e<d;)i[c[e]]=a[e];for(;f--;)i[g++]=a[e++];return i}function $b(a,b,c){for(var d=-1,e=c.length,f=-1,g=og(a.length-e,0),h=-1,i=b.length,j=Ef(g+i);++f<g;)j[f]=a[f];for(var k=f;++h<i;)j[k+h]=b[h];for(;++d<e;)j[k+c[d]]=a[f++];return j}function _b(a,b){return function(c,d,e){var f=b?b():{};if(d=nc(d,e,3),Pg(c))for(var g=-1,h=c.length;++g<h;){var i=c[g];a(f,i,d(i,g,c),c)}else sb(c,function(b,c,e){a(f,b,d(b,c,e),e)});return f}}function ac(a){return function(){var b=arguments.length,c=arguments[0];if(2>b||null==c)return c;if(b>3&&vc(arguments[1],arguments[2],arguments[3])&&(b=2),b>3&&"function"==typeof arguments[b-2])var d=Xb(arguments[--b-1],arguments[b--],5);else b>2&&"function"==typeof arguments[b-1]&&(d=arguments[--b]);for(var e=0;++e<b;){var f=arguments[e];f&&a(c,f,d)}return c}}function bc(a,b){function c(){return(this instanceof c?d:a).apply(b,arguments)}var d=dc(a);return c}function cc(a){return function(b){for(var c=-1,d=qf(_e(b)),e=d.length,f="";++c<e;)f=a(f,d[c],c);return f}}function dc(a){return function(){var b=Dg(a.prototype),c=a.apply(b,arguments);return te(c)?c:b}}function ec(a,b){return function(c,d,f){f&&vc(c,d,f)&&(d=null);var g=nc(),h=null==d;if(g===ob&&h||(h=!1,d=g(d,f,3)),h){var i=Pg(c);if(i||!Ae(c))return a(i?c:Ec(c));d=e}return mc(c,d,b)}}function fc(a,b,c,d,e,f,g,h,i,j){function k(){for(var u=arguments.length,v=u,w=Ef(u);v--;)w[v]=arguments[v];if(d&&(w=Zb(w,d,e)),f&&(w=$b(w,f,g)),o||r){var z=k.placeholder,A=p(w,z);if(u-=A.length,j>u){var B=h?Za(h):null,E=og(j-u,0),F=o?A:null,G=o?null:A,H=o?w:null,I=o?null:w;b|=o?C:D,b&=~(o?D:C),q||(b&=~(x|y));var J=fc(a,b,c,H,F,I,G,B,i,E);return J.placeholder=z,J}}var K=m?c:this;return n&&(a=K[t]),h&&(w=Bc(w,h)),l&&i<w.length&&(w.length=i),(this instanceof k?s||dc(a):a).apply(K,w)}var l=b&F,m=b&x,n=b&y,o=b&A,q=b&z,r=b&B,s=!n&&dc(a),t=a;return k}function gc(a,b,c){var e=a.length;if(b=+b,e>=b||!mg(b))return"";var f=b-e;return c=null==c?" ":d(c),hf(c,$f(f/c.length)).slice(0,f)}function hc(a,b,c,d){function e(){for(var b=-1,h=arguments.length,i=-1,j=d.length,k=Ef(h+j);++i<j;)k[i]=d[i];for(;h--;)k[i++]=arguments[++b];return(this instanceof e?g:a).apply(f?c:this,k)}var f=b&x,g=dc(a);return e}function ic(a,b,c,d,e,f,g,h){var i=b&y;if(!i&&!se(a))throw new Nf(N);var j=d?d.length:0;if(j||(b&=~(C|D),d=e=null),j-=e?e.length:0,b&D){var k=d,l=e;d=e=null}var m=!i&&Gg(a),n=[a,b,c,d,e,k,l,f,g,h];if(m&&m!==!0&&(yc(n,m),b=n[1],h=n[9]),n[9]=null==h?i?0:a.length:og(h-j,0)||0,b==x)var o=bc(n[0],n[2]);else o=b!=C&&b!=(x|C)||n[4].length?fc.apply(null,n):hc.apply(null,n);var p=m?Eg:Hg;return p(o,n)}function jc(a,b,c,d,e,f,g){var h=-1,i=a.length,j=b.length,k=!0;if(i!=j&&!(e&&j>i))return!1;for(;k&&++h<i;){var l=a[h],m=b[h];if(k=v,d&&(k=e?d(m,l,h):d(l,m,h)),"undefined"==typeof k)if(e)for(var n=j;n--&&(m=b[n],!(k=l&&l===m||c(l,m,d,e,f,g))););else k=l&&l===m||c(l,m,d,e,f,g)}return!!k}function kc(a,b,c){switch(c){case R:case S:return+a==+b;case T:return a.name==b.name&&a.message==b.message;case W:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case Y:case $:return a==d(b)}return!1}function lc(a,b,c,d,e,f,g){var h=Tg(a),i=h.length,j=Tg(b),k=j.length;if(i!=k&&!e)return!1;for(var l,m=-1;++m<i;){var n=h[m],o=Tf.call(b,n);if(o){var p=a[n],q=b[n];o=v,d&&(o=e?d(q,p,n):d(p,q,n)),"undefined"==typeof o&&(o=p&&p===q||c(p,q,d,e,f,g))}if(!o)return!1;l||(l="constructor"==n)}if(!l){var r=a.constructor,s=b.constructor;if(r!=s&&"constructor"in a&&"constructor"in b&&!("function"==typeof r&&r instanceof r&&"function"==typeof s&&s instanceof s))return!1}return!0}function mc(a,b,c){var d=c?vg:ug,e=d,f=e;return sb(a,function(a,g,h){var i=b(a,g,h);((c?e>i:i>e)||i===d&&i===f)&&(e=i,f=a)}),f}function nc(a,b,c){var d=V.callback||sf;return d=d===sf?ob:d,c?d(a,b,c):d}function oc(a,c,d){var e=V.indexOf||Sc;return e=e===Sc?b:e,a?e(a,c,d):e}function pc(a,b,c){for(var d=-1,e=c?c.length:0;++d<e;){var f=c[d],g=f.size;switch(f.type){case"drop":a+=g;break;case"dropRight":b-=g;break;case"take":b=pg(b,a+g);break;case"takeRight":a=og(a,b-g)}}return{start:a,end:b}}function qc(a){var b=a.length,c=new a.constructor(b);return b&&"string"==typeof a[0]&&Tf.call(a,"index")&&(c.index=a.index,c.input=a.input),c}function rc(a){var b=a.constructor;return"function"==typeof b&&b instanceof b||(b=Kf),new b}function sc(a,b,c){var d=a.constructor;switch(b){case aa:return Yb(a);case R:case S:return new d(+a);case ba:case ca:case da:case ea:case fa:case ga:case ha:case ia:case ja:var e=a.buffer;return new d(c?Yb(e):e,a.byteOffset,a.length);case W:case $:return new d(a);case Y:var f=new d(a.source,va.exec(a));f.lastIndex=a.lastIndex}return f}function tc(a){var b=V.support,c=!(b.funcNames?a.name:b.funcDecomp);if(!c){var d=Rf.call(a);b.funcNames||(c=!wa.test(d)),c||(c=Da.test(d)||we(a),Eg(a,c))}return c}function uc(a,b){return a=+a,b=null==b?Ag:b,a>-1&&a%1==0&&b>a}function vc(a,b,c){if(!te(c))return!1;var d=typeof b;if("number"==d)var e=c.length,f=wc(e)&&uc(b,e);else f="string"==d&&b in a;return f&&c[b]===a}function wc(a){return"number"==typeof a&&a>-1&&a%1==0&&Ag>=a}function xc(a){return a===a&&(0===a?1/a>0:!te(a))}function yc(a,b){var c=a[1],d=b[1],e=c|d,f=F|E,g=x|y,h=f|g|z|B,i=c&F&&!(d&F),j=c&E&&!(d&E),k=(j?a:b)[7],l=(i?a:b)[8],m=!(c>=E&&d>g||c>g&&d>=E),n=e>=f&&h>=e&&(E>c||(j||i)&&k.length<=l);if(!m&&!n)return a;d&x&&(a[2]=b[2],e|=c&x?0:z);var o=b[3];if(o){var q=a[3];a[3]=q?Zb(q,o,b[4]):Za(o),a[4]=q?p(a[3],O):Za(b[4])}return o=b[5],o&&(q=a[5],a[5]=q?$b(q,o,b[6]):Za(o),a[6]=q?p(a[5],O):Za(b[6])),o=b[7],o&&(a[7]=Za(o)),d&F&&(a[8]=null==a[8]?b[8]:pg(a[8],b[8])),null==a[9]&&(a[9]=b[9]),a[0]=b[0],a[1]=e,a}function zc(a,b){a=Fc(a);for(var c=-1,d=b.length,e={};++c<d;){var f=b[c];f in a&&(e[f]=a[f])}return e}function Ac(a,b){var c={};return Ab(a,function(a,d,e){b(a,d,e)&&(c[d]=a)}),c}function Bc(a,b){for(var c=a.length,d=pg(b.length,c),e=Za(a);d--;){var f=b[d];a[d]=uc(f,c)?e[f]:v}return a}function Cc(a){var b;V.support;if(!n(a)||Vf.call(a)!=X||!Tf.call(a,"constructor")&&(b=a.constructor,"function"==typeof b&&!(b instanceof b)))return!1;var c;return Ab(a,function(a,b){c=b}),"undefined"==typeof c||Tf.call(a,c)}function Dc(a){for(var b=Qe(a),c=b.length,d=c&&a.length,e=V.support,f=d&&wc(d)&&(Pg(a)||e.nonEnumArgs&&le(a)),g=-1,h=[];++g<c;){var i=b[g];(f&&uc(i,d)||Tf.call(a,i))&&h.push(i)}return h}function Ec(a){return null==a?[]:wc(a.length)?te(a)?a:Kf(a):Xe(a)}function Fc(a){return te(a)?a:Kf(a)}function Gc(a,b,c){b=(c?vc(a,b,c):null==b)?1:og(+b||1,1);for(var d=0,e=a?a.length:0,f=-1,g=Ef($f(e/b));e>d;)g[++f]=Qb(a,d,d+=b);return g}function Hc(a){for(var b=-1,c=a?a.length:0,d=-1,e=[];++b<c;){var f=a[b];f&&(e[++d]=f)}return e}function Ic(){for(var a=-1,b=arguments.length;++a<b;){var c=arguments[a];if(Pg(c)||le(c))break}return rb(c,xb(arguments,!1,!0,++a))}function Jc(a,b,c){var d=a?a.length:0;return d?((c?vc(a,b,c):null==b)&&(b=1),Qb(a,0>b?0:b)):[]}function Kc(a,b,c){var d=a?a.length:0;return d?((c?vc(a,b,c):null==b)&&(b=1),b=d-(+b||0),Qb(a,0,0>b?0:b)):[]}function Lc(a,b,c){var d=a?a.length:0;if(!d)return[];for(b=nc(b,c,3);d--&&b(a[d],d,a););return Qb(a,0,d+1)}function Mc(a,b,c){var d=a?a.length:0;if(!d)return[];var e=-1;for(b=nc(b,c,3);++e<d&&b(a[e],e,a););return Qb(a,e)}function Nc(a,b,c){var d=-1,e=a?a.length:0;for(b=nc(b,c,3);++d<e;)if(b(a[d],d,a))return d;return-1}function Oc(a,b,c){var d=a?a.length:0;for(b=nc(b,c,3);d--;)if(b(a[d],d,a))return d;return-1}function Pc(a){return a?a[0]:v}function Qc(a,b,c){var d=a?a.length:0;return c&&vc(a,b,c)&&(b=!1),d?xb(a,b):[]}function Rc(a){var b=a?a.length:0;return b?xb(a,!0):[]}function Sc(a,c,d){var e=a?a.length:0;if(!e)return-1;if("number"==typeof d)d=0>d?og(e+d,0):d||0;else if(d){var f=Vb(a,c),g=a[f];return(c===c?c===g:g!==g)?f:-1}return b(a,c,d)}function Tc(a){return Kc(a,1)}function Uc(){for(var a=[],c=-1,d=arguments.length,e=[],f=oc(),g=f==b;++c<d;){var h=arguments[c];(Pg(h)||le(h))&&(a.push(h),e.push(g&&h.length>=120&&Fg(c&&h)))}d=a.length;var i=a[0],j=-1,k=i?i.length:0,l=[],m=e[0];a:for(;++j<k;)if(h=i[j],(m?Xa(m,h):f(l,h))<0){for(c=d;--c;){var n=e[c];if((n?Xa(n,h):f(a[c],h))<0)continue a}m&&m.push(h),l.push(h)}return l}function Vc(a){var b=a?a.length:0;return b?a[b-1]:v}function Wc(a,b,c){var d=a?a.length:0;if(!d)return-1;var e=d;if("number"==typeof c)e=(0>c?og(d+c,0):pg(c||0,d-1))+1;else if(c){e=Vb(a,b,!0)-1;var f=a[e];return(b===b?b===f:f!==f)?e:-1}if(b!==b)return m(a,e,!0);for(;e--;)if(a[e]===b)return e;return-1}function Xc(){var a=arguments[0];if(!a||!a.length)return a;for(var b=0,c=oc(),d=arguments.length;++b<d;)for(var e=0,f=arguments[b];(e=c(a,f,e))>-1;)gg.call(a,e,1);return a}function Yc(a){return Nb(a||[],xb(arguments,!1,!1,1))}function Zc(a,b,c){var d=-1,e=a?a.length:0,f=[];for(b=nc(b,c,3);++d<e;){var g=a[d];b(g,d,a)&&(f.push(g),gg.call(a,d--,1),e--)}return f}function $c(a){return Jc(a,1)}function _c(a,b,c){var d=a?a.length:0;return d?(c&&"number"!=typeof c&&vc(a,b,c)&&(b=0,c=d),Qb(a,b,c)):[]}function ad(a,b,c,d){var e=nc(c);return e===ob&&null==c?Vb(a,b):Wb(a,b,e(c,d,1))}function bd(a,b,c,d){var e=nc(c);return e===ob&&null==c?Vb(a,b,!0):Wb(a,b,e(c,d,1),!0)}function cd(a,b,c){var d=a?a.length:0;return d?((c?vc(a,b,c):null==b)&&(b=1),Qb(a,0,0>b?0:b)):[]}function dd(a,b,c){var d=a?a.length:0;return d?((c?vc(a,b,c):null==b)&&(b=1),b=d-(+b||0),Qb(a,0>b?0:b)):[]}function ed(a,b,c){var d=a?a.length:0;if(!d)return[];for(b=nc(b,c,3);d--&&b(a[d],d,a););return Qb(a,d+1)}function fd(a,b,c){var d=a?a.length:0;if(!d)return[];var e=-1;for(b=nc(b,c,3);++e<d&&b(a[e],e,a););return Qb(a,0,e)}function gd(){return Sb(xb(arguments,!1,!0))}function hd(a,c,d,e){var f=a?a.length:0;if(!f)return[];"boolean"!=typeof c&&null!=c&&(e=d,d=vc(a,c,e)?null:c,c=!1);var g=nc();return(g!==ob||null!=d)&&(d=g(d,e,3)),c&&oc()==b?q(a,d):Sb(a,d)}function id(a){for(var b=-1,c=(a&&a.length&&db(cb(a,Sf)))>>>0,d=Ef(c);++b<c;)d[b]=cb(a,Mb(b));return d}function jd(a){return rb(a,Qb(arguments,1))}function kd(){for(var a=-1,b=arguments.length;++a<b;){var c=arguments[a];if(Pg(c)||le(c))var d=d?rb(d,c).concat(rb(c,d)):c}return d?Sb(d):[]}function ld(){for(var a=arguments.length,b=Ef(a);a--;)b[a]=arguments[a];return id(b)}function md(a,b){var c=-1,d=a?a.length:0,e={};for(!d||b||Pg(a[0])||(b=[]);++c<d;){var f=a[c];b?e[f]=b[c]:f&&(e[f[0]]=f[1])}return e}function nd(a){var b=V(a);return b.__chain__=!0,b}function od(a,b,c){return b.call(c,a),a}function pd(a,b,c){return b.call(c,a)}function qd(){return nd(this)}function rd(){var a=this.__wrapped__;return a instanceof _?new Z(a.reverse()):this.thru(function(a){return a.reverse()})}function sd(){return this.value()+""}function td(){return Ub(this.__wrapped__,this.__actions__)}function ud(a){var b=a?a.length:0;return wc(b)&&(a=Ec(a)),lb(a,xb(arguments,!1,!1,1))}function vd(a,b,c){var d=a?a.length:0;return wc(d)||(a=Xe(a),d=a.length),d?(c="number"==typeof c?0>c?og(d+c,0):c||0:0,"string"==typeof a||!Pg(a)&&Ae(a)?d>c&&a.indexOf(b,c)>-1:oc(a,b,c)>-1):!1}function wd(a,b,c){var d=Pg(a)?ab:ub;return("function"!=typeof b||"undefined"!=typeof c)&&(b=nc(b,c,3)),d(a,b)}function xd(a,b,c){var d=Pg(a)?bb:vb;return b=nc(b,c,3),d(a,b)}function yd(a,b,c){if(Pg(a)){var d=Nc(a,b,c);return d>-1?a[d]:v}return b=nc(b,c,3),wb(a,b,sb)}function zd(a,b,c){return b=nc(b,c,3),wb(a,b,tb)}function Ad(a,b){return yd(a,vf(b))}function Bd(a,b,c){return"function"==typeof b&&"undefined"==typeof c&&Pg(a)?$a(a,b):sb(a,Xb(b,c,3))}function Cd(a,b,c){return"function"==typeof b&&"undefined"==typeof c&&Pg(a)?_a(a,b):tb(a,Xb(b,c,3))}function Dd(a,b){return Eb(a,b,Qb(arguments,2))}function Ed(a,b,c){var d=Pg(a)?cb:Ib;return b=nc(b,c,3),d(a,b)}function Fd(a,b){return Ed(a,zf(b))}function Gd(a,b,c,d){var e=Pg(a)?fb:Pb;return e(a,nc(b,d,4),c,arguments.length<3,sb)}function Hd(a,b,c,d){var e=Pg(a)?gb:Pb;return e(a,nc(b,d,4),c,arguments.length<3,tb)}function Id(a,b,c){var d=Pg(a)?bb:vb;return b=nc(b,c,3),d(a,function(a,c,d){return!b(a,c,d)})}function Jd(a,b,c){if(c?vc(a,b,c):null==b){a=Ec(a);var d=a.length;return d>0?a[Ob(0,d-1)]:v}var e=Kd(a);return e.length=pg(0>b?0:+b||0,e.length),e}function Kd(a){a=Ec(a);for(var b=-1,c=a.length,d=Ef(c);++b<c;){var e=Ob(0,b);b!=e&&(d[b]=d[e]),d[e]=a[b]}return d}function Ld(a){var b=a?a.length:0;return wc(b)?b:Tg(a).length}function Md(a,b,c){var d=Pg(a)?hb:Rb;return("function"!=typeof b||"undefined"!=typeof c)&&(b=nc(b,c,3)),d(a,b)}function Nd(a,b,d){var e=-1,f=a?a.length:0,g=wc(f)?Ef(f):[];return d&&vc(a,b,d)&&(b=null),b=nc(b,d,3),sb(a,function(a,c,d){g[++e]={criteria:b(a,c,d),index:e,value:a}}),c(g,h)}function Od(a){var b=arguments;b.length>3&&vc(b[1],b[2],b[3])&&(b=[a,b[1]]);var d=-1,e=a?a.length:0,f=xb(b,!1,!1,1),g=wc(e)?Ef(e):[];return sb(a,function(a,b,c){for(var e=f.length,h=Ef(e);e--;)h[e]=null==a?v:a[f[e]];g[++d]={criteria:h,index:d,value:a}}),c(g,i)}function Pd(a,b){return xd(a,vf(b))}function Qd(a,b){if(!se(b)){if(!se(a))throw new Nf(N);var c=a;a=b,b=c}return a=mg(a=+a)?a:0,function(){return--a<1?b.apply(this,arguments):void 0}}function Rd(a,b,c){return c&&vc(a,b,c)&&(b=null),b=a&&null==b?a.length:og(+b||0,0),ic(a,F,null,null,null,null,b)}function Sd(a,b){var c;if(!se(b)){if(!se(a))throw new Nf(N);var d=a;a=b,b=d}return function(){return--a>0?c=b.apply(this,arguments):b=null,c}}function Td(a,b){var c=x;if(arguments.length>2){var d=Qb(arguments,2),e=p(d,Td.placeholder);c|=C}return ic(a,c,b,d,e)}function Ud(a){return nb(a,arguments.length>1?xb(arguments,!1,!1,1):Ne(a))}function Vd(a,b){var c=x|y;if(arguments.length>2){var d=Qb(arguments,2),e=p(d,Vd.placeholder);c|=C}return ic(b,c,a,d,e)}function Wd(a,b,c){c&&vc(a,b,c)&&(b=null);var d=ic(a,A,null,null,null,null,null,b);return d.placeholder=Wd.placeholder,d}function Xd(a,b,c){c&&vc(a,b,c)&&(b=null);var d=ic(a,B,null,null,null,null,null,b);return d.placeholder=Xd.placeholder,d}function Yd(a,b,c){function d(){m&&_f(m),i&&_f(i),i=m=n=v}function e(){var c=b-(Og()-k);if(0>=c||c>b){i&&_f(i);var d=n;i=m=n=v,d&&(o=Og(),j=a.apply(l,h),m||i||(h=l=null))}else m=fg(e,c)}function f(){m&&_f(m),i=m=n=v,(q||p!==b)&&(o=Og(),j=a.apply(l,h),m||i||(h=l=null))}function g(){if(h=arguments,k=Og(),l=this,n=q&&(m||!r),p===!1)var c=r&&!m;else{i||r||(o=k);var d=p-(k-o),g=0>=d||d>p;g?(i&&(i=_f(i)),o=k,j=a.apply(l,h)):i||(i=fg(f,d))}return g&&m?m=_f(m):m||b===p||(m=fg(e,b)),c&&(g=!0,j=a.apply(l,h)),!g||m||i||(h=l=null),j}var h,i,j,k,l,m,n,o=0,p=!1,q=!0;if(!se(a))throw new Nf(N);if(b=0>b?0:b,c===!0){var r=!0;q=!1}else te(c)&&(r=c.leading,p="maxWait"in c&&og(+c.maxWait||0,b),q="trailing"in c?c.trailing:q);return g.cancel=d,g}function Zd(a){return qb(a,1,arguments,1)}function $d(a,b){return qb(a,b,arguments,2)}function _d(){var a=arguments,b=a.length;if(!b)return function(){};if(!ab(a,se))throw new Nf(N);return function(){for(var c=0,d=a[c].apply(this,arguments);++c<b;)d=a[c].call(this,d);return d}}function ae(){var a=arguments,b=a.length-1;if(0>b)return function(){};if(!ab(a,se))throw new Nf(N);return function(){for(var c=b,d=a[c].apply(this,arguments);c--;)d=a[c].call(this,d);return d}}function be(a,b){if(!se(a)||b&&!se(b))throw new Nf(N);var c=function(){var d=c.cache,e=b?b.apply(this,arguments):arguments[0];if(d.has(e))return d.get(e);var f=a.apply(this,arguments);return d.set(e,f),f};return c.cache=new be.Cache,c}function ce(a){if(!se(a))throw new Nf(N);return function(){return!a.apply(this,arguments)}}function de(a){return Sd(a,2)}function ee(a){var b=Qb(arguments,1),c=p(b,ee.placeholder);return ic(a,C,null,b,c)}function fe(a){var b=Qb(arguments,1),c=p(b,fe.placeholder);return ic(a,D,null,b,c)}function ge(a){var b=xb(arguments,!1,!1,1);return ic(a,E,null,null,null,b)}function he(a,b,c){var d=!0,e=!0;if(!se(a))throw new Nf(N);return c===!1?d=!1:te(c)&&(d="leading"in c?!!c.leading:d,e="trailing"in c?!!c.trailing:e),La.leading=d,La.maxWait=+b,La.trailing=e,Yd(a,b,La)}function ie(a,b){return b=null==b?uf:b,ic(b,C,null,[a],[])}function je(a,b,c,d){return"boolean"!=typeof b&&null!=b&&(d=c,c=vc(a,b,d)?null:b,b=!1),c="function"==typeof c&&Xb(c,d,1),pb(a,b,c)}function ke(a,b,c){return b="function"==typeof b&&Xb(b,c,1),pb(a,!0,b)}function le(a){var b=n(a)?a.length:v;return wc(b)&&Vf.call(a)==P||!1}function me(a){return a===!0||a===!1||n(a)&&Vf.call(a)==R||!1}function ne(a){return n(a)&&Vf.call(a)==S||!1}function oe(a){return a&&1===a.nodeType&&n(a)&&Vf.call(a).indexOf("Element")>-1||!1}function pe(a){if(null==a)return!0;var b=a.length;return wc(b)&&(Pg(a)||Ae(a)||le(a)||n(a)&&se(a.splice))?!b:!Tg(a).length}function qe(a,b,c,d){if(c="function"==typeof c&&Xb(c,d,3),!c&&xc(a)&&xc(b))return a===b;var e=c?c(a,b):v;return"undefined"==typeof e?Fb(a,b,c):!!e}function re(a){return n(a)&&"string"==typeof a.message&&Vf.call(a)==T||!1}function se(a){return"function"==typeof a||!1}function te(a){var b=typeof a;return"function"==b||a&&"object"==b||!1}function ue(a,b,c,d){var e=Tg(b),f=e.length;if(c="function"==typeof c&&Xb(c,d,3),!c&&1==f){var g=e[0],h=b[g];if(xc(h))return null!=a&&h===a[g]&&Tf.call(a,g)}for(var i=Ef(f),j=Ef(f);f--;)h=i[f]=b[e[f]],j[f]=xc(h);return Hb(a,e,i,j,c)}function ve(a){return ye(a)&&a!=+a}function we(a){return null==a?!1:Vf.call(a)==U?Xf.test(Rf.call(a)):n(a)&&ya.test(a)||!1}function xe(a){return null===a}function ye(a){return"number"==typeof a||n(a)&&Vf.call(a)==W||!1}function ze(a){return n(a)&&Vf.call(a)==Y||!1}function Ae(a){return"string"==typeof a||n(a)&&Vf.call(a)==$||!1}function Be(a){return n(a)&&wc(a.length)&&Ja[Vf.call(a)]||!1}function Ce(a){return"undefined"==typeof a}function De(a){var b=a?a.length:0;return wc(b)?b?Za(a):[]:Xe(a)}function Ee(a){return mb(a,Qe(a))}function Fe(a,b,c){var d=Dg(a);return c&&vc(a,b,c)&&(b=null),b?mb(b,d,Tg(b)):d}function Ge(a){if(null==a)return a;var b=Za(arguments);return b.push(ib),Sg.apply(v,b)}function He(a,b,c){return b=nc(b,c,3),wb(a,b,Bb,!0)}function Ie(a,b,c){return b=nc(b,c,3),wb(a,b,Cb,!0)}function Je(a,b,c){return("function"!=typeof b||"undefined"!=typeof c)&&(b=Xb(b,c,3)),yb(a,b,Qe)}function Ke(a,b,c){return b=Xb(b,c,3),zb(a,b,Qe)}function Le(a,b,c){return("function"!=typeof b||"undefined"!=typeof c)&&(b=Xb(b,c,3)),Bb(a,b)}function Me(a,b,c){return b=Xb(b,c,3),zb(a,b,Tg)}function Ne(a){return Db(a,Qe(a))}function Oe(a,b){return a?Tf.call(a,b):!1}function Pe(a,b,c){c&&vc(a,b,c)&&(b=null);for(var d=-1,e=Tg(a),f=e.length,g={};++d<f;){var h=e[d],i=a[h];b?Tf.call(g,i)?g[i].push(h):g[i]=[h]:g[i]=h}return g}function Qe(a){if(null==a)return[];te(a)||(a=Kf(a));var b=a.length;b=b&&wc(b)&&(Pg(a)||Cg.nonEnumArgs&&le(a))&&b||0;for(var c=a.constructor,d=-1,e="function"==typeof c&&c.prototype==a,f=Ef(b),g=b>0;++d<b;)f[d]=d+"";for(var h in a)g&&uc(h,b)||"constructor"==h&&(e||!Tf.call(a,h))||f.push(h);return f}function Re(a,b,c){var d={};return b=nc(b,c,3),Bb(a,function(a,c,e){d[c]=b(a,c,e)}),d}function Se(a,b,c){if(null==a)return{};if("function"!=typeof b){var d=cb(xb(arguments,!1,!1,1),Mf);return zc(a,rb(Qe(a),d))}return b=Xb(b,c,3),Ac(a,function(a,c,d){return!b(a,c,d)})}function Te(a){for(var b=-1,c=Tg(a),d=c.length,e=Ef(d);++b<d;){var f=c[b];e[b]=[f,a[f]]}return e}function Ue(a,b,c){return null==a?{}:"function"==typeof b?Ac(a,Xb(b,c,3)):zc(a,xb(arguments,!1,!1,1))}function Ve(a,b,c){var d=null==a?v:a[b];return"undefined"==typeof d&&(d=c),se(d)?d.call(a):d}function We(a,b,c,d){var e=Pg(a)||Be(a);if(b=nc(b,d,4),null==c)if(e||te(a)){var f=a.constructor;c=e?Pg(a)?new f:[]:Dg("function"==typeof f&&f.prototype)}else c={};return(e?$a:Bb)(a,function(a,d,e){return b(c,a,d,e)}),c}function Xe(a){return Tb(a,Tg(a))}function Ye(a){return Tb(a,Qe(a))}function Ze(a,b,c){c&&vc(a,b,c)&&(b=c=null);var d=null==a,e=null==b;if(null==c&&(e&&"boolean"==typeof a?(c=a,a=1):"boolean"==typeof b&&(c=b,e=!0)),d&&e&&(b=1,e=!1),a=+a||0,e?(b=a,a=0):b=+b||0,c||a%1||b%1){var f=tg();return pg(a+f*(b-a+parseFloat("1e-"+((f+"").length-1))),b)}return Ob(a,b)}function $e(a){return a=d(a),a&&a.charAt(0).toUpperCase()+a.slice(1)}function _e(a){return a=d(a),a&&a.replace(za,j)}function af(a,b,c){a=d(a),b+="";var e=a.length;return c=("undefined"==typeof c?e:pg(0>c?0:+c||0,e))-b.length,c>=0&&a.indexOf(b,c)==c}function bf(a){return a=d(a),a&&qa.test(a)?a.replace(oa,k):a}function cf(a){return a=d(a),a&&Ca.test(a)?a.replace(Ba,"\\$&"):a}function df(a,b,c){a=d(a),b=+b;var e=a.length;if(e>=b||!mg(b))return a;var f=(b-e)/2,g=ag(f),h=$f(f);return c=gc("",h,c),c.slice(0,g)+a+c}function ef(a,b,c){return a=d(a),a&&gc(a,b,c)+a}function ff(a,b,c){return a=d(a),a&&a+gc(a,b,c)}function gf(a,b,c){return c&&vc(a,b,c)&&(b=0),sg(a,b)}function hf(a,b){var c="";if(a=d(a),b=+b,1>b||!a||!mg(b))return c;do b%2&&(c+=a),b=ag(b/2),a+=a;while(b);return c}function jf(a,b,c){return a=d(a),c=null==c?0:pg(0>c?0:+c||0,a.length),a.lastIndexOf(b,c)==c}function kf(a,b,c){var e=V.templateSettings;c&&vc(a,b,c)&&(b=c=null),a=d(a),b=kb(kb({},c||b),e,jb);
var f,g,h=kb(kb({},b.imports),e.imports,jb),i=Tg(h),j=Tb(h,i),k=0,m=b.interpolate||Aa,n="__p += '",o=Lf((b.escape||Aa).source+"|"+m.source+"|"+(m===ta?ua:Aa).source+"|"+(b.evaluate||Aa).source+"|$","g"),p="//# sourceURL="+("sourceURL"in b?b.sourceURL:"lodash.templateSources["+ ++Ia+"]")+"\n";a.replace(o,function(b,c,d,e,h,i){return d||(d=e),n+=a.slice(k,i).replace(Ea,l),c&&(f=!0,n+="' +\n__e("+c+") +\n'"),h&&(g=!0,n+="';\n"+h+";\n__p += '"),d&&(n+="' +\n((__t = ("+d+")) == null ? '' : __t) +\n'"),k=i+b.length,b}),n+="';\n";var q=b.variable;q||(n="with (obj) {\n"+n+"\n}\n"),n=(g?n.replace(ka,""):n).replace(la,"$1").replace(ma,"$1;"),n="function("+(q||"obj")+") {\n"+(q?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(f?", __e = _.escape":"")+(g?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+n+"return __p\n}";var r=rf(function(){return Hf(i,p+"return "+n).apply(v,j)});if(r.source=n,re(r))throw r;return r}function lf(a,b,c){var e=a;return(a=d(a))?(c?vc(e,b,c):null==b)?a.slice(r(a),s(a)+1):(b=d(b),a.slice(f(a,b),g(a,b)+1)):a}function mf(a,b,c){var e=a;return a=d(a),a?(c?vc(e,b,c):null==b)?a.slice(r(a)):a.slice(f(a,d(b))):a}function nf(a,b,c){var e=a;return a=d(a),a?(c?vc(e,b,c):null==b)?a.slice(0,s(a)+1):a.slice(0,g(a,d(b))+1):a}function of(a,b,c){c&&vc(a,b,c)&&(b=null);var e=G,f=H;if(null!=b)if(te(b)){var g="separator"in b?b.separator:g;e="length"in b?+b.length||0:e,f="omission"in b?d(b.omission):f}else e=+b||0;if(a=d(a),e>=a.length)return a;var h=e-f.length;if(1>h)return f;var i=a.slice(0,h);if(null==g)return i+f;if(ze(g)){if(a.slice(h).search(g)){var j,k,l=a.slice(0,h);for(g.global||(g=Lf(g.source,(va.exec(g)||"")+"g")),g.lastIndex=0;j=g.exec(l);)k=j.index;i=i.slice(0,null==k?h:k)}}else if(a.indexOf(g,h)!=h){var m=i.lastIndexOf(g);m>-1&&(i=i.slice(0,m))}return i+f}function pf(a){return a=d(a),a&&pa.test(a)?a.replace(na,t):a}function qf(a,b,c){return c&&vc(a,b,c)&&(b=null),a=d(a),a.match(b||Fa)||[]}function rf(a){try{return a()}catch(b){return re(b)?b:Gf(b)}}function sf(a,b,c){return c&&vc(a,b,c)&&(b=null),ob(a,b)}function tf(a){return function(){return a}}function uf(a){return a}function vf(a){return Jb(a,!0)}function wf(a,b,c){if(null==c){var d=te(b),e=d&&Tg(b),f=e&&e.length&&Db(b,e);(f?f.length:d)||(f=!1,c=b,b=a,a=this)}f||(f=Db(b,Tg(b)));var g=!0,h=-1,i=se(a),j=f.length;c===!1?g=!1:te(c)&&"chain"in c&&(g=c.chain);for(;++h<j;){var k=f[h],l=b[k];a[k]=l,i&&(a.prototype[k]=function(b){return function(){var c=this.__chain__;if(g||c){var d=a(this.__wrapped__);return(d.__actions__=Za(this.__actions__)).push({func:b,args:arguments,thisArg:a}),d.__chain__=c,d}var e=[this.value()];return cg.apply(e,arguments),b.apply(a,e)}}(l))}return a}function xf(){return o._=Wf,this}function yf(){}function zf(a){return Mb(a+"")}function Af(a){return function(b){return null==a?v:a[b]}}function Bf(a,b,c){c&&vc(a,b,c)&&(b=c=null),a=+a||0,c=null==c?1:+c||0,null==b?(b=a,a=0):b=+b||0;for(var d=-1,e=og($f((b-a)/(c||1)),0),f=Ef(e);++d<e;)f[d]=a,a+=c;return f}function Cf(a,b,c){if(a=+a,1>a||!mg(a))return[];var d=-1,e=Ef(pg(a,wg));for(b=Xb(b,c,1);++d<a;)wg>d?e[d]=b(d):b(d);return e}function Df(a){var b=++Uf;return d(a)+b}o=o?Wa.defaults(Ra.Object(),o,Wa.pick(Ra,Ha)):Ra;var Ef=o.Array,Ff=o.Date,Gf=o.Error,Hf=o.Function,If=o.Math,Jf=o.Number,Kf=o.Object,Lf=o.RegExp,Mf=o.String,Nf=o.TypeError,Of=Ef.prototype,Pf=Kf.prototype,Qf=(Qf=o.window)&&Qf.document,Rf=Hf.prototype.toString,Sf=Mb("length"),Tf=Pf.hasOwnProperty,Uf=0,Vf=Pf.toString,Wf=o._,Xf=Lf("^"+cf(Vf).replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Yf=we(Yf=o.ArrayBuffer)&&Yf,Zf=we(Zf=Yf&&new Yf(0).slice)&&Zf,$f=If.ceil,_f=o.clearTimeout,ag=If.floor,bg=we(bg=Kf.getPrototypeOf)&&bg,cg=Of.push,dg=Pf.propertyIsEnumerable,eg=we(eg=o.Set)&&eg,fg=o.setTimeout,gg=Of.splice,hg=we(hg=o.Uint8Array)&&hg,ig=(Of.unshift,we(ig=o.WeakMap)&&ig),jg=function(){try{var a=we(a=o.Float64Array)&&a,b=new a(new Yf(10),0,1)&&a}catch(c){}return b}(),kg=we(kg=Ef.isArray)&&kg,lg=we(lg=Kf.create)&&lg,mg=o.isFinite,ng=we(ng=Kf.keys)&&ng,og=If.max,pg=If.min,qg=we(qg=Ff.now)&&qg,rg=we(rg=Jf.isFinite)&&rg,sg=o.parseInt,tg=If.random,ug=Jf.NEGATIVE_INFINITY,vg=Jf.POSITIVE_INFINITY,wg=If.pow(2,32)-1,xg=wg-1,yg=wg>>>1,zg=jg?jg.BYTES_PER_ELEMENT:0,Ag=If.pow(2,53)-1,Bg=ig&&new ig,Cg=V.support={};!function(a){Cg.funcDecomp=!we(o.WinRTError)&&Da.test(u),Cg.funcNames="string"==typeof Hf.name;try{Cg.dom=11===Qf.createDocumentFragment().nodeType}catch(b){Cg.dom=!1}try{Cg.nonEnumArgs=!dg.call(arguments,1)}catch(b){Cg.nonEnumArgs=!0}}(0,0),V.templateSettings={escape:ra,evaluate:sa,interpolate:ta,variable:"",imports:{_:V}};var Dg=function(){function a(){}return function(b){if(te(b)){a.prototype=b;var c=new a;a.prototype=null}return c||o.Object()}}(),Eg=Bg?function(a,b){return Bg.set(a,b),a}:uf;Zf||(Yb=Yf&&hg?function(a){var b=a.byteLength,c=jg?ag(b/zg):0,d=c*zg,e=new Yf(b);if(c){var f=new jg(e,0,c);f.set(new jg(a,0,c))}return b!=d&&(f=new hg(e,d),f.set(new hg(a,d))),e}:tf(null));var Fg=lg&&eg?function(a){return new Va(a)}:tf(null),Gg=Bg?function(a){return Bg.get(a)}:yf,Hg=function(){var a=0,b=0;return function(c,d){var e=Og(),f=J-(e-b);if(b=e,f>0){if(++a>=I)return c}else a=0;return Eg(c,d)}}(),Ig=_b(function(a,b,c){Tf.call(a,c)?++a[c]:a[c]=1}),Jg=_b(function(a,b,c){Tf.call(a,c)?a[c].push(b):a[c]=[b]}),Kg=_b(function(a,b,c){a[c]=b}),Lg=ec(db),Mg=ec(eb,!0),Ng=_b(function(a,b,c){a[c?0:1].push(b)},function(){return[[],[]]}),Og=qg||function(){return(new Ff).getTime()},Pg=kg||function(a){return n(a)&&wc(a.length)&&Vf.call(a)==Q||!1};Cg.dom||(oe=function(a){return a&&1===a.nodeType&&n(a)&&!Rg(a)||!1});var Qg=rg||function(a){return"number"==typeof a&&mg(a)};(se(/x/)||hg&&!se(hg))&&(se=function(a){return Vf.call(a)==U});var Rg=bg?function(a){if(!a||Vf.call(a)!=X)return!1;var b=a.valueOf,c=we(b)&&(c=bg(b))&&bg(c);return c?a==c||bg(a)==c:Cc(a)}:Cc,Sg=ac(kb),Tg=ng?function(a){if(a)var b=a.constructor,c=a.length;return"function"==typeof b&&b.prototype===a||"function"!=typeof a&&c&&wc(c)?Dc(a):te(a)?ng(a):[]}:Dc,Ug=ac(Kb),Vg=cc(function(a,b,c){return b=b.toLowerCase(),c?a+b.charAt(0).toUpperCase()+b.slice(1):b}),Wg=cc(function(a,b,c){return a+(c?"-":"")+b.toLowerCase()});8!=sg(Ga+"08")&&(gf=function(a,b,c){return(c?vc(a,b,c):null==b)?b=0:b&&(b=+b),a=lf(a),sg(a,b||(xa.test(a)?16:10))});var Xg=cc(function(a,b,c){return a+(c?"_":"")+b.toLowerCase()});return Z.prototype=V.prototype,Pa.prototype["delete"]=Qa,Pa.prototype.get=Sa,Pa.prototype.has=Ta,Pa.prototype.set=Ua,Va.prototype.push=Ya,be.Cache=Pa,V.after=Qd,V.ary=Rd,V.assign=Sg,V.at=ud,V.before=Sd,V.bind=Td,V.bindAll=Ud,V.bindKey=Vd,V.callback=sf,V.chain=nd,V.chunk=Gc,V.compact=Hc,V.constant=tf,V.countBy=Ig,V.create=Fe,V.curry=Wd,V.curryRight=Xd,V.debounce=Yd,V.defaults=Ge,V.defer=Zd,V.delay=$d,V.difference=Ic,V.drop=Jc,V.dropRight=Kc,V.dropRightWhile=Lc,V.dropWhile=Mc,V.filter=xd,V.flatten=Qc,V.flattenDeep=Rc,V.flow=_d,V.flowRight=ae,V.forEach=Bd,V.forEachRight=Cd,V.forIn=Je,V.forInRight=Ke,V.forOwn=Le,V.forOwnRight=Me,V.functions=Ne,V.groupBy=Jg,V.indexBy=Kg,V.initial=Tc,V.intersection=Uc,V.invert=Pe,V.invoke=Dd,V.keys=Tg,V.keysIn=Qe,V.map=Ed,V.mapValues=Re,V.matches=vf,V.memoize=be,V.merge=Ug,V.mixin=wf,V.negate=ce,V.omit=Se,V.once=de,V.pairs=Te,V.partial=ee,V.partialRight=fe,V.partition=Ng,V.pick=Ue,V.pluck=Fd,V.property=zf,V.propertyOf=Af,V.pull=Xc,V.pullAt=Yc,V.range=Bf,V.rearg=ge,V.reject=Id,V.remove=Zc,V.rest=$c,V.shuffle=Kd,V.slice=_c,V.sortBy=Nd,V.sortByAll=Od,V.take=cd,V.takeRight=dd,V.takeRightWhile=ed,V.takeWhile=fd,V.tap=od,V.throttle=he,V.thru=pd,V.times=Cf,V.toArray=De,V.toPlainObject=Ee,V.transform=We,V.union=gd,V.uniq=hd,V.unzip=id,V.values=Xe,V.valuesIn=Ye,V.where=Pd,V.without=jd,V.wrap=ie,V.xor=kd,V.zip=ld,V.zipObject=md,V.backflow=ae,V.collect=Ed,V.compose=ae,V.each=Bd,V.eachRight=Cd,V.extend=Sg,V.iteratee=sf,V.methods=Ne,V.object=md,V.select=xd,V.tail=$c,V.unique=hd,wf(V,V),V.attempt=rf,V.camelCase=Vg,V.capitalize=$e,V.clone=je,V.cloneDeep=ke,V.deburr=_e,V.endsWith=af,V.escape=bf,V.escapeRegExp=cf,V.every=wd,V.find=yd,V.findIndex=Nc,V.findKey=He,V.findLast=zd,V.findLastIndex=Oc,V.findLastKey=Ie,V.findWhere=Ad,V.first=Pc,V.has=Oe,V.identity=uf,V.includes=vd,V.indexOf=Sc,V.isArguments=le,V.isArray=Pg,V.isBoolean=me,V.isDate=ne,V.isElement=oe,V.isEmpty=pe,V.isEqual=qe,V.isError=re,V.isFinite=Qg,V.isFunction=se,V.isMatch=ue,V.isNaN=ve,V.isNative=we,V.isNull=xe,V.isNumber=ye,V.isObject=te,V.isPlainObject=Rg,V.isRegExp=ze,V.isString=Ae,V.isTypedArray=Be,V.isUndefined=Ce,V.kebabCase=Wg,V.last=Vc,V.lastIndexOf=Wc,V.max=Lg,V.min=Mg,V.noConflict=xf,V.noop=yf,V.now=Og,V.pad=df,V.padLeft=ef,V.padRight=ff,V.parseInt=gf,V.random=Ze,V.reduce=Gd,V.reduceRight=Hd,V.repeat=hf,V.result=Ve,V.runInContext=u,V.size=Ld,V.snakeCase=Xg,V.some=Md,V.sortedIndex=ad,V.sortedLastIndex=bd,V.startsWith=jf,V.template=kf,V.trim=lf,V.trimLeft=mf,V.trimRight=nf,V.trunc=of,V.unescape=pf,V.uniqueId=Df,V.words=qf,V.all=wd,V.any=Md,V.contains=vd,V.detect=yd,V.foldl=Gd,V.foldr=Hd,V.head=Pc,V.include=vd,V.inject=Gd,wf(V,function(){var a={};return Bb(V,function(b,c){V.prototype[c]||(a[c]=b)}),a}(),!1),V.sample=Jd,V.prototype.sample=function(a){return this.__chain__||null!=a?this.thru(function(b){return Jd(b,a)}):Jd(this.value())},V.VERSION=w,$a(["bind","bindKey","curry","curryRight","partial","partialRight"],function(a){V[a].placeholder=V}),$a(["filter","map","takeWhile"],function(a,b){var c=b==K;_.prototype[a]=function(a,d){var e=this.clone(),f=e.filtered,g=e.iteratees||(e.iteratees=[]);return e.filtered=f||c||b==M&&e.dir<0,g.push({iteratee:nc(a,d,3),type:b}),e}}),$a(["drop","take"],function(a,b){var c=a+"Count",d=a+"While";_.prototype[a]=function(d){d=null==d?1:og(+d||0,0);var e=this.clone();if(e.filtered){var f=e[c];e[c]=b?pg(f,d):f+d}else{var g=e.views||(e.views=[]);g.push({size:d,type:a+(e.dir<0?"Right":"")})}return e},_.prototype[a+"Right"]=function(b){return this.reverse()[a](b).reverse()},_.prototype[a+"RightWhile"]=function(a,b){return this.reverse()[d](a,b).reverse()}}),$a(["first","last"],function(a,b){var c="take"+(b?"Right":"");_.prototype[a]=function(){return this[c](1).value()[0]}}),$a(["initial","rest"],function(a,b){var c="drop"+(b?"":"Right");_.prototype[a]=function(){return this[c](1)}}),$a(["pluck","where"],function(a,b){var c=b?"filter":"map",d=b?vf:zf;_.prototype[a]=function(a){return this[c](d(a))}}),_.prototype.dropWhile=function(a,b){var c,d,e=this.dir<0;return a=nc(a,b,3),this.filter(function(b,f,g){return c=c&&(e?d>f:f>d),d=f,c||(c=!a(b,f,g))})},_.prototype.reject=function(a,b){return a=nc(a,b,3),this.filter(function(b,c,d){return!a(b,c,d)})},_.prototype.slice=function(a,b){a=null==a?0:+a||0;var c=0>a?this.takeRight(-a):this.drop(a);return"undefined"!=typeof b&&(b=+b||0,c=0>b?c.dropRight(-b):c.take(b-a)),c},Bb(_.prototype,function(a,b){var c=/^(?:first|last)$/.test(b);V.prototype[b]=function(){var d=this.__wrapped__,e=arguments,f=this.__chain__,g=!!this.__actions__.length,h=d instanceof _,i=h&&!g;if(c&&!f)return i?a.call(d):V[b](this.value());var j=function(a){var c=[a];return cg.apply(c,e),V[b].apply(V,c)};if(h||Pg(d)){var k=i?d:new _(this),l=a.apply(k,e);if(!c&&(g||l.actions)){var m=l.actions||(l.actions=[]);m.push({func:pd,args:[j],thisArg:V})}return new Z(l,f)}return this.thru(j)}}),$a(["concat","join","pop","push","shift","sort","splice","unshift"],function(a){var b=Of[a],c=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",d=/^(?:join|pop|shift)$/.test(a);V.prototype[a]=function(){var a=arguments;return d&&!this.__chain__?b.apply(this.value(),a):this[c](function(c){return b.apply(c,a)})}}),_.prototype.clone=Ma,_.prototype.reverse=Na,_.prototype.value=Oa,V.prototype.chain=qd,V.prototype.reverse=rd,V.prototype.toString=sd,V.prototype.toJSON=V.prototype.valueOf=V.prototype.value=td,V.prototype.collect=V.prototype.map,V.prototype.head=V.prototype.first,V.prototype.select=V.prototype.filter,V.prototype.tail=V.prototype.rest,V}var v,w="3.0.0",x=1,y=2,z=4,A=8,B=16,C=32,D=64,E=128,F=256,G=30,H="...",I=150,J=16,K=0,L=1,M=2,N="Expected a function",O="__lodash_placeholder__",P="[object Arguments]",Q="[object Array]",R="[object Boolean]",S="[object Date]",T="[object Error]",U="[object Function]",V="[object Map]",W="[object Number]",X="[object Object]",Y="[object RegExp]",Z="[object Set]",$="[object String]",_="[object WeakMap]",aa="[object ArrayBuffer]",ba="[object Float32Array]",ca="[object Float64Array]",da="[object Int8Array]",ea="[object Int16Array]",fa="[object Int32Array]",ga="[object Uint8Array]",ha="[object Uint8ClampedArray]",ia="[object Uint16Array]",ja="[object Uint32Array]",ka=/\b__p \+= '';/g,la=/\b(__p \+=) '' \+/g,ma=/(__e\(.*?\)|\b__t\)) \+\n'';/g,na=/&(?:amp|lt|gt|quot|#39|#96);/g,oa=/[&<>"'`]/g,pa=RegExp(na.source),qa=RegExp(oa.source),ra=/<%-([\s\S]+?)%>/g,sa=/<%([\s\S]+?)%>/g,ta=/<%=([\s\S]+?)%>/g,ua=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,va=/\w*$/,wa=/^\s*function[ \n\r\t]+\w/,xa=/^0[xX]/,ya=/^\[object .+?Constructor\]$/,za=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Aa=/($^)/,Ba=/[.*+?^${}()|[\]\/\\]/g,Ca=RegExp(Ba.source),Da=/\bthis\b/,Ea=/['\n\r\u2028\u2029\\]/g,Fa=function(){var a="[A-Z\\xc0-\\xd6\\xd8-\\xde]",b="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(a+"{2,}(?="+a+b+")|"+a+"?"+b+"|"+a+"+|[0-9]+","g")}(),Ga=" \f \ufeff\n\r\u2028\u2029 ᠎              ",Ha=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","document","isFinite","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","window","WinRTError"],Ia=-1,Ja={};Ja[ba]=Ja[ca]=Ja[da]=Ja[ea]=Ja[fa]=Ja[ga]=Ja[ha]=Ja[ia]=Ja[ja]=!0,Ja[P]=Ja[Q]=Ja[aa]=Ja[R]=Ja[S]=Ja[T]=Ja[U]=Ja[V]=Ja[W]=Ja[X]=Ja[Y]=Ja[Z]=Ja[$]=Ja[_]=!1;var Ka={};Ka[P]=Ka[Q]=Ka[aa]=Ka[R]=Ka[S]=Ka[ba]=Ka[ca]=Ka[da]=Ka[ea]=Ka[fa]=Ka[W]=Ka[X]=Ka[Y]=Ka[$]=Ka[ga]=Ka[ha]=Ka[ia]=Ka[ja]=!0,Ka[T]=Ka[U]=Ka[V]=Ka[Z]=Ka[_]=!1;var La={leading:!1,maxWait:0,trailing:!1},Ma={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Na={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},Oa={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},Pa={"function":!0,object:!0},Qa={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ra=Pa[typeof window]&&window!==(this&&this.window)?window:this,Sa=Pa[typeof exports]&&exports&&!exports.nodeType&&exports,Ta=Pa[typeof module]&&module&&!module.nodeType&&module,Ua=Sa&&Ta&&"object"==typeof global&&global;!Ua||Ua.global!==Ua&&Ua.window!==Ua&&Ua.self!==Ua||(Ra=Ua);var Va=Ta&&Ta.exports===Sa&&Sa,Wa=u();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Ra._=Wa,define(function(){return Wa})):Sa&&Ta?Va?(Ta.exports=Wa)._=Wa:Sa._=Wa:Ra._=Wa}.call(this),function(a,b){if("function"==typeof define&&define.amd)define(["../../.","jquery","exports"],function(c,d,e){a.Backbone=b(a,e,c,d)});else if("undefined"!=typeof exports){var c=require("underscore");b(a,exports,c)}else a.Backbone=b(a,{},a._,a.jQuery||a.Zepto||a.ender||a.$)}(this,function(a,b,c,d){var e=a.Backbone,f=[],g=(f.push,f.slice);f.splice;b.VERSION="1.1.2",b.$=d,b.noConflict=function(){return a.Backbone=e,this},b.emulateHTTP=!1,b.emulateJSON=!1;var h=b.Events={on:function(a,b,c){if(!j(this,"on",a,[b,c])||!b)return this;this._events||(this._events={});var d=this._events[a]||(this._events[a]=[]);return d.push({callback:b,context:c,ctx:c||this}),this},once:function(a,b,d){if(!j(this,"once",a,[b,d])||!b)return this;var e=this,f=c.once(function(){e.off(a,f),b.apply(this,arguments)});return f._callback=b,this.on(a,f,d)},off:function(a,b,d){var e,f,g,h,i,k,l,m;if(!this._events||!j(this,"off",a,[b,d]))return this;if(!a&&!b&&!d)return this._events=void 0,this;for(h=a?[a]:c.keys(this._events),i=0,k=h.length;k>i;i++)if(a=h[i],g=this._events[a]){if(this._events[a]=e=[],b||d)for(l=0,m=g.length;m>l;l++)f=g[l],(b&&b!==f.callback&&b!==f.callback._callback||d&&d!==f.context)&&e.push(f);e.length||delete this._events[a]}return this},trigger:function(a){if(!this._events)return this;var b=g.call(arguments,1);if(!j(this,"trigger",a,b))return this;var c=this._events[a],d=this._events.all;return c&&k(c,b),d&&k(d,arguments),this},stopListening:function(a,b,d){var e=this._listeningTo;if(!e)return this;var f=!b&&!d;d||"object"!=typeof b||(d=this),a&&((e={})[a._listenId]=a);for(var g in e)a=e[g],a.off(b,d,this),(f||c.isEmpty(a._events))&&delete this._listeningTo[g];return this}},i=/\s+/,j=function(a,b,c,d){if(!c)return!0;if("object"==typeof c){for(var e in c)a[b].apply(a,[e,c[e]].concat(d));return!1}if(i.test(c)){for(var f=c.split(i),g=0,h=f.length;h>g;g++)a[b].apply(a,[f[g]].concat(d));return!1}return!0},k=function(a,b){var c,d=-1,e=a.length,f=b[0],g=b[1],h=b[2];switch(b.length){case 0:for(;++d<e;)(c=a[d]).callback.call(c.ctx);return;case 1:for(;++d<e;)(c=a[d]).callback.call(c.ctx,f);return;case 2:for(;++d<e;)(c=a[d]).callback.call(c.ctx,f,g);return;case 3:for(;++d<e;)(c=a[d]).callback.call(c.ctx,f,g,h);return;default:for(;++d<e;)(c=a[d]).callback.apply(c.ctx,b);return}},l={listenTo:"on",listenToOnce:"once"};c.each(l,function(a,b){h[b]=function(b,d,e){var f=this._listeningTo||(this._listeningTo={}),g=b._listenId||(b._listenId=c.uniqueId("l"));return f[g]=b,e||"object"!=typeof d||(e=this),b[a](d,e,this),this}}),h.bind=h.on,h.unbind=h.off,c.extend(b,h);var m=b.Model=function(a,b){var d=a||{};b||(b={}),this.cid=c.uniqueId("c"),this.attributes={},b.collection&&(this.collection=b.collection),b.parse&&(d=this.parse(d,b)||{}),d=c.defaults({},d,c.result(this,"defaults")),this.set(d,b),this.changed={},this.initialize.apply(this,arguments)};c.extend(m.prototype,h,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(a){return c.clone(this.attributes)},sync:function(){return b.sync.apply(this,arguments)},get:function(a){return this.attributes[a]},escape:function(a){return c.escape(this.get(a))},has:function(a){return null!=this.get(a)},set:function(a,b,d){var e,f,g,h,i,j,k,l;if(null==a)return this;if("object"==typeof a?(f=a,d=b):(f={})[a]=b,d||(d={}),!this._validate(f,d))return!1;g=d.unset,i=d.silent,h=[],j=this._changing,this._changing=!0,j||(this._previousAttributes=c.clone(this.attributes),this.changed={}),l=this.attributes,k=this._previousAttributes,this.idAttribute in f&&(this.id=f[this.idAttribute]);for(e in f)b=f[e],c.isEqual(l[e],b)||h.push(e),c.isEqual(k[e],b)?delete this.changed[e]:this.changed[e]=b,g?delete l[e]:l[e]=b;if(!i){h.length&&(this._pending=d);for(var m=0,n=h.length;n>m;m++)this.trigger("change:"+h[m],this,l[h[m]],d)}if(j)return this;if(!i)for(;this._pending;)d=this._pending,this._pending=!1,this.trigger("change",this,d);return this._pending=!1,this._changing=!1,this},unset:function(a,b){return this.set(a,void 0,c.extend({},b,{unset:!0}))},clear:function(a){var b={};for(var d in this.attributes)b[d]=void 0;return this.set(b,c.extend({},a,{unset:!0}))},hasChanged:function(a){return null==a?!c.isEmpty(this.changed):c.has(this.changed,a)},changedAttributes:function(a){if(!a)return this.hasChanged()?c.clone(this.changed):!1;var b,d=!1,e=this._changing?this._previousAttributes:this.attributes;for(var f in a)c.isEqual(e[f],b=a[f])||((d||(d={}))[f]=b);return d},previous:function(a){return null!=a&&this._previousAttributes?this._previousAttributes[a]:null},previousAttributes:function(){return c.clone(this._previousAttributes)},fetch:function(a){a=a?c.clone(a):{},void 0===a.parse&&(a.parse=!0);var b=this,d=a.success;return a.success=function(c){return b.set(b.parse(c,a),a)?(d&&d(b,c,a),void b.trigger("sync",b,c,a)):!1},L(this,a),this.sync("read",this,a)},save:function(a,b,d){var e,f,g,h=this.attributes;if(null==a||"object"==typeof a?(e=a,d=b):(e={})[a]=b,d=c.extend({validate:!0},d),e&&!d.wait){if(!this.set(e,d))return!1}else if(!this._validate(e,d))return!1;e&&d.wait&&(this.attributes=c.extend({},h,e)),void 0===d.parse&&(d.parse=!0);var i=this,j=d.success;return d.success=function(a){i.attributes=h;var b=i.parse(a,d);return d.wait&&(b=c.extend(e||{},b)),c.isObject(b)&&!i.set(b,d)?!1:(j&&j(i,a,d),void i.trigger("sync",i,a,d))},L(this,d),f=this.isNew()?"create":d.patch?"patch":"update","patch"===f&&(d.attrs=e),g=this.sync(f,this,d),e&&d.wait&&(this.attributes=h),g},destroy:function(a){a=a?c.clone(a):{};var b=this,d=a.success,e=function(){b.trigger("destroy",b,b.collection,a)};if(a.success=function(c){(a.wait||b.isNew())&&e(),d&&d(b,c,a),b.isNew()||b.trigger("sync",b,c,a)},this.isNew())return a.success(),!1;L(this,a);var f=this.sync("delete",this,a);return a.wait||e(),f},url:function(){var a=c.result(this,"urlRoot")||c.result(this.collection,"url")||K();return this.isNew()?a:a.replace(/([^\/])$/,"$1/")+encodeURIComponent(this.id)},parse:function(a,b){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(a){return this._validate({},c.extend(a||{},{validate:!0}))},_validate:function(a,b){if(!b.validate||!this.validate)return!0;a=c.extend({},this.attributes,a);var d=this.validationError=this.validate(a,b)||null;return d?(this.trigger("invalid",this,d,c.extend(b,{validationError:d})),!1):!0}});var n=["keys","values","pairs","invert","pick","omit"];c.each(n,function(a){m.prototype[a]=function(){var b=g.call(arguments);return b.unshift(this.attributes),c[a].apply(c,b)}});var o=b.Collection=function(a,b){b||(b={}),b.model&&(this.model=b.model),void 0!==b.comparator&&(this.comparator=b.comparator),this._reset(),this.initialize.apply(this,arguments),a&&this.reset(a,c.extend({silent:!0},b))},p={add:!0,remove:!0,merge:!0},q={add:!0,remove:!1};c.extend(o.prototype,h,{model:m,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},sync:function(){return b.sync.apply(this,arguments)},add:function(a,b){return this.set(a,c.extend({merge:!1},b,q))},remove:function(a,b){var d=!c.isArray(a);a=d?[a]:c.clone(a),b||(b={});var e,f,g,h;for(e=0,f=a.length;f>e;e++)h=a[e]=this.get(a[e]),h&&(delete this._byId[h.id],delete this._byId[h.cid],g=this.indexOf(h),this.models.splice(g,1),this.length--,b.silent||(b.index=g,h.trigger("remove",h,this,b)),this._removeReference(h,b));return d?a[0]:a},set:function(a,b){b=c.defaults({},b,p),b.parse&&(a=this.parse(a,b));var d=!c.isArray(a);a=d?a?[a]:[]:c.clone(a);var e,f,g,h,i,j,k,l=b.at,n=this.model,o=this.comparator&&null==l&&b.sort!==!1,q=c.isString(this.comparator)?this.comparator:null,r=[],s=[],t={},u=b.add,v=b.merge,w=b.remove,x=!o&&u&&w?[]:!1;for(e=0,f=a.length;f>e;e++){if(i=a[e]||{},g=i instanceof m?h=i:i[n.prototype.idAttribute||"id"],j=this.get(g))w&&(t[j.cid]=!0),v&&(i=i===h?h.attributes:i,b.parse&&(i=j.parse(i,b)),j.set(i,b),o&&!k&&j.hasChanged(q)&&(k=!0)),a[e]=j;else if(u){if(h=a[e]=this._prepareModel(i,b),!h)continue;r.push(h),this._addReference(h,b)}h=j||h,!x||!h.isNew()&&t[h.id]||x.push(h),t[h.id]=!0}if(w){for(e=0,f=this.length;f>e;++e)t[(h=this.models[e]).cid]||s.push(h);s.length&&this.remove(s,b)}if(r.length||x&&x.length)if(o&&(k=!0),this.length+=r.length,null!=l)for(e=0,f=r.length;f>e;e++)this.models.splice(l+e,0,r[e]);else{x&&(this.models.length=0);var y=x||r;for(e=0,f=y.length;f>e;e++)this.models.push(y[e])}if(k&&this.sort({silent:!0}),!b.silent){for(e=0,f=r.length;f>e;e++)(h=r[e]).trigger("add",h,this,b);(k||x&&x.length)&&this.trigger("sort",this,b)}return d?a[0]:a},reset:function(a,b){b||(b={});for(var d=0,e=this.models.length;e>d;d++)this._removeReference(this.models[d],b);return b.previousModels=this.models,this._reset(),a=this.add(a,c.extend({silent:!0},b)),b.silent||this.trigger("reset",this,b),a},push:function(a,b){return this.add(a,c.extend({at:this.length},b))},pop:function(a){var b=this.at(this.length-1);return this.remove(b,a),b},unshift:function(a,b){return this.add(a,c.extend({at:0},b))},shift:function(a){var b=this.at(0);return this.remove(b,a),b},slice:function(){return g.apply(this.models,arguments)},get:function(a){return null==a?void 0:this._byId[a]||this._byId[a.id]||this._byId[a.cid]},at:function(a){return this.models[a]},where:function(a,b){return c.isEmpty(a)?b?void 0:[]:this[b?"find":"filter"](function(b){for(var c in a)if(a[c]!==b.get(c))return!1;return!0})},findWhere:function(a){return this.where(a,!0)},sort:function(a){if(!this.comparator)throw new Error("Cannot sort a set without a comparator");return a||(a={}),c.isString(this.comparator)||1===this.comparator.length?this.models=this.sortBy(this.comparator,this):this.models.sort(c.bind(this.comparator,this)),a.silent||this.trigger("sort",this,a),this},pluck:function(a){return c.invoke(this.models,"get",a)},fetch:function(a){a=a?c.clone(a):{},void 0===a.parse&&(a.parse=!0);var b=a.success,d=this;return a.success=function(c){var e=a.reset?"reset":"set";d[e](c,a),b&&b(d,c,a),d.trigger("sync",d,c,a)},L(this,a),this.sync("read",this,a)},create:function(a,b){if(b=b?c.clone(b):{},!(a=this._prepareModel(a,b)))return!1;b.wait||this.add(a,b);var d=this,e=b.success;return b.success=function(a,c){b.wait&&d.add(a,b),e&&e(a,c,b)},a.save(null,b),a},parse:function(a,b){return a},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(a,b){if(a instanceof m)return a;b=b?c.clone(b):{},b.collection=this;var d=new this.model(a,b);return d.validationError?(this.trigger("invalid",this,d.validationError,b),!1):d},_addReference:function(a,b){this._byId[a.cid]=a,null!=a.id&&(this._byId[a.id]=a),a.collection||(a.collection=this),a.on("all",this._onModelEvent,this)},_removeReference:function(a,b){this===a.collection&&delete a.collection,a.off("all",this._onModelEvent,this)},_onModelEvent:function(a,b,c,d){("add"!==a&&"remove"!==a||c===this)&&("destroy"===a&&this.remove(b,d),b&&a==="change:"+b.idAttribute&&(delete this._byId[b.previous(b.idAttribute)],null!=b.id&&(this._byId[b.id]=b)),this.trigger.apply(this,arguments))}});var r=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","difference","indexOf","shuffle","lastIndexOf","isEmpty","chain","sample"];c.each(r,function(a){o.prototype[a]=function(){var b=g.call(arguments);return b.unshift(this.models),c[a].apply(c,b)}});var s=["groupBy","countBy","sortBy","indexBy"];c.each(s,function(a){o.prototype[a]=function(b,d){var e=c.isFunction(b)?b:function(a){return a.get(b)};return c[a](this.models,e,d)}});var t=b.View=function(a){this.cid=c.uniqueId("view"),a||(a={}),c.extend(this,c.pick(a,v)),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},u=/^(\S+)\s*(.*)$/,v=["model","collection","el","id","attributes","className","tagName","events"];c.extend(t.prototype,h,{tagName:"div",$:function(a){return this.$el.find(a)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this.stopListening(),this},setElement:function(a,c){return this.$el&&this.undelegateEvents(),this.$el=a instanceof b.$?a:b.$(a),this.el=this.$el[0],c!==!1&&this.delegateEvents(),this},delegateEvents:function(a){if(!a&&!(a=c.result(this,"events")))return this;this.undelegateEvents();for(var b in a){var d=a[b];if(c.isFunction(d)||(d=this[a[b]]),d){var e=b.match(u),f=e[1],g=e[2];d=c.bind(d,this),f+=".delegateEvents"+this.cid,""===g?this.$el.on(f,d):this.$el.on(f,g,d)}}return this},undelegateEvents:function(){return this.$el.off(".delegateEvents"+this.cid),this},_ensureElement:function(){if(this.el)this.setElement(c.result(this,"el"),!1);else{var a=c.extend({},c.result(this,"attributes"));this.id&&(a.id=c.result(this,"id")),this.className&&(a["class"]=c.result(this,"className"));var d=b.$("<"+c.result(this,"tagName")+">").attr(a);this.setElement(d,!1)}}}),b.sync=function(a,d,e){var f=x[a];c.defaults(e||(e={}),{emulateHTTP:b.emulateHTTP,emulateJSON:b.emulateJSON});var g={type:f,dataType:"json"};if(e.url||(g.url=c.result(d,"url")||K()),null!=e.data||!d||"create"!==a&&"update"!==a&&"patch"!==a||(g.contentType="application/json",g.data=JSON.stringify(e.attrs||d.toJSON(e))),e.emulateJSON&&(g.contentType="application/x-www-form-urlencoded",g.data=g.data?{model:g.data}:{}),e.emulateHTTP&&("PUT"===f||"DELETE"===f||"PATCH"===f)){g.type="POST",e.emulateJSON&&(g.data._method=f);var h=e.beforeSend;e.beforeSend=function(a){return a.setRequestHeader("X-HTTP-Method-Override",f),h?h.apply(this,arguments):void 0}}"GET"===g.type||e.emulateJSON||(g.processData=!1),"PATCH"===g.type&&w&&(g.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")});var i=e.xhr=b.ajax(c.extend(g,e));return d.trigger("request",d,i,e),i};var w=!("undefined"==typeof window||!window.ActiveXObject||window.XMLHttpRequest&&(new XMLHttpRequest).dispatchEvent),x={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};b.ajax=function(){return b.$.ajax.apply(b.$,arguments)};var y=b.Router=function(a){a||(a={}),a.routes&&(this.routes=a.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},z=/\((.*?)\)/g,A=/(\(\?)?:\w+/g,B=/\*\w+/g,C=/[\-{}\[\]+?.,\\\^$|#\s]/g;c.extend(y.prototype,h,{initialize:function(){},route:function(a,d,e){c.isRegExp(a)||(a=this._routeToRegExp(a)),c.isFunction(d)&&(e=d,d=""),e||(e=this[d]);var f=this;return b.history.route(a,function(c){var g=f._extractParameters(a,c);f.execute(e,g),f.trigger.apply(f,["route:"+d].concat(g)),f.trigger("route",d,g),b.history.trigger("route",f,d,g)}),this},execute:function(a,b){a&&a.apply(this,b)},navigate:function(a,c){return b.history.navigate(a,c),this},_bindRoutes:function(){if(this.routes){this.routes=c.result(this,"routes");for(var a,b=c.keys(this.routes);null!=(a=b.pop());)this.route(a,this.routes[a])}},_routeToRegExp:function(a){return a=a.replace(C,"\\$&").replace(z,"(?:$1)?").replace(A,function(a,b){return b?a:"([^/?]+)"}).replace(B,"([^?]*?)"),new RegExp("^"+a+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(a,b){var d=a.exec(b).slice(1);return c.map(d,function(a,b){return b===d.length-1?a||null:a?decodeURIComponent(a):null})}});var D=b.History=function(){this.handlers=[],c.bindAll(this,"checkUrl"),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},E=/^[#\/]|\s+$/g,F=/^\/+|\/+$/g,G=/msie [\w.]+/,H=/\/$/,I=/#.*$/;D.started=!1,c.extend(D.prototype,h,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root},getHash:function(a){var b=(a||this).location.href.match(/#(.*)$/);return b?b[1]:""},getFragment:function(a,b){if(null==a)if(this._hasPushState||!this._wantsHashChange||b){a=decodeURI(this.location.pathname+this.location.search);var c=this.root.replace(H,"");a.indexOf(c)||(a=a.slice(c.length))}else a=this.getHash();return a.replace(E,"")},start:function(a){if(D.started)throw new Error("Backbone.history has already been started");D.started=!0,this.options=c.extend({root:"/"},this.options,a),this.root=this.options.root,this._wantsHashChange=this.options.hashChange!==!1,this._wantsPushState=!!this.options.pushState,this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var d=this.getFragment(),e=document.documentMode,f=G.exec(navigator.userAgent.toLowerCase())&&(!e||7>=e);if(this.root=("/"+this.root+"/").replace(F,"/"),f&&this._wantsHashChange){var g=b.$('<iframe src="javascript:0" tabindex="-1">');this.iframe=g.hide().appendTo("body")[0].contentWindow,this.navigate(d);
-}this._hasPushState?b.$(window).on("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!f?b.$(window).on("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=d;var h=this.location;if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot())return this.fragment=this.getFragment(null,!0),this.location.replace(this.root+"#"+this.fragment),!0;this._hasPushState&&this.atRoot()&&h.hash&&(this.fragment=this.getHash().replace(E,""),this.history.replaceState({},document.title,this.root+this.fragment))}return this.options.silent?void 0:this.loadUrl()},stop:function(){b.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),D.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();return b===this.fragment&&this.iframe&&(b=this.getFragment(this.getHash(this.iframe))),b===this.fragment?!1:(this.iframe&&this.navigate(b),void this.loadUrl())},loadUrl:function(a){return a=this.fragment=this.getFragment(a),c.any(this.handlers,function(b){return b.route.test(a)?(b.callback(a),!0):void 0})},navigate:function(a,b){if(!D.started)return!1;b&&b!==!0||(b={trigger:!!b});var c=this.root+(a=this.getFragment(a||""));if(a=a.replace(I,""),this.fragment!==a){if(this.fragment=a,""===a&&"/"!==c&&(c=c.slice(0,-1)),this._hasPushState)this.history[b.replace?"replaceState":"pushState"]({},document.title,c);else{if(!this._wantsHashChange)return this.location.assign(c);this._updateHash(this.location,a,b.replace),this.iframe&&a!==this.getFragment(this.getHash(this.iframe))&&(b.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,a,b.replace))}return b.trigger?this.loadUrl(a):void 0}},_updateHash:function(a,b,c){if(c){var d=a.href.replace(/(javascript:|#).*$/,"");a.replace(d+"#"+b)}else a.hash="#"+b}}),b.history=new D;var J=function(a,b){var d,e=this;d=a&&c.has(a,"constructor")?a.constructor:function(){return e.apply(this,arguments)},c.extend(d,e,b);var f=function(){this.constructor=d};return f.prototype=e.prototype,d.prototype=new f,a&&c.extend(d.prototype,a),d.__super__=e.prototype,d};m.extend=o.extend=y.extend=t.extend=D.extend=J;var K=function(){throw new Error('A "url" property or function must be specified')},L=function(a,b){var c=b.error;b.error=function(d){c&&c(a,d,b),a.trigger("error",a,d,b)}};return b}),"object"!=typeof JSON&&(JSON={}),function(){"use strict";function f(a){return 10>a?"0"+a:a}function quote(a){return escapable.lastIndex=0,escapable.test(a)?'"'+a.replace(escapable,function(a){var b=meta[a];return"string"==typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function str(a,b){var c,d,e,f,g,h=gap,i=b[a];switch(i&&"object"==typeof i&&"function"==typeof i.toJSON&&(i=i.toJSON(a)),"function"==typeof rep&&(i=rep.call(b,a,i)),typeof i){case"string":return quote(i);case"number":return isFinite(i)?String(i):"null";case"boolean":case"null":return String(i);case"object":if(!i)return"null";if(gap+=indent,g=[],"[object Array]"===Object.prototype.toString.apply(i)){for(f=i.length,c=0;f>c;c+=1)g[c]=str(c,i)||"null";return e=0===g.length?"[]":gap?"[\n"+gap+g.join(",\n"+gap)+"\n"+h+"]":"["+g.join(",")+"]",gap=h,e}if(rep&&"object"==typeof rep)for(f=rep.length,c=0;f>c;c+=1)"string"==typeof rep[c]&&(d=rep[c],e=str(d,i),e&&g.push(quote(d)+(gap?": ":":")+e));else for(d in i)Object.prototype.hasOwnProperty.call(i,d)&&(e=str(d,i),e&&g.push(quote(d)+(gap?": ":":")+e));return e=0===g.length?"{}":gap?"{\n"+gap+g.join(",\n"+gap)+"\n"+h+"}":"{"+g.join(",")+"}",gap=h,e}}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var cx,escapable,gap,indent,meta,rep;"function"!=typeof JSON.stringify&&(escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,meta={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},JSON.stringify=function(a,b,c){var d;if(gap="",indent="","number"==typeof c)for(d=0;c>d;d+=1)indent+=" ";else"string"==typeof c&&(indent=c);if(rep=b,b&&"function"!=typeof b&&("object"!=typeof b||"number"!=typeof b.length))throw new Error("JSON.stringify");return str("",{"":a})}),"function"!=typeof JSON.parse&&(cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,JSON.parse=function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&"object"==typeof e)for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&(d=walk(e,c),void 0!==d?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;if(text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})),/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}(),function(a){"function"==typeof require&&"undefined"!=typeof module&&module.exports?module.exports=a(require("underscore")):"function"==typeof define?define(["underscore"],a):this.Cocktail=a(_)}(function(a){var b={};b.mixins={},b.mixin=function(c){var d=a.chain(arguments).toArray().rest().flatten().value(),e=c.prototype||c,f={};return a.each(d,function(c){a.isString(c)&&(c=b.mixins[c]),a.each(c,function(b,c){if(a.isFunction(b)){if(e[c]===b)return;e[c]&&(f[c]=f.hasOwnProperty(c)?f[c]:[e[c]],f[c].push(b)),e[c]=b}else a.isArray(b)?e[c]=a.union(b,e[c]||[]):a.isObject(b)?e[c]=a.extend({},b,e[c]||{}):c in e||(e[c]=b)})}),a.each(f,function(b,c){e[c]=function(){var c,d=this,e=arguments;return a.each(b,function(b){var f=a.isFunction(b)?b.apply(d,e):b;c="undefined"==typeof f?c:f}),c}}),c};var c;return b.patch=function(d){c=d.Model.extend;var e=function(a,d){var e=c.call(this,a,d),f=e.prototype.mixins;return f&&e.prototype.hasOwnProperty("mixins")&&b.mixin(e,f),e};a.each([d.Model,d.Collection,d.Router,d.View],function(c){c.mixin=function(){b.mixin(this,a.toArray(arguments))},c.extend=e})},b.unpatch=function(b){a.each([b.Model,b.Collection,b.Router,b.View],function(a){a.mixin=void 0,a.extend=c})},b}),function(a,b){if("object"==typeof exports)module.exports=b(require("underscore"),require("backbone"));else if("function"==typeof define&&define.amd)define(["underscore","backbone"],b);else{for(var c="FilteredCollection",d=c.split("."),e=a,f=0;f<d.length-1;f++)void 0===e[d[f]]&&(e[d[f]]={}),e=e[d[f]];e[d[d.length-1]]=b(a._,a.Backbone)}}(this,function(a,b){function c(c){return{underscore:a,backbone:b}[c]}var d=function(a){function b(a){var c=b.cache[a];if(!c){var d={};c=b.cache[a]={id:a,exports:d},b.modules[a].call(d,c,d)}return c.exports}return b.cache=[],b.modules=[function(a,d){function e(){this._filterResultCache={}}function f(a){for(var b in this._filterResultCache)this._filterResultCache.hasOwnProperty(b)&&delete this._filterResultCache[b][a]}function g(a,b){this._filters[a]&&f.call(this,a),this._filters[a]=b,this.trigger("filtered:add",a)}function h(a){delete this._filters[a],f.call(this,a),this.trigger("filtered:remove",a)}function i(a){this._filterResultCache[a.cid]||(this._filterResultCache[a.cid]={});var b=this._filterResultCache[a.cid];for(var c in this._filters)if(this._filters.hasOwnProperty(c)&&(b.hasOwnProperty(c)||(b[c]=this._filters[c].fn(a)),!b[c]))return!1;return!0}function j(){var a=[];this._superset&&(a=this._superset.filter(p.bind(i,this))),this._collection.reset(a),this.length=this._collection.length}function k(a){if(this._filterResultCache[a.cid]={},i.call(this,a)){if(!this._collection.get(a.cid)){for(var b=this.superset().indexOf(a),c=null,d=b-1;d>=0;d-=1)if(this.contains(this.superset().at(d))){c=this.indexOf(this.superset().at(d))+1;break}c=c||0,this._collection.add(a,{at:c})}}else this._collection.get(a.cid)&&this._collection.remove(a);this.length=this._collection.length}function l(a){this._filterResultCache[a.cid]={},i.call(this,a)||this._collection.get(a.cid)&&this._collection.remove(a)}function m(a,b,c){"change:"===a.slice(0,7)&&l.call(this,arguments[1])}function n(a){this.contains(a)&&this._collection.remove(a),this.length=this._collection.length}function o(a){this._superset=a,this._collection=new q.Collection(a.toArray()),r(this._collection,this),this.resetFilters(),this.listenTo(this._superset,"reset sort",j),this.listenTo(this._superset,"add change",k),this.listenTo(this._superset,"remove",n),this.listenTo(this._superset,"all",m)}var p=c("underscore"),q=c("backbone"),r=b(1),s=b(2),t={defaultFilterName:"__default",filterBy:function(a,b){return b||(b=a,a=this.defaultFilterName),g.call(this,a,s(b)),j.call(this),this},removeFilter:function(a){return a||(a=this.defaultFilterName),h.call(this,a),j.call(this),this},resetFilters:function(){return this._filters={},e.call(this),this.trigger("filtered:reset"),j.call(this),this},superset:function(){return this._superset},refilter:function(a){return"object"==typeof a&&a.cid?k.call(this,a):(e.call(this),j.call(this)),this},getFilters:function(){return p.keys(this._filters)},hasFilter:function(a){return p.contains(this.getFilters(),a)},destroy:function(){this.stopListening(),this._collection.reset([]),this._superset=this._collection,this.length=0,this.trigger("filtered:destroy")}};p.extend(o.prototype,t,q.Events),a.exports=o},function(a,b){function d(a,b){function c(){b.length=a.length}function d(c){var d=e.toArray(arguments),f="change"===c||"change:"===c.slice(0,7);"reset"===c&&(b.models=a.models),e.contains(h,c)?(e.contains(["add","remove","destroy"],c)?d[2]=b:e.contains(["reset","sort"],c)&&(d[1]=b),b.trigger.apply(this,d)):f&&b.contains(d[1])&&b.trigger.apply(this,d)}var i={};return e.each(e.functions(f.Collection.prototype),function(b){e.contains(g,b)||(i[b]=function(){return a[b].apply(a,arguments)})}),e.extend(b,f.Events,i),b.listenTo(a,"all",c),b.listenTo(a,"all",d),b.models=a.models,c(),b}var e=c("underscore"),f=c("backbone"),g=["_onModelEvent","_prepareModel","_removeReference","_reset","add","initialize","sync","remove","reset","set","push","pop","unshift","shift","sort","parse","fetch","create","model","off","on","listenTo","listenToOnce","bind","trigger","once","stopListening"],h=["add","remove","reset","sort","destroy","sync","request","error"];a.exports=d},function(a,b){function d(a,b){return function(c){return c.get(a)===b}}function e(a,b){return function(c){return b(c.get(a))}}function f(a,b){return i.isArray(b)||(b=null),{fn:a,keys:b}}function g(a){var b=i.keys(a),c=i.map(b,function(b){var c=a[b];return i.isFunction(c)?e(b,c):d(b,c)}),g=function(a){for(var b=0;b<c.length;b++)if(!c[b](a))return!1;return!0};return f(g,b)}function h(a,b){return i.isFunction(a)?f(a,b):i.isObject(a)?g(a):void 0}var i=c("underscore");a.exports=h}],b(0)}();return d}),function(a,b){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(a,c){return b(a,c)});else if("undefined"!=typeof exports){var c=require("backbone"),d=require("underscore");module.exports=b(c,d)}else b(a.Backbone,a._)}(this,function(a,b){"use strict";var c=a.ChildViewContainer;return a.ChildViewContainer=function(a,b){var c=function(a){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),b.each(a,this.add,this)};b.extend(c.prototype,{add:function(a,b){var c=a.cid;return this._views[c]=a,a.model&&(this._indexByModel[a.model.cid]=c),b&&(this._indexByCustom[b]=c),this._updateLength(),this},findByModel:function(a){return this.findByModelCid(a.cid)},findByModelCid:function(a){var b=this._indexByModel[a];return this.findByCid(b)},findByCustom:function(a){var b=this._indexByCustom[a];return this.findByCid(b)},findByIndex:function(a){return b.values(this._views)[a]},findByCid:function(a){return this._views[a]},remove:function(a){var c=a.cid;return a.model&&delete this._indexByModel[a.model.cid],b.any(this._indexByCustom,function(a,b){return a===c?(delete this._indexByCustom[b],!0):void 0},this),delete this._views[c],this._updateLength(),this},call:function(a){this.apply(a,b.tail(arguments))},apply:function(a,c){b.each(this._views,function(d){b.isFunction(d[a])&&d[a].apply(d,c||[])})},_updateLength:function(){this.length=b.size(this._views)}});var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck","reduce"];return b.each(d,function(a){c.prototype[a]=function(){var c=b.values(this._views),d=[c].concat(b.toArray(arguments));return b[a].apply(b,d)}}),c}(a,b),a.ChildViewContainer.VERSION="0.1.6",a.ChildViewContainer.noConflict=function(){return a.ChildViewContainer=c,this},a.ChildViewContainer}),function(a,b){"function"==typeof define&&define.amd?define(["underscore","backbone","jquery"],function(c,d,e){return a.Backbone=b(c,d,e)}):"undefined"!=typeof exports&&"undefined"!=typeof require?module.exports=b(require("underscore"),require("backbone"),require("jquery")):a.Backbone=b(a._,a.Backbone,a.jQuery)}(this,function(a,b,c){function d(b,d){if(b&&a.isObject(b)){if(a.isFunction(b.getCacheKey))return b.getCacheKey(d);b=d&&d.url?d.url:a.isFunction(b.url)?b.url():b.url}else if(a.isFunction(b))return b(d);return d&&d.data?"string"==typeof d.data?b+"?"+d.data:b+"?"+c.param(d.data):b}function e(a,c,d){c=c||{};var e=b.fetchCache.getCacheKey(a,c),f=!1,g=c.lastSync||(new Date).getTime(),h=!1;e&&c.cache!==!1&&(c.cache||c.prefill)&&(c.expires!==!1&&(f=(new Date).getTime()+1e3*(c.expires||300)),c.prefillExpires!==!1&&(h=(new Date).getTime()+1e3*(c.prefillExpires||300)),b.fetchCache._cache[e]={expires:f,lastSync:g,prefillExpires:h,value:d},b.fetchCache.setLocalStorage())}function f(c,e){return a.isFunction(c)?c=c():c&&a.isObject(c)&&(c=d(c,e)),b.fetchCache._cache[c]}function g(a,b){return f(a).lastSync}function h(c,e){a.isFunction(c)?c=c():c&&a.isObject(c)&&(c=d(c,e)),delete b.fetchCache._cache[c],b.fetchCache.setLocalStorage()}function i(){if(m&&b.fetchCache.localStorage)try{localStorage.setItem(b.fetchCache.getLocalStorageKey(),JSON.stringify(b.fetchCache._cache))}catch(a){var c=a.code||a.number||a.message;if(22!==c&&1014!==c)throw a;this._deleteCacheWithPriority()}}function j(){if(m&&b.fetchCache.localStorage){var a=localStorage.getItem(b.fetchCache.getLocalStorageKey())||"{}";b.fetchCache._cache=JSON.parse(a)}}function k(a){return window.setTimeout(a,0)}var l={modelFetch:b.Model.prototype.fetch,modelSync:b.Model.prototype.sync,collectionFetch:b.Collection.prototype.fetch},m=function(){var a="undefined"!=typeof window.localStorage;if(a)try{localStorage.setItem("test_support","test_support"),localStorage.removeItem("test_support")}catch(b){a=!1}return a}();return b.fetchCache=b.fetchCache||{},b.fetchCache._cache=b.fetchCache._cache||{},b.fetchCache.enabled=!0,b.fetchCache.priorityFn=function(a,b){return a&&a.expires&&b&&b.expires?a.expires-b.expires:a},b.fetchCache._prioritize=function(){var b=a.values(this._cache).sort(this.priorityFn),c=a.indexOf(a.values(this._cache),b[0]);return a.keys(this._cache)[c]},b.fetchCache._deleteCacheWithPriority=function(){b.fetchCache._cache[this._prioritize()]=null,delete b.fetchCache._cache[this._prioritize()],b.fetchCache.setLocalStorage()},b.fetchCache.getLocalStorageKey=function(){return"backboneCache"},"undefined"==typeof b.fetchCache.localStorage&&(b.fetchCache.localStorage=!0),b.Model.prototype.fetch=function(d){function e(){return d.prefill&&(!d.prefillExpires||m)}function g(){d.parse&&(n=p.parse(n,d)),p.set(n,d),a.isFunction(d.prefillSuccess)&&d.prefillSuccess(p,n,d),p.trigger("cachesync",p,n,d),p.trigger("sync",p,n,d),e()?o.notify(p):(a.isFunction(d.success)&&d.success(p,n,d),o.resolve(p))}if(!b.fetchCache.enabled)return l.modelFetch.apply(this,arguments);d=a.defaults(d||{},{parse:!0});var h=b.fetchCache.getCacheKey(this,d),i=f(h),j=!1,m=!1,n=!1,o=new c.Deferred,p=this;if(i&&(j=i.expires,j=j&&i.expires<(new Date).getTime(),m=i.prefillExpires,m=m&&i.prefillExpires<(new Date).getTime(),n=i.value),!j&&(d.cache||d.prefill)&&n&&(null==d.async&&(d.async=!0),d.async?k(g):g(),!e()))return o;var q=l.modelFetch.apply(this,arguments);return q.done(a.bind(o.resolve,this,this)).done(a.bind(b.fetchCache.setCache,null,this,d)).fail(a.bind(o.reject,this,this)),o.abort=q.abort,o},b.Model.prototype.sync=function(a,c,d){if("read"===a||!b.fetchCache.enabled)return l.modelSync.apply(this,arguments);var e,f,g=c.collection,i=[];for(i.push(b.fetchCache.getCacheKey(c,d)),g&&i.push(b.fetchCache.getCacheKey(g)),e=0,f=i.length;f>e;e++)h(i[e]);return l.modelSync.apply(this,arguments)},b.Collection.prototype.fetch=function(d){function e(){return d.prefill&&(!d.prefillExpires||m)}function g(){p[d.reset?"reset":"set"](n,d),a.isFunction(d.prefillSuccess)&&d.prefillSuccess(p),p.trigger("cachesync",p,n,d),p.trigger("sync",p,n,d),e()?o.notify(p):(a.isFunction(d.success)&&d.success(p,n,d),o.resolve(p))}if(!b.fetchCache.enabled)return l.collectionFetch.apply(this,arguments);d=a.defaults(d||{},{parse:!0});var h=b.fetchCache.getCacheKey(this,d),i=f(h),j=!1,m=!1,n=!1,o=new c.Deferred,p=this;if(i&&(j=i.expires,j=j&&i.expires<(new Date).getTime(),m=i.prefillExpires,m=m&&i.prefillExpires<(new Date).getTime(),n=i.value),!j&&(d.cache||d.prefill)&&n&&(null==d.async&&(d.async=!0),d.async?k(g):g(),!e()))return o;var q=l.collectionFetch.apply(this,arguments);return q.done(a.bind(o.resolve,this,this)).done(a.bind(b.fetchCache.setCache,null,this,d)).fail(a.bind(o.reject,this,this)),o.abort=q.abort,o},j(),b.fetchCache._superMethods=l,b.fetchCache.setCache=e,b.fetchCache.getCache=f,b.fetchCache.getCacheKey=d,b.fetchCache.getLastSync=g,b.fetchCache.clearItem=h,b.fetchCache.setLocalStorage=i,b.fetchCache.getLocalStorage=j,b}),function(a,b){"object"==typeof exports&&"function"==typeof require?module.exports=b(require("backbone")):"function"==typeof define&&define.amd?define(["backbone"],function(c){return b(c||a.Backbone)}):b(Backbone)}(this,function(a){function b(){return(65536*(1+Math.random())|0).toString(16).substring(1)}function c(){return b()+b()+"-"+b()+"-"+b()+"-"+b()+"-"+b()+b()+b()}function d(a){return a===Object(a)}function e(a,b){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1}function f(a,b){for(var c in b)a[c]=b[c];return a}function g(a,b){if(null==a)return void 0;var c=a[b];return"function"==typeof c?a[b]():c}return a.LocalStorage=window.Store=function(a,b){if(!this.localStorage)throw"Backbone.localStorage: Environment does not support localStorage.";this.name=a,this.serializer=b||{serialize:function(a){return d(a)?JSON.stringify(a):a},deserialize:function(a){return a&&JSON.parse(a)}};var c=this.localStorage().getItem(this.name);this.records=c&&c.split(",")||[]},f(a.LocalStorage.prototype,{save:function(){this.localStorage().setItem(this.name,this.records.join(","))},create:function(a){return a.id||0===a.id||(a.id=c(),a.set(a.idAttribute,a.id)),this.localStorage().setItem(this._itemName(a.id),this.serializer.serialize(a)),this.records.push(a.id.toString()),this.save(),this.find(a)},update:function(a){this.localStorage().setItem(this._itemName(a.id),this.serializer.serialize(a));var b=a.id.toString();return e(this.records,b)||(this.records.push(b),this.save()),this.find(a)},find:function(a){return this.serializer.deserialize(this.localStorage().getItem(this._itemName(a.id)))},findAll:function(){for(var a,b,c=[],d=0;d<this.records.length;d++)a=this.records[d],b=this.serializer.deserialize(this.localStorage().getItem(this._itemName(a))),null!=b&&c.push(b);return c},destroy:function(a){this.localStorage().removeItem(this._itemName(a.id));for(var b=a.id.toString(),c=0;c<this.records.length;c++)this.records[c]===b&&this.records.splice(c,1);return this.save(),a},localStorage:function(){return localStorage},_clear:function(){var a=this.localStorage(),b=new RegExp("^"+this.name+"-");a.removeItem(this.name);for(var c in a)b.test(c)&&a.removeItem(c);this.records.length=0},_storageSize:function(){return this.localStorage().length},_itemName:function(a){return this.name+"-"+a}}),a.LocalStorage.sync=window.Store.sync=a.localSync=function(b,c,d){var e,f,h=g(c,"localStorage")||g(c.collection,"localStorage"),i=a.$?a.$.Deferred&&a.$.Deferred():a.Deferred&&a.Deferred();try{switch(b){case"read":e=void 0!=c.id?h.find(c):h.findAll();break;case"create":e=h.create(c);break;case"update":e=h.update(c);break;case"delete":e=h.destroy(c)}}catch(j){f=22===j.code&&0===h._storageSize()?"Private browsing is unsupported":j.message}return e?(d&&d.success&&("0.9.10"===a.VERSION?d.success(c,e,d):d.success(e)),i&&i.resolve(e)):(f=f?f:"Record Not Found",d&&d.error&&("0.9.10"===a.VERSION?d.error(c,f,d):d.error(f)),i&&i.reject(f)),d&&d.complete&&d.complete(e),i&&i.promise()},a.ajaxSync=a.sync,a.getSyncMethod=function(b,c){var d=c&&c.ajaxSync;return d||!g(b,"localStorage")&&!g(b.collection,"localStorage")?a.ajaxSync:a.localSync},a.sync=function(b,c,d){return a.getSyncMethod(c,d).apply(this,[b,c,d])},a.LocalStorage}),function(a,b){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(c,d){return a.Marionette=a.Mn=b(a,c,d)});else if("undefined"!=typeof exports){var c=require("backbone"),d=require("underscore");module.exports=b(a,c,d)}else a.Marionette=a.Mn=b(a,a.Backbone,a._)}(this,function(a,b,c){"use strict";!function(a,b){var c=a.ChildViewContainer;return a.ChildViewContainer=function(a,b){var c=function(a){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),b.each(a,this.add,this)};b.extend(c.prototype,{add:function(a,b){var c=a.cid;return this._views[c]=a,a.model&&(this._indexByModel[a.model.cid]=c),b&&(this._indexByCustom[b]=c),this._updateLength(),this},findByModel:function(a){return this.findByModelCid(a.cid)},findByModelCid:function(a){var b=this._indexByModel[a];return this.findByCid(b)},findByCustom:function(a){var b=this._indexByCustom[a];return this.findByCid(b)},findByIndex:function(a){return b.values(this._views)[a]},findByCid:function(a){return this._views[a]},remove:function(a){var c=a.cid;return a.model&&delete this._indexByModel[a.model.cid],b.any(this._indexByCustom,function(a,b){return a===c?(delete this._indexByCustom[b],!0):void 0},this),delete this._views[c],this._updateLength(),this},call:function(a){this.apply(a,b.tail(arguments))},apply:function(a,c){b.each(this._views,function(d){b.isFunction(d[a])&&d[a].apply(d,c||[])})},_updateLength:function(){this.length=b.size(this._views)}});var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return b.each(d,function(a){c.prototype[a]=function(){var c=b.values(this._views),d=[c].concat(b.toArray(arguments));return b[a].apply(b,d)}}),c}(a,b),a.ChildViewContainer.VERSION="0.1.5",a.ChildViewContainer.noConflict=function(){return a.ChildViewContainer=c,this},a.ChildViewContainer}(b,c),function(a,b){var c=a.Wreqr,d=a.Wreqr={};return a.Wreqr.VERSION="1.3.1",a.Wreqr.noConflict=function(){return a.Wreqr=c,this},d.Handlers=function(a,b){var c=function(a){this.options=a,this._wreqrHandlers={},b.isFunction(this.initialize)&&this.initialize(a)};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events,{setHandlers:function(a){b.each(a,function(a,c){var d=null;b.isObject(a)&&!b.isFunction(a)&&(d=a.context,a=a.callback),this.setHandler(c,a,d)},this)},setHandler:function(a,b,c){var d={callback:b,context:c};this._wreqrHandlers[a]=d,this.trigger("handler:add",a,b,c)},hasHandler:function(a){return!!this._wreqrHandlers[a]},getHandler:function(a){var b=this._wreqrHandlers[a];if(b)return function(){var a=Array.prototype.slice.apply(arguments);return b.callback.apply(b.context,a)}},removeHandler:function(a){delete this._wreqrHandlers[a]},removeAllHandlers:function(){this._wreqrHandlers={}}}),c}(a,b),d.CommandStorage=function(){var c=function(a){this.options=a,this._commands={},b.isFunction(this.initialize)&&this.initialize(a)};return b.extend(c.prototype,a.Events,{getCommands:function(a){var b=this._commands[a];return b||(b={command:a,instances:[]},this._commands[a]=b),b},addCommand:function(a,b){var c=this.getCommands(a);c.instances.push(b)},clearCommands:function(a){var b=this.getCommands(a);b.instances=[]}}),c}(),d.Commands=function(a){return a.Handlers.extend({storageType:a.CommandStorage,constructor:function(b){this.options=b||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this);var c=Array.prototype.slice.call(arguments);a.Handlers.prototype.constructor.apply(this,c)},execute:function(a,b){a=arguments[0],b=Array.prototype.slice.call(arguments,1),this.hasHandler(a)?this.getHandler(a).apply(this,b):this.storage.addCommand(a,b)},_executeCommands:function(a,c,d){var e=this.storage.getCommands(a);b.each(e.instances,function(a){c.apply(d,a)}),this.storage.clearCommands(a)},_initializeStorage:function(a){var c,d=a.storageType||this.storageType;c=b.isFunction(d)?new d:d,this.storage=c}})}(d),d.RequestResponse=function(a){return a.Handlers.extend({request:function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);return this.hasHandler(a)?this.getHandler(a).apply(this,b):void 0}})}(d),d.EventAggregator=function(a,b){var c=function(){};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events),c}(a,b),d.Channel=function(c){var d=function(b){this.vent=new a.Wreqr.EventAggregator,this.reqres=new a.Wreqr.RequestResponse,this.commands=new a.Wreqr.Commands,this.channelName=b};return b.extend(d.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(a,b){return this._connect("vent",a,b),this},connectCommands:function(a,b){return this._connect("commands",a,b),this},connectRequests:function(a,b){return this._connect("reqres",a,b),this},_connect:function(a,c,d){if(c){d=d||this;var e="vent"===a?"on":"setHandler";b.each(c,function(c,f){this[a][e](f,b.bind(c,d))},this)}}}),d}(d),d.radio=function(a){var c=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};b.extend(c.prototype,{channel:function(a){if(!a)throw new Error("Channel must receive a name");return this._getChannel(a)},_getChannel:function(b){var c=this._channels[b];return c||(c=new a.Channel(b),this._channels[b]=c),c},_proxyMethods:function(){b.each(["vent","commands","reqres"],function(a){b.each(d[a],function(b){this[a][b]=e(this,a,b)},this)},this)}});var d={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},e=function(a,b,c){return function(d){var e=a._getChannel(d)[b],f=Array.prototype.slice.call(arguments,1);return e[c].apply(e,f)}};return new c}(d),a.Wreqr}(b,c);var d=a.Marionette,e=b.Marionette={};e.VERSION="2.3.1",e.noConflict=function(){return a.Marionette=d,this},b.Marionette=e,e.Deferred=b.$.Deferred,e.extend=b.Model.extend,e.isNodeAttached=function(a){return b.$.contains(document.documentElement,a)},e.getOption=function(a,b){return a&&b?a.options&&void 0!==a.options[b]?a.options[b]:a[b]:void 0},e.proxyGetOption=function(a){return e.getOption(this,a)},e._getValue=function(a,b,d){return c.isFunction(a)&&(a=a.apply(b,d)),a},e.normalizeMethods=function(a){return c.reduce(a,function(a,b,d){return c.isFunction(b)||(b=this[b]),b&&(a[d]=b),a},{},this)},e.normalizeUIString=function(a,b){return a.replace(/@ui\.[a-zA-Z_$0-9]*/g,function(a){return b[a.slice(4)]})},e.normalizeUIKeys=function(a,b){return c.reduce(a,function(a,c,d){var f=e.normalizeUIString(d,b);return a[f]=c,a},{})},e.normalizeUIValues=function(a,b){return c.each(a,function(d,f){c.isString(d)&&(a[f]=e.normalizeUIString(d,b))}),a},e.actAsCollection=function(a,b){var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];c.each(d,function(d){a[d]=function(){var a=c.values(c.result(this,b)),e=[a].concat(c.toArray(arguments));return c[d].apply(c,e)}})};var f=e.deprecate=function(a,b){c.isObject(a)&&(a=a.prev+" is going to be removed in the future. Please use "+a.next+" instead."+(a.url?" See: "+a.url:"")),void 0!==b&&b||f._cache[a]||(f._warn("Deprecation warning: "+a),f._cache[a]=!0)};f._warn="undefined"!=typeof console&&(console.warn||console.log)||function(){},f._cache={},e._triggerMethod=function(){function a(a,b,c){return c.toUpperCase()}var b=/(^|:)(\w)/gi;return function(d,e,f){var g=arguments.length<3;g&&(f=e,e=f[0]);var h,i="on"+e.replace(b,a),j=d[i];return c.isFunction(j)&&(h=j.apply(d,g?c.rest(f):f)),c.isFunction(d.trigger)&&(g+f.length>1?d.trigger.apply(d,g?f:[e].concat(c.rest(f,0))):d.trigger(e)),h}}(),e.triggerMethod=function(a){return e._triggerMethod(this,arguments)},e.triggerMethodOn=function(a){var b=c.isFunction(a.triggerMethod)?a.triggerMethod:e.triggerMethod;return b.apply(a,c.rest(arguments))},e.MonitorDOMRefresh=function(a){function b(){a._isShown=!0,f()}function d(){a._isRendered=!0,f()}function f(){a._isShown&&a._isRendered&&e.isNodeAttached(a.el)&&c.isFunction(a.triggerMethod)&&a.triggerMethod("dom:refresh")}a.on({show:b,render:d})},function(a){function b(b,d,e,f){var g=f.split(/\s+/);c.each(g,function(c){var f=b[c];if(!f)throw new a.Error('Method "'+c+'" was configured as an event handler, but does not exist.');b.listenTo(d,e,f)})}function d(a,b,c,d){a.listenTo(b,c,d)}function e(a,b,d,e){var f=e.split(/\s+/);c.each(f,function(c){var e=a[c];a.stopListening(b,d,e)})}function f(a,b,c,d){a.stopListening(b,c,d)}function g(b,d,e,f,g){if(d&&e){if(!c.isObject(e))throw new a.Error({message:"Bindings must be an object or function.",url:"marionette.functions.html#marionettebindentityevents"});e=a._getValue(e,b),c.each(e,function(a,e){c.isFunction(a)?f(b,d,e,a):g(b,d,e,a)})}}a.bindEntityEvents=function(a,c,e){g(a,c,e,d,b)},a.unbindEntityEvents=function(a,b,c){g(a,b,c,f,e)},a.proxyBindEntityEvents=function(b,c){return a.bindEntityEvents(this,b,c)},a.proxyUnbindEntityEvents=function(b,c){return a.unbindEntityEvents(this,b,c)}}(e);var g=["description","fileName","lineNumber","name","message","number"];return e.Error=e.extend.call(Error,{urlRoot:"http://marionettejs.com/docs/v"+e.VERSION+"/",constructor:function(a,b){c.isObject(a)?(b=a,a=b.message):b||(b={});var d=Error.call(this,a);c.extend(this,c.pick(d,g),c.pick(b,g)),this.captureStackTrace(),b.url&&(this.url=this.urlRoot+b.url)},captureStackTrace:function(){Error.captureStackTrace&&Error.captureStackTrace(this,e.Error)},toString:function(){return this.name+": "+this.message+(this.url?" See: "+this.url:"")}}),e.Error.extend=e.extend,e.Callbacks=function(){this._deferred=e.Deferred(),this._callbacks=[]},c.extend(e.Callbacks.prototype,{add:function(a,b){var d=c.result(this._deferred,"promise");this._callbacks.push({cb:a,ctx:b}),d.then(function(c){b&&(c.context=b),a.call(c.context,c.options)})},run:function(a,b){this._deferred.resolve({options:a,context:b})},reset:function(){var a=this._callbacks;this._deferred=e.Deferred(),this._callbacks=[],c.each(a,function(a){this.add(a.cb,a.ctx)},this)}}),e.Controller=function(a){this.options=a||{},c.isFunction(this.initialize)&&this.initialize(this.options)},e.Controller.extend=e.extend,c.extend(e.Controller.prototype,b.Events,{destroy:function(){return e._triggerMethod(this,"before:destroy",arguments),
-e._triggerMethod(this,"destroy",arguments),this.stopListening(),this.off(),this},triggerMethod:e.triggerMethod,getOption:e.proxyGetOption}),e.Object=function(a){this.options=c.extend({},c.result(this,"options"),a),this.initialize.apply(this,arguments)},e.Object.extend=e.extend,c.extend(e.Object.prototype,b.Events,{initialize:function(){},destroy:function(){this.triggerMethod("before:destroy"),this.triggerMethod("destroy"),this.stopListening()},triggerMethod:e.triggerMethod,getOption:e.proxyGetOption,bindEntityEvents:e.proxyBindEntityEvents,unbindEntityEvents:e.proxyUnbindEntityEvents}),e.Region=e.Object.extend({constructor:function(a){if(this.options=a||{},this.el=this.getOption("el"),this.el=this.el instanceof b.$?this.el[0]:this.el,!this.el)throw new e.Error({name:"NoElError",message:'An "el" must be specified for a region.'});this.$el=this.getEl(this.el),e.Object.call(this,a)},show:function(a,b){if(this._ensureElement()){this._ensureViewIsIntact(a);var c=b||{},d=a!==this.currentView,f=!!c.preventDestroy,g=!!c.forceShow,h=!!this.currentView,i=d&&!f,j=d||g;if(h&&this.triggerMethod("before:swapOut",this.currentView,this,b),this.currentView&&delete this.currentView._parent,i?this.empty():h&&j&&this.currentView.off("destroy",this.empty,this),j){a.once("destroy",this.empty,this),a.render(),a._parent=this,h&&this.triggerMethod("before:swap",a,this,b),this.triggerMethod("before:show",a,this,b),e.triggerMethodOn(a,"before:show",a,this,b),h&&this.triggerMethod("swapOut",this.currentView,this,b);var k=e.isNodeAttached(this.el),l=[],m=c.triggerBeforeAttach||this.triggerBeforeAttach,n=c.triggerAttach||this.triggerAttach;return k&&m&&(l=this._displayedViews(a),this._triggerAttach(l,"before:")),this.attachHtml(a),this.currentView=a,k&&n&&(l=this._displayedViews(a),this._triggerAttach(l)),h&&this.triggerMethod("swap",a,this,b),this.triggerMethod("show",a,this,b),e.triggerMethodOn(a,"show",a,this,b),this}return this}},triggerBeforeAttach:!0,triggerAttach:!0,_triggerAttach:function(a,b){var d=(b||"")+"attach";c.each(a,function(a){e.triggerMethodOn(a,d,a,this)},this)},_displayedViews:function(a){return c.union([a],c.result(a,"_getNestedViews")||[])},_ensureElement:function(){if(c.isObject(this.el)||(this.$el=this.getEl(this.el),this.el=this.$el[0]),!this.$el||0===this.$el.length){if(this.getOption("allowMissingEl"))return!1;throw new e.Error('An "el" '+this.$el.selector+" must exist in DOM")}return!0},_ensureViewIsIntact:function(a){if(!a)throw new e.Error({name:"ViewNotValid",message:"The view passed is undefined and therefore invalid. You must pass a view instance to show."});if(a.isDestroyed)throw new e.Error({name:"ViewDestroyedError",message:'View (cid: "'+a.cid+'") has already been destroyed and cannot be used.'})},getEl:function(a){return b.$(a,e._getValue(this.options.parentEl,this))},attachHtml:function(a){this.$el.contents().detach(),this.el.appendChild(a.el)},empty:function(){var a=this.currentView;if(a)return a.off("destroy",this.empty,this),this.triggerMethod("before:empty",a),this._destroyView(),this.triggerMethod("empty",a),delete this.currentView,this},_destroyView:function(){var a=this.currentView;a.destroy&&!a.isDestroyed?a.destroy():a.remove&&(a.remove(),a.isDestroyed=!0)},attachView:function(a){return this.currentView=a,this},hasView:function(){return!!this.currentView},reset:function(){return this.empty(),this.$el&&(this.el=this.$el.selector),delete this.$el,this}},{buildRegion:function(a,b){if(c.isString(a))return this._buildRegionFromSelector(a,b);if(a.selector||a.el||a.regionClass)return this._buildRegionFromObject(a,b);if(c.isFunction(a))return this._buildRegionFromRegionClass(a);throw new e.Error({message:"Improper region configuration type.",url:"marionette.region.html#region-configuration-types"})},_buildRegionFromSelector:function(a,b){return new b({el:a})},_buildRegionFromObject:function(a,b){var d=a.regionClass||b,e=c.omit(a,"selector","regionClass");return a.selector&&!e.el&&(e.el=a.selector),new d(e)},_buildRegionFromRegionClass:function(a){return new a}}),e.RegionManager=e.Controller.extend({constructor:function(a){this._regions={},e.Controller.call(this,a),this.addRegions(this.getOption("regions"))},addRegions:function(a,b){return a=e._getValue(a,this,arguments),c.reduce(a,function(a,d,e){return c.isString(d)&&(d={selector:d}),d.selector&&(d=c.defaults({},d,b)),a[e]=this.addRegion(e,d),a},{},this)},addRegion:function(a,b){var c;return c=b instanceof e.Region?b:e.Region.buildRegion(b,e.Region),this.triggerMethod("before:add:region",a,c),c._parent=this,this._store(a,c),this.triggerMethod("add:region",a,c),c},get:function(a){return this._regions[a]},getRegions:function(){return c.clone(this._regions)},removeRegion:function(a){var b=this._regions[a];return this._remove(a,b),b},removeRegions:function(){var a=this.getRegions();return c.each(this._regions,function(a,b){this._remove(b,a)},this),a},emptyRegions:function(){var a=this.getRegions();return c.invoke(a,"empty"),a},destroy:function(){return this.removeRegions(),e.Controller.prototype.destroy.apply(this,arguments)},_store:function(a,b){this._regions[a]=b,this._setLength()},_remove:function(a,b){this.triggerMethod("before:remove:region",a,b),b.empty(),b.stopListening(),delete b._parent,delete this._regions[a],this._setLength(),this.triggerMethod("remove:region",a,b)},_setLength:function(){this.length=c.size(this._regions)}}),e.actAsCollection(e.RegionManager.prototype,"_regions"),e.TemplateCache=function(a){this.templateId=a},c.extend(e.TemplateCache,{templateCaches:{},get:function(a){var b=this.templateCaches[a];return b||(b=new e.TemplateCache(a),this.templateCaches[a]=b),b.load()},clear:function(){var a,b=c.toArray(arguments),d=b.length;if(d>0)for(a=0;d>a;a++)delete this.templateCaches[b[a]];else this.templateCaches={}}}),c.extend(e.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var a=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(a),this.compiledTemplate},loadTemplate:function(a){var c=b.$(a).html();if(!c||0===c.length)throw new e.Error({name:"NoTemplateError",message:'Could not find template: "'+a+'"'});return c},compileTemplate:function(a){return c.template(a)}}),e.Renderer={render:function(a,b){if(!a)throw new e.Error({name:"TemplateNotFoundError",message:"Cannot render the template since its false, null or undefined."});var d=c.isFunction(a)?a:e.TemplateCache.get(a);return d(b)}},e.View=b.View.extend({isDestroyed:!1,constructor:function(a){c.bindAll(this,"render"),a=e._getValue(a,this),this.options=c.extend({},c.result(this,"options"),a),this._behaviors=e.Behaviors(this),b.View.apply(this,arguments),e.MonitorDOMRefresh(this),this.on("show",this.onShowCalled)},getTemplate:function(){return this.getOption("template")},serializeModel:function(a){return a.toJSON.apply(a,c.rest(arguments))},mixinTemplateHelpers:function(a){a=a||{};var b=this.getOption("templateHelpers");return b=e._getValue(b,this),c.extend(a,b)},normalizeUIKeys:function(a){var b=c.result(this,"_uiBindings");return e.normalizeUIKeys(a,b||c.result(this,"ui"))},normalizeUIValues:function(a){var b=c.result(this,"ui"),d=c.result(this,"_uiBindings");return e.normalizeUIValues(a,d||b)},configureTriggers:function(){if(this.triggers){var a=this.normalizeUIKeys(c.result(this,"triggers"));return c.reduce(a,function(a,b,c){return a[c]=this._buildViewTrigger(b),a},{},this)}},delegateEvents:function(a){return this._delegateDOMEvents(a),this.bindEntityEvents(this.model,this.getOption("modelEvents")),this.bindEntityEvents(this.collection,this.getOption("collectionEvents")),c.each(this._behaviors,function(a){a.bindEntityEvents(this.model,a.getOption("modelEvents")),a.bindEntityEvents(this.collection,a.getOption("collectionEvents"))},this),this},_delegateDOMEvents:function(a){var d=e._getValue(a||this.events,this);d=this.normalizeUIKeys(d),c.isUndefined(a)&&(this.events=d);var f={},g=c.result(this,"behaviorEvents")||{},h=this.configureTriggers(),i=c.result(this,"behaviorTriggers")||{};c.extend(f,g,d,h,i),b.View.prototype.delegateEvents.call(this,f)},undelegateEvents:function(){return b.View.prototype.undelegateEvents.apply(this,arguments),this.unbindEntityEvents(this.model,this.getOption("modelEvents")),this.unbindEntityEvents(this.collection,this.getOption("collectionEvents")),c.each(this._behaviors,function(a){a.unbindEntityEvents(this.model,a.getOption("modelEvents")),a.unbindEntityEvents(this.collection,a.getOption("collectionEvents"))},this),this},onShowCalled:function(){},_ensureViewIsIntact:function(){if(this.isDestroyed)throw new e.Error({name:"ViewDestroyedError",message:'View (cid: "'+this.cid+'") has already been destroyed and cannot be used.'})},destroy:function(){if(!this.isDestroyed){var a=c.toArray(arguments);return this.triggerMethod.apply(this,["before:destroy"].concat(a)),this.isDestroyed=!0,this.triggerMethod.apply(this,["destroy"].concat(a)),this.unbindUIElements(),this.remove(),c.invoke(this._behaviors,"destroy",a),this}},bindUIElements:function(){this._bindUIElements(),c.invoke(this._behaviors,this._bindUIElements)},_bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var a=c.result(this,"_uiBindings");this.ui={},c.each(a,function(a,b){this.ui[b]=this.$(a)},this)}},unbindUIElements:function(){this._unbindUIElements(),c.invoke(this._behaviors,this._unbindUIElements)},_unbindUIElements:function(){this.ui&&this._uiBindings&&(c.each(this.ui,function(a,b){delete this.ui[b]},this),this.ui=this._uiBindings,delete this._uiBindings)},_buildViewTrigger:function(a){var b=c.isObject(a),d=c.defaults({},b?a:{},{preventDefault:!0,stopPropagation:!0}),e=b?d.event:a;return function(a){a&&(a.preventDefault&&d.preventDefault&&a.preventDefault(),a.stopPropagation&&d.stopPropagation&&a.stopPropagation());var b={view:this,model:this.model,collection:this.collection};this.triggerMethod(e,b)}},setElement:function(){var a=b.View.prototype.setElement.apply(this,arguments);return c.invoke(this._behaviors,"proxyViewProperties",this),a},triggerMethod:function(){for(var a=e._triggerMethod,b=a(this,arguments),c=this._behaviors,d=0,f=c&&c.length;f>d;d++)a(c[d],arguments);return b},_getImmediateChildren:function(){return[]},_getNestedViews:function(){var a=this._getImmediateChildren();return a.length?c.reduce(a,function(a,b){return b._getNestedViews?a.concat(b._getNestedViews()):a},a):a},normalizeMethods:e.normalizeMethods,getOption:e.proxyGetOption,bindEntityEvents:e.proxyBindEntityEvents,unbindEntityEvents:e.proxyUnbindEntityEvents}),e.ItemView=e.View.extend({constructor:function(){e.View.apply(this,arguments)},serializeData:function(){if(!this.model&&!this.collection)return{};var a=[this.model||this.collection];return arguments.length&&a.push.apply(a,arguments),this.model?this.serializeModel.apply(this,a):{items:this.serializeCollection.apply(this,a)}},serializeCollection:function(a){return a.toJSON.apply(a,c.rest(arguments))},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderTemplate(),this.bindUIElements(),this.triggerMethod("render",this),this},_renderTemplate:function(){var a=this.getTemplate();if(a!==!1){if(!a)throw new e.Error({name:"UndefinedTemplateError",message:"Cannot render the template since it is null or undefined."});var b=this.serializeData();b=this.mixinTemplateHelpers(b);var c=e.Renderer.render(a,b,this);return this.attachElContent(c),this}},attachElContent:function(a){return this.$el.html(a),this}}),e.CollectionView=e.View.extend({childViewEventPrefix:"childview",constructor:function(a){var b=a||{};c.isUndefined(this.sort)&&(this.sort=c.isUndefined(b.sort)?!0:b.sort),this.once("render",this._initialEvents),this._initChildViewStorage(),e.View.apply(this,arguments),this.initRenderBuffer()},initRenderBuffer:function(){this.elBuffer=document.createDocumentFragment(),this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){this.isBuffering=!1,this._triggerBeforeShowBufferedChildren(),this.attachBuffer(this,this.elBuffer),this._triggerShowBufferedChildren(),this.initRenderBuffer()},_triggerBeforeShowBufferedChildren:function(){this._isShown&&c.each(this._bufferedChildren,c.partial(this._triggerMethodOnChild,"before:show"))},_triggerShowBufferedChildren:function(){this._isShown&&(c.each(this._bufferedChildren,c.partial(this._triggerMethodOnChild,"show")),this._bufferedChildren=[])},_triggerMethodOnChild:function(a,b){e.triggerMethodOn(b,a)},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this.render),this.sort&&this.listenTo(this.collection,"sort",this._sortViews))},_onCollectionAdd:function(a){this.destroyEmptyView();var b=this.getChildView(a),c=this.collection.indexOf(a);this.addChild(a,b,c)},_onCollectionRemove:function(a){var b=this.children.findByModel(a);this.removeChildView(b),this.checkEmpty()},onShowCalled:function(){this.children.each(c.partial(this._triggerMethodOnChild,"show"))},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderChildren(),this.triggerMethod("render",this),this},resortView:function(){this.render()},_sortViews:function(){var a=this.collection.find(function(a,b){var c=this.children.findByModel(a);return!c||c._index!==b},this);a&&this.resortView()},_emptyViewIndex:-1,_renderChildren:function(){this.destroyEmptyView(),this.destroyChildren(),this.isEmpty(this.collection)?this.showEmptyView():(this.triggerMethod("before:render:collection",this),this.startBuffering(),this.showCollection(),this.endBuffering(),this.triggerMethod("render:collection",this))},showCollection:function(){var a;this.collection.each(function(b,c){a=this.getChildView(b),this.addChild(b,a,c)},this)},showEmptyView:function(){var a=this.getEmptyView();if(a&&!this._showingEmptyView){this.triggerMethod("before:render:empty"),this._showingEmptyView=!0;var c=new b.Model;this.addEmptyView(c,a),this.triggerMethod("render:empty")}},destroyEmptyView:function(){this._showingEmptyView&&(this.triggerMethod("before:remove:empty"),this.destroyChildren(),delete this._showingEmptyView,this.triggerMethod("remove:empty"))},getEmptyView:function(){return this.getOption("emptyView")},addEmptyView:function(a,b){var d=this.getOption("emptyViewOptions")||this.getOption("childViewOptions");c.isFunction(d)&&(d=d.call(this,a,this._emptyViewIndex));var f=this.buildChildView(a,b,d);f._parent=this,this.proxyChildEvents(f),this._isShown&&e.triggerMethodOn(f,"before:show"),this.children.add(f),this.renderChildView(f,this._emptyViewIndex),this._isShown&&e.triggerMethodOn(f,"show")},getChildView:function(a){var b=this.getOption("childView");if(!b)throw new e.Error({name:"NoChildViewError",message:'A "childView" must be specified'});return b},addChild:function(a,b,c){var d=this.getOption("childViewOptions");d=e._getValue(d,this,[a,c]);var f=this.buildChildView(a,b,d);return this._updateIndices(f,!0,c),this._addChildView(f,c),f._parent=this,f},_updateIndices:function(a,b,c){this.sort&&(b&&(a._index=c),this.children.each(function(c){c._index>=a._index&&(c._index+=b?1:-1)}))},_addChildView:function(a,b){this.proxyChildEvents(a),this.triggerMethod("before:add:child",a),this.children.add(a),this.renderChildView(a,b),this._isShown&&!this.isBuffering&&e.triggerMethodOn(a,"show"),this.triggerMethod("add:child",a)},renderChildView:function(a,b){return a.render(),this.attachHtml(this,a,b),a},buildChildView:function(a,b,d){var e=c.extend({model:a},d);return new b(e)},removeChildView:function(a){return a&&(this.triggerMethod("before:remove:child",a),a.destroy?a.destroy():a.remove&&a.remove(),delete a._parent,this.stopListening(a),this.children.remove(a),this.triggerMethod("remove:child",a),this._updateIndices(a,!1)),a},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},attachBuffer:function(a,b){a.$el.append(b)},attachHtml:function(a,b,c){a.isBuffering?(a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b)):a._insertBefore(b,c)||a._insertAfter(b)},_insertBefore:function(a,b){var c,d=this.sort&&b<this.children.length-1;return d&&(c=this.children.find(function(a){return a._index===b+1})),c?(c.$el.before(a.el),!0):!1},_insertAfter:function(a){this.$el.append(a.el)},_initChildViewStorage:function(){this.children=new b.ChildViewContainer},destroy:function(){return this.isDestroyed?void 0:(this.triggerMethod("before:destroy:collection"),this.destroyChildren(),this.triggerMethod("destroy:collection"),e.View.prototype.destroy.apply(this,arguments))},destroyChildren:function(){var a=this.children.map(c.identity);return this.children.each(this.removeChildView,this),this.checkEmpty(),a},proxyChildEvents:function(a){var b=this.getOption("childViewEventPrefix");this.listenTo(a,"all",function(){var d=c.toArray(arguments),e=d[0],f=this.normalizeMethods(c.result(this,"childEvents"));d[0]=b+":"+e,d.splice(1,0,a),"undefined"!=typeof f&&c.isFunction(f[e])&&f[e].apply(this,d.slice(1)),this.triggerMethod.apply(this,d)},this)},_getImmediateChildren:function(){return c.values(this.children._views)}}),e.CompositeView=e.CollectionView.extend({constructor:function(){e.CollectionView.apply(this,arguments)},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this._renderChildren),this.sort&&this.listenTo(this.collection,"sort",this._sortViews))},getChildView:function(a){var b=this.getOption("childView")||this.constructor;return b},serializeData:function(){var a={};return this.model&&(a=c.partial(this.serializeModel,this.model).apply(this,arguments)),a},render:function(){return this._ensureViewIsIntact(),this.isRendered=!0,this.resetChildViewContainer(),this.triggerMethod("before:render",this),this._renderTemplate(),this._renderChildren(),this.triggerMethod("render",this),this},_renderChildren:function(){this.isRendered&&e.CollectionView.prototype._renderChildren.call(this)},_renderTemplate:function(){var a={};a=this.serializeData(),a=this.mixinTemplateHelpers(a),this.triggerMethod("before:render:template");var b=this.getTemplate(),c=e.Renderer.render(b,a,this);this.attachElContent(c),this.bindUIElements(),this.triggerMethod("render:template")},attachElContent:function(a){return this.$el.html(a),this},attachBuffer:function(a,b){var c=this.getChildViewContainer(a);c.append(b)},_insertAfter:function(a){var b=this.getChildViewContainer(this,a);b.append(a.el)},getChildViewContainer:function(a,b){if("$childViewContainer"in a)return a.$childViewContainer;var c,d=e.getOption(a,"childViewContainer");if(d){var f=e._getValue(d,a);if(c="@"===f.charAt(0)&&a.ui?a.ui[f.substr(4)]:a.$(f),c.length<=0)throw new e.Error({name:"ChildViewContainerMissingError",message:'The specified "childViewContainer" was not found: '+a.childViewContainer})}else c=a.$el;return a.$childViewContainer=c,c},resetChildViewContainer:function(){this.$childViewContainer&&delete this.$childViewContainer}}),e.LayoutView=e.ItemView.extend({regionClass:e.Region,constructor:function(a){a=a||{},this._firstRender=!0,this._initializeRegions(a),e.ItemView.call(this,a)},render:function(){return this._ensureViewIsIntact(),this._firstRender?this._firstRender=!1:this._reInitializeRegions(),e.ItemView.prototype.render.apply(this,arguments)},destroy:function(){return this.isDestroyed?this:(this.regionManager.destroy(),e.ItemView.prototype.destroy.apply(this,arguments))},addRegion:function(a,b){var c={};return c[a]=b,this._buildRegions(c)[a]},addRegions:function(a){return this.regions=c.extend({},this.regions,a),this._buildRegions(a)},removeRegion:function(a){return delete this.regions[a],this.regionManager.removeRegion(a)},getRegion:function(a){return this.regionManager.get(a)},getRegions:function(){return this.regionManager.getRegions()},_buildRegions:function(a){var b={regionClass:this.getOption("regionClass"),parentEl:c.partial(c.result,this,"el")};return this.regionManager.addRegions(a,b)},_initializeRegions:function(a){var b;this._initRegionManager(),b=e._getValue(this.regions,this,[a])||{};var d=this.getOption.call(a,"regions");d=e._getValue(d,this,[a]),c.extend(b,d),b=this.normalizeUIValues(b),this.addRegions(b)},_reInitializeRegions:function(){this.regionManager.invoke("reset")},getRegionManager:function(){return new e.RegionManager},_initRegionManager:function(){this.regionManager=this.getRegionManager(),this.regionManager._parent=this,this.listenTo(this.regionManager,"before:add:region",function(a){this.triggerMethod("before:add:region",a)}),this.listenTo(this.regionManager,"add:region",function(a,b){this[a]=b,this.triggerMethod("add:region",a,b)}),this.listenTo(this.regionManager,"before:remove:region",function(a){this.triggerMethod("before:remove:region",a)}),this.listenTo(this.regionManager,"remove:region",function(a,b){delete this[a],this.triggerMethod("remove:region",a,b)})},_getImmediateChildren:function(){return c.chain(this.regionManager.getRegions()).pluck("currentView").compact().value()}}),e.Behavior=e.Object.extend({constructor:function(a,b){this.view=b,this.defaults=c.result(this,"defaults")||{},this.options=c.extend({},this.defaults,a),e.Object.apply(this,arguments)},$:function(){return this.view.$.apply(this.view,arguments)},destroy:function(){this.stopListening()},proxyViewProperties:function(a){this.$el=a.$el,this.el=a.el}}),e.Behaviors=function(a,b){function c(a,d){return b.isObject(a.behaviors)?(d=c.parseBehaviors(a,d||b.result(a,"behaviors")),c.wrap(a,d,b.keys(f)),d):{}}function d(a,c){this._view=a,this._viewUI=b.result(a,"ui"),this._behaviors=c,this._triggers={}}var e=/^(\S+)\s*(.*)$/,f={behaviorTriggers:function(a,b){var c=new d(this,b);return c.buildBehaviorTriggers()},behaviorEvents:function(c,d){var f={},g=this._uiBindings||b.result(this,"ui");return b.each(d,function(c,d){var h={},i=b.clone(b.result(c,"events"))||{},j=c._uiBindings||b.result(c,"ui"),k=b.extend({},g,j);i=a.normalizeUIKeys(i,k);var l=0;b.each(i,function(a,f){var g=f.match(e),i=g[1]+"."+[this.cid,d,l++," "].join(""),j=g[2],k=i+j,m=b.isFunction(a)?a:c[a];h[k]=b.bind(m,c)},this),f=b.extend(f,h)},this),f}};return b.extend(c,{behaviorsLookup:function(){throw new a.Error({message:"You must define where your behaviors are stored.",url:"marionette.behaviors.html#behaviorslookup"})},getBehaviorClass:function(b,d){return b.behaviorClass?b.behaviorClass:a._getValue(c.behaviorsLookup,this,[b,d])[d]},parseBehaviors:function(a,d){return b.chain(d).map(function(d,e){var f=c.getBehaviorClass(d,e),g=new f(d,a),h=c.parseBehaviors(a,b.result(g,"behaviors"));return[g].concat(h)}).flatten().value()},wrap:function(a,c,d){b.each(d,function(d){a[d]=b.partial(f[d],a[d],c)})}}),b.extend(d.prototype,{buildBehaviorTriggers:function(){return b.each(this._behaviors,this._buildTriggerHandlersForBehavior,this),this._triggers},_buildTriggerHandlersForBehavior:function(c,d){var e=b.extend({},this._viewUI,b.result(c,"ui")),f=b.clone(b.result(c,"triggers"))||{};f=a.normalizeUIKeys(f,e),b.each(f,b.bind(this._setHandlerForBehavior,this,c,d))},_setHandlerForBehavior:function(a,b,c,d){var e=d.replace(/^\S+/,function(a){return a+".behaviortriggers"+b});this._triggers[e]=this._view._buildViewTrigger(c)}}),c}(e,c),e.AppRouter=b.Router.extend({constructor:function(a){this.options=a||{},b.Router.apply(this,arguments);var c=this.getOption("appRoutes"),d=this._getController();this.processAppRoutes(d,c),this.on("route",this._processOnRoute,this)},appRoute:function(a,b){var c=this._getController();this._addAppRoute(c,a,b)},_processOnRoute:function(a,b){if(c.isFunction(this.onRoute)){var d=c.invert(this.getOption("appRoutes"))[a];this.onRoute(a,d,b)}},processAppRoutes:function(a,b){if(b){var d=c.keys(b).reverse();c.each(d,function(c){this._addAppRoute(a,c,b[c])},this)}},_getController:function(){return this.getOption("controller")},_addAppRoute:function(a,b,d){var f=a[d];if(!f)throw new e.Error('Method "'+d+'" was not found on the controller');this.route(b,d,c.bind(f,a))},getOption:e.proxyGetOption,triggerMethod:e.triggerMethod,bindEntityEvents:e.proxyBindEntityEvents,unbindEntityEvents:e.proxyUnbindEntityEvents}),e.Application=e.Object.extend({constructor:function(a){this._initializeRegions(a),this._initCallbacks=new e.Callbacks,this.submodules={},c.extend(this,a),this._initChannel(),e.Object.call(this,a)},execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(a){this._initCallbacks.add(a)},start:function(a){this.triggerMethod("before:start",a),this._initCallbacks.run(a,this),this.triggerMethod("start",a)},addRegions:function(a){return this._regionManager.addRegions(a)},emptyRegions:function(){return this._regionManager.emptyRegions()},removeRegion:function(a){return this._regionManager.removeRegion(a)},getRegion:function(a){return this._regionManager.get(a)},getRegions:function(){return this._regionManager.getRegions()},module:function(a,b){var d=e.Module.getClass(b),f=c.toArray(arguments);return f.unshift(this),d.create.apply(d,f)},getRegionManager:function(){return new e.RegionManager},_initializeRegions:function(a){var b=c.isFunction(this.regions)?this.regions(a):this.regions||{};this._initRegionManager();var d=e.getOption(a,"regions");return c.isFunction(d)&&(d=d.call(this,a)),c.extend(b,d),this.addRegions(b),this},_initRegionManager:function(){this._regionManager=this.getRegionManager(),this._regionManager._parent=this,this.listenTo(this._regionManager,"before:add:region",function(){e._triggerMethod(this,"before:add:region",arguments)}),this.listenTo(this._regionManager,"add:region",function(a,b){this[a]=b,e._triggerMethod(this,"add:region",arguments)}),this.listenTo(this._regionManager,"before:remove:region",function(){e._triggerMethod(this,"before:remove:region",arguments)}),this.listenTo(this._regionManager,"remove:region",function(a){delete this[a],e._triggerMethod(this,"remove:region",arguments)})},_initChannel:function(){this.channelName=c.result(this,"channelName")||"global",this.channel=c.result(this,"channel")||b.Wreqr.radio.channel(this.channelName),this.vent=c.result(this,"vent")||this.channel.vent,this.commands=c.result(this,"commands")||this.channel.commands,this.reqres=c.result(this,"reqres")||this.channel.reqres}}),e.Module=function(a,b,d){this.moduleName=a,this.options=c.extend({},this.options,d),this.initialize=d.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=b,c.isFunction(this.initialize)&&this.initialize(a,b,this.options)},e.Module.extend=e.extend,c.extend(e.Module.prototype,b.Events,{startWithParent:!0,initialize:function(){},addInitializer:function(a){this._initializerCallbacks.add(a)},addFinalizer:function(a){this._finalizerCallbacks.add(a)},start:function(a){this._isInitialized||(c.each(this.submodules,function(b){b.startWithParent&&b.start(a)}),this.triggerMethod("before:start",a),this._initializerCallbacks.run(a,this),this._isInitialized=!0,this.triggerMethod("start",a))},stop:function(){this._isInitialized&&(this._isInitialized=!1,this.triggerMethod("before:stop"),c.invoke(this.submodules,"stop"),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),this.triggerMethod("stop"))},addDefinition:function(a,b){this._runModuleDefinition(a,b)},_runModuleDefinition:function(a,d){if(a){var f=c.flatten([this,this.app,b,e,b.$,c,d]);a.apply(this,f)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new e.Callbacks,this._finalizerCallbacks=new e.Callbacks},triggerMethod:e.triggerMethod}),c.extend(e.Module,{create:function(a,b,d){var e=a,f=c.rest(arguments,3);b=b.split(".");var g=b.length,h=[];return h[g-1]=d,c.each(b,function(b,c){var g=e;e=this._getModule(g,b,a,d),this._addModuleDefinition(g,e,h[c],f)},this),e},_getModule:function(a,b,d,e,f){var g=c.extend({},e),h=this.getClass(e),i=a[b];return i||(i=new h(b,d,g),a[b]=i,a.submodules[b]=i),i},getClass:function(a){var b=e.Module;return a?a.prototype instanceof b?a:a.moduleClass||b:b},_addModuleDefinition:function(a,b,c,d){var e=this._getDefine(c),f=this._getStartWithParent(c,b);e&&b.addDefinition(e,d),this._addStartWithParent(a,b,f)},_getStartWithParent:function(a,b){var d;return c.isFunction(a)&&a.prototype instanceof e.Module?(d=b.constructor.prototype.startWithParent,c.isUndefined(d)?!0:d):c.isObject(a)?(d=a.startWithParent,c.isUndefined(d)?!0:d):!0},_getDefine:function(a){return!c.isFunction(a)||a.prototype instanceof e.Module?c.isObject(a)?a.define:null:a},_addStartWithParent:function(a,b,c){b.startWithParent=b.startWithParent&&c,b.startWithParent&&!b.startWithParentIsConfigured&&(b.startWithParentIsConfigured=!0,a.addInitializer(function(a){b.startWithParent&&b.start(a)}))}}),e}),function(a){"function"==typeof define&&define.amd?define(["backbone","underscore"],a):"object"==typeof exports?module.exports=a(require("backbone"),require("underscore")):a(window.Backbone,window._)}(function(a,b){var c=a.Router.prototype.route,d=function(){};b.extend(a.Router.prototype,{before:d,after:d,route:function(a,e,f){f||(f=this[e]);var g=b.bind(function(){var c,e=[a,b.toArray(arguments)];if(c=b.isFunction(this.before)?this.before:"undefined"!=typeof this.before[a]?this.before[a]:d,c.apply(this,e)!==!1){f&&f.apply(this,arguments);var g;g=b.isFunction(this.after)?this.after:"undefined"!=typeof this.after[a]?this.after[a]:d,g.apply(this,e)}},this);return c.call(this,a,e,g)}})}),function(a,b,c,d,e,f,g){"use strict";"object"==typeof d?e.exports=f(c("underscore"),c("backbone"),c("jquery")):"function"==typeof b&&b.amd?b(["underscore","backbone","jquery"],function(b,c,d){return b=b===g?a._:b,c=c===g?a.Backbone:c,d=d===g?a.$:d,a.Backbone=f(b,c,d)}):a.returnExportsGlobal=f(a._,a.Backbone,a.$)}(this,this.define,this.require,this.exports,this.module,function(a,b,c,d){"use strict";var e=function(b){this.options=b!==d?b:{},this.namespaceDelimiter=b!==d&&b.namespaceDelimiter!==d?b.namespaceDelimiter:this.namespaceDelimiter,this.contentType=b!==d&&b.contentType!==d?b.contentType:this.contentType,a.bindAll(this)},f=b.Model.prototype.constructor,g=b.sync,h={};return e.prototype={options:{},charset:"iso-8859-1",namespace:"",namespaceDelimiter:"/",contentType:"application/json",url:null,responseID:null,exceptions:{404:{code:-1,message:"404"},500:{code:-2,message:"500"},typeMissmatch:{code:-3,message:"Type missmatch"},badResponseId:{code:-4,message:"Bad response ID"},noResponse:{code:-5,message:"No response"},noDefError:{code:-6,message:"No error defined"},renderError:function(a,b){return{code:b!==d?-7:b,message:a?"No error defined":a}}},onSuccess:function(b,c,e){if(a.isFunction(b)===!0){if(null===e||e===d)return this.handleExceptions(this.exceptions.noResponse),this;null!==e&&c!==String(e.id)&&this.handleExceptions(this.exceptions.badResponseId),b.apply(this,[e.result,e.error])}else this.onError(e)},onError:function(a,b){return null===b||b===d?(this.handleExceptions(this.exceptions.noResponse),this):void(null!==b.error&&d!==b.error?this.handleExceptions(b.error):this.handleExceptions(this.exceptions.noDefError))},query:function(b,e,f){var g=String((new Date).getTime()),h=null;return this.responseID=g,h=a.isArray(e)&&a.isString(b)?c.ajax({contentType:this.contentType+"; charset="+this.charset,type:"POST",dataType:"json",url:this.url,data:JSON.stringify({jsonrpc:"2.0",method:this.namespace+this.namespaceDelimiter+b,id:g,params:e}),statusCode:{404:a.bind(function(){this.handleExceptions(this.exceptions[404])},this),500:a.bind(function(){this.handleExceptions(this.exceptions[500])},this)},success:a.bind(function(a,b,c){null!==a&&a.error!==d?this.onError(f,a,b,c):this.onSuccess(f,g,a,b,c);
-},this),error:a.bind(function(a,b,c){404!==a.status&&500!==a.status&&this.onError(f,a,b,c)},this)}):this.handleExceptions(this.exceptions.typeMissmatch)},checkMethods:function(c,e,f,g,i,j,k){var l=null,m=!1,n=null,o=[],p={},q=null;return g="delete"===g?"remove":g,a.isArray(f.methods[g])||a.isFunction(f.methods[g])?(a.isFunction(f.methods[g])?(a.isString(h[f.get("_rpcId")])||a.each(h[f.get("_rpcId")],function(a,b){f.get(b)!==a&&(p[b]=!0)}),h[f.get("_rpcId")]=f.toJSON(),l=a.bind(f.methods[g],f)(p,i)):l=f.methods[g],a.isArray(l[0])&&(m=!0),m!==!0?(q=a.clone(l),n=q.shift(),q.length>0?a.each(q,function(c){""===c?o.push(""):f instanceof b.Collection?f[c]!==d?a.isFunction(f[c])?o.push(f[c]()):o.push(f[c]):i[c]!==d&&o.push(i[c]):f.get(c)!==d?o.push(f.get(c)):i[c]!==d&&o.push(i[c])}):o=[],c(n,o,j,k)):(a.each(l,function(b){var d=a.clone(b);return n=null,o=[],n=d.shift(),a.each(d,function(a){o.push(f.get(a))}),c(n,o,j,k)}),null)):this.handleExceptions(this.exceptions.typeMissmatch)},invoke:function(c,e,f){var g={success:function(b){e.trigger("called:"+c,e,b),f!==d&&a.isFunction(f.success)&&f.success(e,b)},error:function(b,e){b.trigger("error",b,e),b.trigger("error:"+c,b,e),f!==d&&a.isFunction(f.error)&&f.error(b,e)}};return b.sync(c,e,g),this},defaultExceptionHandler:function(a){throw"Error code: "+a.code+" - message: "+a.message},handleExceptions:function(b){var c=a.isFunction(this.options.exceptionHandler)?this.options.exceptionHandler:this.defaultExceptionHandler;return c.call(this,b),this}},b.Rpc=e,b.Model=b.Model.extend({constructor:function(b){this.rpc!==d&&a.isFunction(this.rpc.invoke)===!0&&this.methods!==d&&a.each(this.methods,a.bind(function(b,c){1!=={read:1,create:1,remove:1,update:1}[c]&&(this[c]=a.bind(function(a){return this.rpc.invoke(c,this,a),this},this))},this)),f.apply(this,arguments)}}),b.sync=function(c){var e=null,f=function(g,i,j){var k=function(c,e){return null!==e&&e!==d?(j.error(i,e),this):(i instanceof b.Collection&&c!==d&&null!==c&&("object"==typeof c[0]?a.each(c,function(b,d){b._rpcId=a.uniqueId("rpc_"),c[d]=b,h[b._rpcId]=b}):a.each(c,function(a,b){h[b]=a})),i instanceof b.Model&&c!==d&&null!==c&&(c._rpcId=a.uniqueId("rpc_"),h[c._rpcId]=c),(c===d||null===c)&&(c=[]),i.parsers!==d&&i.parsers[g]!==d&&a.isFunction(i.parsers[g])&&i.parsers[g].apply(i,[c]),void j.success(c))},l=function(a){j.error(i,a)};if(i.rpc instanceof c){if(e=i.rpc,e.url=a.isFunction(i.url)?i.url():i.url,a.isString(i.namespace)===!0&&(e.namespace=i.namespace),i.methods===d)throw"Backbone.Rpc Error: No Method(s) given!";return"object"!=typeof i.params&&(i.params={}),e.checkMethods(e.query,i.params,i,g,j,k,l)}return f.previous.apply(i,arguments)};return f.previous=g,f}(e),b}),function(a,b){if("function"==typeof define&&define.amd)define(["underscore","backbone","jquery"],function(a,c,d){return b(a,c,d)});else if("undefined"!=typeof exports){var c=require("underscore"),d=require("backbone"),e=require("jquery");module.exports=b(c,d,e)}else b(a._,a.Backbone,a.jQuery)}(this,function(a,b,c){"use strict";var d=b.Syphon,e=b.Syphon={};e.VERSION="0.5.0",e.noConflict=function(){return b.Syphon=d,this},e.ignoredTypes=["button","submit","reset","fieldset"],e.serialize=function(b,d){var e={},h=i(d),k=f(b,h);return a.each(k,function(a){var b=c(a),d=g(b),f=h.keyExtractors.get(d),i=f(b),k=h.inputReaders.get(d),l=k(b),m=h.keyAssignmentValidators.get(d);if(m(b,i,l)){var n=h.keySplitter(i);e=j(e,n,l)}}),e},e.deserialize=function(b,d,e){var h=i(e),j=f(b,h),l=k(h,d);a.each(j,function(a){var b=c(a),d=g(b),e=h.keyExtractors.get(d),f=e(b),i=h.inputWriters.get(d),j=l[f];i(b,j)})};var f=function(b,d){var e=h(b),f=e.elements;return f=a.reject(f,function(b){var e,f=g(b),h=d.keyExtractors.get(f),i=h(c(b)),j=a.include(d.ignoredTypes,f),k=a.include(d.include,i),l=a.include(d.exclude,i);return e=k?!1:d.include?!0:l||j})},g=function(a){var b,d=c(a),e=d[0].tagName,f=e;return"input"===e.toLowerCase()&&(b=d.attr("type"),f=b?b:"text"),f.toLowerCase()},h=function(b){return a.isUndefined(b.$el)&&"form"===b.tagName.toLowerCase()?b:b.$el.is("form")?b.el:b.$("form")[0]},i=function(b){var c=a.clone(b)||{};return c.ignoredTypes=a.clone(e.ignoredTypes),c.inputReaders=c.inputReaders||e.InputReaders,c.inputWriters=c.inputWriters||e.InputWriters,c.keyExtractors=c.keyExtractors||e.KeyExtractors,c.keySplitter=c.keySplitter||e.KeySplitter,c.keyJoiner=c.keyJoiner||e.KeyJoiner,c.keyAssignmentValidators=c.keyAssignmentValidators||e.KeyAssignmentValidators,c},j=function(b,c,d){if(!c)return b;var e=c.shift();return b[e]||(b[e]=a.isArray(e)?[]:{}),0===c.length&&(a.isArray(b[e])?b[e].push(d):b[e]=d),c.length>0&&j(b[e],c,d),b},k=function(b,c,d){var e={};return a.each(c,function(c,f){var g={};d&&(f=b.keyJoiner(d,f)),a.isArray(c)?(f+="[]",g[f]=c):a.isObject(c)?g=k(b,c,f):g[f]=c,a.extend(e,g)}),e},l=e.TypeRegistry=function(){this.registeredTypes={}};l.extend=b.Model.extend,a.extend(l.prototype,{get:function(a){return this.registeredTypes[a]||this.registeredTypes["default"]},register:function(a,b){this.registeredTypes[a]=b},registerDefault:function(a){this.registeredTypes["default"]=a},unregister:function(a){this.registeredTypes[a]&&delete this.registeredTypes[a]}});var m=e.KeyExtractorSet=l.extend(),n=e.KeyExtractors=new m;n.registerDefault(function(a){return a.prop("name")||""});var o=e.InputReaderSet=l.extend(),p=e.InputReaders=new o;p.registerDefault(function(a){return a.val()}),p.register("checkbox",function(a){return a.prop("checked")});var q=e.InputWriterSet=l.extend(),r=e.InputWriters=new q;r.registerDefault(function(a,b){a.val(b)}),r.register("checkbox",function(a,b){a.prop("checked",b)}),r.register("radio",function(a,b){a.prop("checked",a.val()===b.toString())});var s=e.KeyAssignmentValidatorSet=l.extend(),t=e.KeyAssignmentValidators=new s;return t.registerDefault(function(){return!0}),t.register("radio",function(a,b,c){return a.prop("checked")}),e.KeySplitter=function(a){var b,c=a.match(/[^\[\]]+/g);return a.indexOf("[]")===a.length-2&&(b=c.pop(),c.push([b])),c},e.KeyJoiner=function(a,b){return a+"["+b+"]"},b.Syphon}),function(a,b){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(a,c){return b(a,c)});else if("undefined"!=typeof exports){var c=require("backbone"),d=require("underscore");module.exports=b(c,d)}else b(a.Backbone,a._)}(this,function(a,b){"use strict";var c=a.Wreqr,d=a.Wreqr={};return a.Wreqr.VERSION="1.3.2",a.Wreqr.noConflict=function(){return a.Wreqr=c,this},d.Handlers=function(a,b){var c=function(a){this.options=a,this._wreqrHandlers={},b.isFunction(this.initialize)&&this.initialize(a)};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events,{setHandlers:function(a){b.each(a,function(a,c){var d=null;b.isObject(a)&&!b.isFunction(a)&&(d=a.context,a=a.callback),this.setHandler(c,a,d)},this)},setHandler:function(a,b,c){var d={callback:b,context:c};this._wreqrHandlers[a]=d,this.trigger("handler:add",a,b,c)},hasHandler:function(a){return!!this._wreqrHandlers[a]},getHandler:function(a){var b=this._wreqrHandlers[a];if(b)return function(){return b.callback.apply(b.context,arguments)}},removeHandler:function(a){delete this._wreqrHandlers[a]},removeAllHandlers:function(){this._wreqrHandlers={}}}),c}(a,b),d.CommandStorage=function(){var c=function(a){this.options=a,this._commands={},b.isFunction(this.initialize)&&this.initialize(a)};return b.extend(c.prototype,a.Events,{getCommands:function(a){var b=this._commands[a];return b||(b={command:a,instances:[]},this._commands[a]=b),b},addCommand:function(a,b){var c=this.getCommands(a);c.instances.push(b)},clearCommands:function(a){var b=this.getCommands(a);b.instances=[]}}),c}(),d.Commands=function(a,b){return a.Handlers.extend({storageType:a.CommandStorage,constructor:function(b){this.options=b||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this),a.Handlers.prototype.constructor.apply(this,arguments)},execute:function(a){a=arguments[0];var c=b.rest(arguments);this.hasHandler(a)?this.getHandler(a).apply(this,c):this.storage.addCommand(a,c)},_executeCommands:function(a,c,d){var e=this.storage.getCommands(a);b.each(e.instances,function(a){c.apply(d,a)}),this.storage.clearCommands(a)},_initializeStorage:function(a){var c,d=a.storageType||this.storageType;c=b.isFunction(d)?new d:d,this.storage=c}})}(d,b),d.RequestResponse=function(a,b){return a.Handlers.extend({request:function(a){return this.hasHandler(a)?this.getHandler(a).apply(this,b.rest(arguments)):void 0}})}(d,b),d.EventAggregator=function(a,b){var c=function(){};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events),c}(a,b),d.Channel=function(c){var d=function(b){this.vent=new a.Wreqr.EventAggregator,this.reqres=new a.Wreqr.RequestResponse,this.commands=new a.Wreqr.Commands,this.channelName=b};return b.extend(d.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(a,b){return this._connect("vent",a,b),this},connectCommands:function(a,b){return this._connect("commands",a,b),this},connectRequests:function(a,b){return this._connect("reqres",a,b),this},_connect:function(a,c,d){if(c){d=d||this;var e="vent"===a?"on":"setHandler";b.each(c,function(c,f){this[a][e](f,b.bind(c,d))},this)}}}),d}(d),d.radio=function(a,b){var c=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};b.extend(c.prototype,{channel:function(a){if(!a)throw new Error("Channel must receive a name");return this._getChannel(a)},_getChannel:function(b){var c=this._channels[b];return c||(c=new a.Channel(b),this._channels[b]=c),c},_proxyMethods:function(){b.each(["vent","commands","reqres"],function(a){b.each(d[a],function(b){this[a][b]=e(this,a,b)},this)},this)}});var d={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},e=function(a,c,d){return function(e){var f=a._getChannel(e)[c];return f[d].apply(f,b.rest(arguments))}};return new c}(d,b),a.Wreqr});var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(a){var b,c,d,e,f,g,h,i="",j=0;for(a=Base64._utf8_encode(a);j<a.length;)b=a.charCodeAt(j++),c=a.charCodeAt(j++),d=a.charCodeAt(j++),e=b>>2,f=(3&b)<<4|c>>4,g=(15&c)<<2|d>>6,h=63&d,isNaN(c)?g=h=64:isNaN(d)&&(h=64),i=i+this._keyStr.charAt(e)+this._keyStr.charAt(f)+this._keyStr.charAt(g)+this._keyStr.charAt(h);return i},decode:function(a){var b,c,d,e,f,g,h,i="",j=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");j<a.length;)e=this._keyStr.indexOf(a.charAt(j++)),f=this._keyStr.indexOf(a.charAt(j++)),g=this._keyStr.indexOf(a.charAt(j++)),h=this._keyStr.indexOf(a.charAt(j++)),b=e<<2|f>>4,c=(15&f)<<4|g>>2,d=(3&g)<<6|h,i+=String.fromCharCode(b),64!=g&&(i+=String.fromCharCode(c)),64!=h&&(i+=String.fromCharCode(d));return i=Base64._utf8_decode(i)},_utf8_encode:function(a){a=a.replace(/\r\n/g,"\n");for(var b="",c=0;c<a.length;c++){var d=a.charCodeAt(c);128>d?b+=String.fromCharCode(d):d>127&&2048>d?(b+=String.fromCharCode(d>>6|192),b+=String.fromCharCode(63&d|128)):(b+=String.fromCharCode(d>>12|224),b+=String.fromCharCode(d>>6&63|128),b+=String.fromCharCode(63&d|128))}return b},_utf8_decode:function(a){for(var b="",c=0,d=c1=c2=0;c<a.length;)d=a.charCodeAt(c),128>d?(b+=String.fromCharCode(d),c++):d>191&&224>d?(c2=a.charCodeAt(c+1),b+=String.fromCharCode((31&d)<<6|63&c2),c+=2):(c2=a.charCodeAt(c+1),c3=a.charCodeAt(c+2),b+=String.fromCharCode((15&d)<<12|(63&c2)<<6|63&c3),c+=3);return b}};!function(a){var b={onBeforeRender:function(){this._isRendering=!0},onRender:function(){this.footer?this.footerElement=this.$el.find(this.footer)[0]:this.footerElement=null,delete this._isRendering},appendHtml:function(a,b,c){function d(b){for(var c=1,d=e(b+1);!d&&b+c+1<a.collection.length-1;)c+=1,d=e(b+c);return d}function e(b){if(!(b>=a.collection.length)){var c=a.children.findByModel(a.collection.at(b));return c}}var f=this.footerElement,g=a.itemViewContainer||a.el,h=a.itemViewContainer?$(a.itemViewContainer):a.$el;if(this._isRendering)return void(f?b.$el.insertBefore(f):h.append(b.el));var i;return 0===c?(i=d(0),void(i?b.$el.insertBefore(i.el):f?b.$el.insertBefore(f):b.$el.appendTo(g))):c==a.collection.length-1?void(f?b.$el.insertBefore(f):b.$el.appendTo(g)):(i=e(c-1),void(i?b.$el.insertAfter(i.$el):(i=d(c),i?b.$el.insertBefore(i.el):f?b.$el.insertBefore(f):b.$el.appendTo(g))))}};return a.SortedMixin=b,"function"==typeof define&&define.amd&&define([],function(){return b}),b}(window),function(a,b){function c(a){return l.PF.compile(a||"nplurals=2; plural=(n != 1);")}function d(a,b){this._key=a,this._i18n=b}var e=Array.prototype,f=Object.prototype,g=e.slice,h=f.hasOwnProperty,i=e.forEach,j={},k={forEach:function(a,b,c){var d,e,f;if(null!==a)if(i&&a.forEach===i)a.forEach(b,c);else if(a.length===+a.length){for(d=0,e=a.length;e>d;d++)if(d in a&&b.call(c,a[d],d,a)===j)return}else for(f in a)if(h.call(a,f)&&b.call(c,a[f],f,a)===j)return},extend:function(a){return this.forEach(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a}},l=function(a){if(this.defaults={locale_data:{messages:{"":{domain:"messages",lang:"en",plural_forms:"nplurals=2; plural=(n != 1);"}}},domain:"messages",debug:!1},this.options=k.extend({},this.defaults,a),this.textdomain(this.options.domain),a.domain&&!this.options.locale_data[this.options.domain])throw new Error("Text domain set to non-existent domain: `"+a.domain+"`")};l.context_delimiter=String.fromCharCode(4),k.extend(d.prototype,{onDomain:function(a){return this._domain=a,this},withContext:function(a){return this._context=a,this},ifPlural:function(a,b){return this._val=a,this._pkey=b,this},fetch:function(a){return"[object Array]"!={}.toString.call(a)&&(a=[].slice.call(arguments,0)),(a&&a.length?l.sprintf:function(a){return a})(this._i18n.dcnpgettext(this._domain,this._context,this._key,this._pkey,this._val),a)}}),k.extend(l.prototype,{translate:function(a){return new d(a,this)},textdomain:function(a){return a?void(this._textdomain=a):this._textdomain},gettext:function(a){return this.dcnpgettext.call(this,b,b,a)},dgettext:function(a,c){return this.dcnpgettext.call(this,a,b,c)},dcgettext:function(a,c){return this.dcnpgettext.call(this,a,b,c)},ngettext:function(a,c,d){return this.dcnpgettext.call(this,b,b,a,c,d)},dngettext:function(a,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},dcngettext:function(a,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},pgettext:function(a,c){return this.dcnpgettext.call(this,b,a,c)},dpgettext:function(a,b,c){return this.dcnpgettext.call(this,a,b,c)},dcpgettext:function(a,b,c){return this.dcnpgettext.call(this,a,b,c)},npgettext:function(a,c,d,e){return this.dcnpgettext.call(this,b,a,c,d,e)},dnpgettext:function(a,b,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},dcnpgettext:function(a,b,d,e,f){e=e||d,a=a||this._textdomain;var g;if(!this.options)return g=new l,g.dcnpgettext.call(g,void 0,void 0,d,e,f);if(!this.options.locale_data)throw new Error("No locale data provided.");if(!this.options.locale_data[a])throw new Error("Domain `"+a+"` was not found.");if(!this.options.locale_data[a][""])throw new Error("No locale meta information provided.");if(!d)throw new Error("No translation key found.");var h,i,j,k=b?b+l.context_delimiter+d:d,m=this.options.locale_data,n=m[a],o=(m.messages||this.defaults.locale_data.messages)[""],p=n[""].plural_forms||n[""]["Plural-Forms"]||n[""]["plural-forms"]||o.plural_forms||o["Plural-Forms"]||o["plural-forms"];if(void 0===f)j=0;else{if("number"!=typeof f&&(f=parseInt(f,10),isNaN(f)))throw new Error("The number that was passed in is not a number.");j=c(p)(f)}if(!n)throw new Error("No domain named `"+a+"` could be found.");return h=n[k],!h||j>h.length?(this.options.missing_key_callback&&this.options.missing_key_callback(k,a),i=[d,e],this.options.debug===!0&&console.log(i[c(p)(f)]),i[c()(f)]):(i=h[j],i?i:(i=[d,e],i[c()(f)]))}});var m=function(){function a(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}function b(a,b){for(var c=[];b>0;c[--b]=a);return c.join("")}var c=function(){return c.cache.hasOwnProperty(arguments[0])||(c.cache[arguments[0]]=c.parse(arguments[0])),c.format.call(null,c.cache[arguments[0]],arguments)};return c.format=function(c,d){var e,f,g,h,i,j,k,l=1,n=c.length,o="",p=[];for(f=0;n>f;f++)if(o=a(c[f]),"string"===o)p.push(c[f]);else if("array"===o){if(h=c[f],h[2])for(e=d[l],g=0;g<h[2].length;g++){if(!e.hasOwnProperty(h[2][g]))throw m('[sprintf] property "%s" does not exist',h[2][g]);e=e[h[2][g]]}else e=h[1]?d[h[1]]:d[l++];if(/[^s]/.test(h[8])&&"number"!=a(e))throw m("[sprintf] expecting number but found %s",a(e));switch(("undefined"==typeof e||null===e)&&(e=""),h[8]){case"b":e=e.toString(2);break;case"c":e=String.fromCharCode(e);break;case"d":e=parseInt(e,10);break;case"e":e=h[7]?e.toExponential(h[7]):e.toExponential();break;case"f":e=h[7]?parseFloat(e).toFixed(h[7]):parseFloat(e);break;case"o":e=e.toString(8);break;case"s":e=(e=String(e))&&h[7]?e.substring(0,h[7]):e;break;case"u":e=Math.abs(e);break;case"x":e=e.toString(16);break;case"X":e=e.toString(16).toUpperCase()}e=/[def]/.test(h[8])&&h[3]&&e>=0?"+"+e:e,j=h[4]?"0"==h[4]?"0":h[4].charAt(1):" ",k=h[6]-String(e).length,i=h[6]?b(j,k):"",p.push(h[5]?e+i:i+e)}return p.join("")},c.cache={},c.parse=function(a){for(var b=a,c=[],d=[],e=0;b;){if(null!==(c=/^[^\x25]+/.exec(b)))d.push(c[0]);else if(null!==(c=/^\x25{2}/.exec(b)))d.push("%");else{if(null===(c=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(b)))throw"[sprintf] huh?";if(c[2]){e|=1;var f=[],g=c[2],h=[];if(null===(h=/^([a-z_][a-z_\d]*)/i.exec(g)))throw"[sprintf] huh?";for(f.push(h[1]);""!==(g=g.substring(h[0].length));)if(null!==(h=/^\.([a-z_][a-z_\d]*)/i.exec(g)))f.push(h[1]);else{if(null===(h=/^\[(\d+)\]/.exec(g)))throw"[sprintf] huh?";f.push(h[1])}c[2]=f}else e|=2;if(3===e)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";d.push(c)}b=b.substring(c[0].length)}return d},c}(),n=function(a,b){return b.unshift(a),m.apply(null,b)};l.parse_plural=function(a,b){return a=a.replace(/n/g,b),l.parse_expression(a)},l.sprintf=function(a,b){return"[object Array]"=={}.toString.call(b)?n(a,[].slice.call(b)):m.apply(this,[].slice.call(arguments))},l.prototype.sprintf=function(){return l.sprintf.apply(this,arguments)},l.PF={},l.PF.parse=function(a){var b=l.PF.extractPluralExpr(a);return l.PF.parser.parse.call(l.PF.parser,b)},l.PF.compile=function(a){function b(a){return a===!0?1:a?a:0}var c=l.PF.parse(a);return function(a){return b(l.PF.interpreter(c)(a))}},l.PF.interpreter=function(a){return function(b){switch(a.type){case"GROUP":return l.PF.interpreter(a.expr)(b);case"TERNARY":return l.PF.interpreter(a.expr)(b)?l.PF.interpreter(a.truthy)(b):l.PF.interpreter(a.falsey)(b);case"OR":return l.PF.interpreter(a.left)(b)||l.PF.interpreter(a.right)(b);case"AND":return l.PF.interpreter(a.left)(b)&&l.PF.interpreter(a.right)(b);case"LT":return l.PF.interpreter(a.left)(b)<l.PF.interpreter(a.right)(b);case"GT":return l.PF.interpreter(a.left)(b)>l.PF.interpreter(a.right)(b);case"LTE":return l.PF.interpreter(a.left)(b)<=l.PF.interpreter(a.right)(b);case"GTE":return l.PF.interpreter(a.left)(b)>=l.PF.interpreter(a.right)(b);case"EQ":return l.PF.interpreter(a.left)(b)==l.PF.interpreter(a.right)(b);case"NEQ":return l.PF.interpreter(a.left)(b)!=l.PF.interpreter(a.right)(b);case"MOD":return l.PF.interpreter(a.left)(b)%l.PF.interpreter(a.right)(b);case"VAR":return b;case"NUM":return a.val;default:throw new Error("Invalid Token found.")}}},l.PF.extractPluralExpr=function(a){a=a.replace(/^\s\s*/,"").replace(/\s\s*$/,""),/;\s*$/.test(a)||(a=a.concat(";"));var b,c=/nplurals\=(\d+);/,d=/plural\=(.*);/,e=a.match(c),f={};if(!(e.length>1))throw new Error("nplurals not found in plural_forms string: "+a);if(f.nplurals=e[1],a=a.replace(c,""),b=a.match(d),!(b&&b.length>1))throw new Error("`plural` expression not found: "+a);return b[1]},l.PF.parser=function(){var a={trace:function(){},yy:{},symbols_:{error:2,expressions:3,e:4,EOF:5,"?":6,":":7,"||":8,"&&":9,"<":10,"<=":11,">":12,">=":13,"!=":14,"==":15,"%":16,"(":17,")":18,n:19,NUMBER:20,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"?",7:":",8:"||",9:"&&",10:"<",11:"<=",12:">",13:">=",14:"!=",15:"==",16:"%",17:"(",18:")",19:"n",20:"NUMBER"},productions_:[0,[3,2],[4,5],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,1],[4,1]],performAction:function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 1:return{type:"GROUP",expr:f[h-1]};case 2:this.$={type:"TERNARY",expr:f[h-4],truthy:f[h-2],falsey:f[h]};break;case 3:this.$={type:"OR",left:f[h-2],right:f[h]};break;case 4:this.$={type:"AND",left:f[h-2],right:f[h]};break;case 5:this.$={type:"LT",left:f[h-2],right:f[h]};break;case 6:this.$={type:"LTE",left:f[h-2],right:f[h]};break;case 7:this.$={type:"GT",left:f[h-2],right:f[h]};break;case 8:this.$={type:"GTE",left:f[h-2],right:f[h]};break;case 9:this.$={type:"NEQ",left:f[h-2],right:f[h]};break;case 10:this.$={type:"EQ",left:f[h-2],right:f[h]};break;case 11:this.$={type:"MOD",left:f[h-2],right:f[h]};break;case 12:this.$={type:"GROUP",expr:f[h-1]};break;case 13:this.$={type:"VAR"};break;case 14:this.$={type:"NUM",val:Number(a)}}},table:[{3:1,4:2,17:[1,3],19:[1,4],20:[1,5]},{1:[3]},{5:[1,6],6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{4:17,17:[1,3],19:[1,4],20:[1,5]},{5:[2,13],6:[2,13],7:[2,13],8:[2,13],9:[2,13],10:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],18:[2,13]},{5:[2,14],6:[2,14],7:[2,14],8:[2,14],9:[2,14],10:[2,14],11:[2,14],12:[2,14],13:[2,14],14:[2,14],15:[2,14],16:[2,14],18:[2,14]},{1:[2,1]},{4:18,17:[1,3],19:[1,4],20:[1,5]},{4:19,17:[1,3],19:[1,4],20:[1,5]},{4:20,17:[1,3],19:[1,4],20:[1,5]},{4:21,17:[1,3],19:[1,4],20:[1,5]},{4:22,17:[1,3],19:[1,4],20:[1,5]},{4:23,17:[1,3],19:[1,4],20:[1,5]},{4:24,17:[1,3],19:[1,4],20:[1,5]},{4:25,17:[1,3],19:[1,4],20:[1,5]},{4:26,17:[1,3],19:[1,4],20:[1,5]},{4:27,17:[1,3],19:[1,4],20:[1,5]},{6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[1,28]},{6:[1,7],7:[1,29],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{5:[2,3],6:[2,3],7:[2,3],8:[2,3],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,3]},{5:[2,4],6:[2,4],7:[2,4],8:[2,4],9:[2,4],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,4]},{5:[2,5],6:[2,5],7:[2,5],8:[2,5],9:[2,5],10:[2,5],11:[2,5],12:[2,5],13:[2,5],14:[2,5],15:[2,5],16:[1,16],18:[2,5]},{5:[2,6],6:[2,6],7:[2,6],8:[2,6],9:[2,6],10:[2,6],11:[2,6],12:[2,6],13:[2,6],14:[2,6],15:[2,6],16:[1,16],18:[2,6]},{5:[2,7],6:[2,7],7:[2,7],8:[2,7],9:[2,7],10:[2,7],11:[2,7],12:[2,7],13:[2,7],14:[2,7],15:[2,7],16:[1,16],18:[2,7]},{5:[2,8],6:[2,8],7:[2,8],8:[2,8],9:[2,8],10:[2,8],11:[2,8],12:[2,8],13:[2,8],14:[2,8],15:[2,8],16:[1,16],18:[2,8]},{5:[2,9],6:[2,9],7:[2,9],8:[2,9],9:[2,9],10:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[1,16],18:[2,9]},{5:[2,10],6:[2,10],7:[2,10],8:[2,10],9:[2,10],10:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[1,16],18:[2,10]},{5:[2,11],6:[2,11],7:[2,11],8:[2,11],9:[2,11],10:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],18:[2,11]},{5:[2,12],6:[2,12],7:[2,12],8:[2,12],9:[2,12],10:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],18:[2,12]},{4:30,17:[1,3],19:[1,4],20:[1,5]},{5:[2,2],6:[1,7],7:[2,2],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,2]}],defaultActions:{6:[2,1]},parseError:function(a,b){throw new Error(a)},parse:function(a){function b(a){e.length=e.length-2*a,f.length=f.length-a,g.length=g.length-a}function c(){var a;return a=d.lexer.lex()||1,"number"!=typeof a&&(a=d.symbols_[a]||a),a}var d=this,e=[0],f=[null],g=[],h=this.table,i="",j=0,k=0,l=0,m=2,n=1;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var o=this.lexer.yylloc;g.push(o),"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var p,q,r,s,t,u,v,w,x,y={};;){if(r=e[e.length-1],this.defaultActions[r]?s=this.defaultActions[r]:(null==p&&(p=c()),s=h[r]&&h[r][p]),"undefined"==typeof s||!s.length||!s[0]){if(!l){x=[];for(u in h[r])this.terminals_[u]&&u>2&&x.push("'"+this.terminals_[u]+"'");var z="";z=this.lexer.showPosition?"Parse error on line "+(j+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+x.join(", ")+", got '"+this.terminals_[p]+"'":"Parse error on line "+(j+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(z,{text:this.lexer.match,token:this.terminals_[p]||p,line:this.lexer.yylineno,loc:o,expected:x})}if(3==l){if(p==n)throw new Error(z||"Parsing halted.");k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,p=c()}for(;;){if(m.toString()in h[r])break;if(0==r)throw new Error(z||"Parsing halted.");b(1),r=e[e.length-1]}q=p,p=m,r=e[e.length-1],s=h[r]&&h[r][m],l=3}if(s[0]instanceof Array&&s.length>1)throw new Error("Parse Error: multiple actions possible at state: "+r+", token: "+p);switch(s[0]){case 1:e.push(p),f.push(this.lexer.yytext),g.push(this.lexer.yylloc),e.push(s[1]),p=null,q?(p=q,q=null):(k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,l>0&&l--);break;case 2:if(v=this.productions_[s[1]][1],y.$=f[f.length-v],y._$={first_line:g[g.length-(v||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(v||1)].first_column,last_column:g[g.length-1].last_column},t=this.performAction.call(y,i,k,j,this.yy,s[1],f,g),"undefined"!=typeof t)return t;v&&(e=e.slice(0,-1*v*2),f=f.slice(0,-1*v),g=g.slice(0,-1*v)),e.push(this.productions_[s[1]][0]),f.push(y.$),g.push(y._$),w=h[e[e.length-2]][e[e.length-1]],e.push(w);break;case 3:return!0}}return!0}},b=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parseError)throw new Error(a);this.yy.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.match+=a,this.matched+=a;var b=a.match(/\n/);return b&&this.yylineno++,this._input=this._input.slice(1),a},unput:function(a){return this._input=a+this._input,this},more:function(){return this._more=!0,this},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c;this._more||(this.yytext="",this.match="");for(var d=this._currentRules(),e=0;e<d.length;e++)if(b=this._input.match(this.rules[d[e]]))return c=b[0].match(/\n.*/g),c&&(this.yylineno+=c.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:c?c[c.length-1].length-1:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,d[e],this.conditionStack[this.conditionStack.length-1]),a?a:void 0;return""===this._input?this.EOF:void this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return"undefined"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.performAction=function(a,b,c,d){switch(c){case 0:break;case 1:return 20;case 2:return 19;case 3:return 8;case 4:return 9;case 5:return 6;case 6:return 7;case 7:return 11;case 8:return 13;case 9:return 10;case 10:return 12;case 11:return 14;case 12:return 15;case 13:return 16;case 14:return 17;case 15:return 18;case 16:return 5;case 17:return"INVALID"}},a.rules=[/^\s+/,/^[0-9]+(\.[0-9]+)?\b/,/^n\b/,/^\|\|/,/^&&/,/^\?/,/^:/,/^<=/,/^>=/,/^</,/^>/,/^!=/,/^==/,/^%/,/^\(/,/^\)/,/^$/,/^./],a.conditions={INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}},a}();return a.lexer=b,a}(),"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=l),exports.Jed=l):("function"==typeof define&&define.amd&&define(function(){return l}),a.Jed=l)}(this),function(a){function b(a){return{jsonrpc:"2.0",method:a.method||"",params:a.params||{},id:g++}}function c(c){var d=a.isArray(c)?c.map(b):b(c);return JSON.stringify(d)}function d(a){return a.sort(e)}function e(a,b){return a.id<b.id?-1:1}function f(b,e){var f=new a.Deferred;e=e||{};var g=e.success||h,i=e.error||h;delete e.success,delete e.error;var j=a.isArray(b),k=a.extend({url:(j?b[0].url:b.url)||a.jsonrpc.defaultUrl,contentType:"application/json",dataType:"text",dataFilter:function(a,b){return JSON.parse(a)},type:"POST",processData:!1,data:c(b),success:function(a){if(j){var b=d(a);return g(b),void f.resolve(b)}if(a.hasOwnProperty("error"))return i(a.error),void f.reject(a.error);if(a.hasOwnProperty("result"))return g(a.result),void f.resolve(a.result);throw"Invalid response returned"},error:function(a,b,c){var d=null;if("timeout"===c)d={status:b,code:-32e3,message:"Request Timeout",data:null};else try{var e=JSON.parse(a.responseText);d=e.error}catch(g){d={status:b,code:-32603,message:c,data:a.responseText}}i(d),f.reject(d)}},e);return a.ajax(k),f.promise()}var g=1,h=function(){};a.extend({jsonrpc:f}),a.jsonrpc.defaultUrl="/jsonrpc"}(jQuery),!function(a,b,c,d){var e=a(b);a.fn.lazyload=function(f){function g(){var b=0;i.each(function(){var c=a(this);if(!j.skip_invisible||c.is(":visible"))if(a.abovethetop(this,j)||a.leftofbegin(this,j));else if(a.belowthefold(this,j)||a.rightoffold(this,j)){if(++b>j.failure_limit)return!1}else c.trigger("appear"),b=0})}var h,i=this,j={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:b,data_attribute:"original",skip_invisible:!0,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return f&&(d!==f.failurelimit&&(f.failure_limit=f.failurelimit,delete f.failurelimit),d!==f.effectspeed&&(f.effect_speed=f.effectspeed,delete f.effectspeed),a.extend(j,f)),h=j.container===d||j.container===b?e:a(j.container),0===j.event.indexOf("scroll")&&h.bind(j.event,function(){return g()}),this.each(function(){var b=this,c=a(b);b.loaded=!1,(c.attr("src")===d||c.attr("src")===!1)&&c.is("img")&&c.attr("src",j.placeholder),c.one("appear",function(){if(!this.loaded){if(j.appear){var d=i.length;j.appear.call(b,d,j)}a("<img />").bind("load",function(){var d=c.attr("data-"+j.data_attribute);c.hide(),c.is("img")?c.attr("src",d):c.css("background-image","url('"+d+"')"),c[j.effect](j.effect_speed),b.loaded=!0;var e=a.grep(i,function(a){return!a.loaded});if(i=a(e),j.load){var f=i.length;j.load.call(b,f,j)}}).attr("src",c.attr("data-"+j.data_attribute))}}),0!==j.event.indexOf("scroll")&&c.bind(j.event,function(){
-b.loaded||c.trigger("appear")})}),e.bind("resize",function(){g()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&e.bind("pageshow",function(b){b.originalEvent&&b.originalEvent.persisted&&i.each(function(){a(this).trigger("appear")})}),a(c).ready(function(){g()}),this},a.belowthefold=function(c,f){var g;return g=f.container===d||f.container===b?(b.innerHeight?b.innerHeight:e.height())+e.scrollTop():a(f.container).offset().top+a(f.container).height(),g<=a(c).offset().top-f.threshold},a.rightoffold=function(c,f){var g;return g=f.container===d||f.container===b?e.width()+e.scrollLeft():a(f.container).offset().left+a(f.container).width(),g<=a(c).offset().left-f.threshold},a.abovethetop=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollTop():a(f.container).offset().top,g>=a(c).offset().top+f.threshold+a(c).height()},a.leftofbegin=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollLeft():a(f.container).offset().left,g>=a(c).offset().left+f.threshold+a(c).width()},a.inviewport=function(b,c){return!(a.rightoffold(b,c)||a.leftofbegin(b,c)||a.belowthefold(b,c)||a.abovethetop(b,c))},a.extend(a.expr[":"],{"below-the-fold":function(b){return a.belowthefold(b,{threshold:0})},"above-the-top":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-screen":function(b){return a.rightoffold(b,{threshold:0})},"left-of-screen":function(b){return!a.rightoffold(b,{threshold:0})},"in-viewport":function(b){return a.inviewport(b,{threshold:0})},"above-the-fold":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-fold":function(b){return a.rightoffold(b,{threshold:0})},"left-of-fold":function(b){return!a.rightoffold(b,{threshold:0})}})}(jQuery,window,document),function(a){"use strict";function b(a,b){return Math.round(a/b)*b}function c(a){return"number"==typeof a&&!isNaN(a)&&isFinite(a)}function d(a){var b=Math.pow(10,7);return Number((Math.round(a*b)/b).toFixed(7))}function e(a,b,c){a.addClass(b),setTimeout(function(){a.removeClass(b)},c)}function f(a){return Math.max(Math.min(a,100),0)}function g(b){return a.isArray(b)?b:[b]}function h(a){var b=a.split(".");return b.length>1?b[1].length:0}function i(a,b){return 100/(b-a)}function j(a,b){return 100*b/(a[1]-a[0])}function k(a,b){return j(a,a[0]<0?b+Math.abs(a[0]):b-a[0])}function l(a,b){return b*(a[1]-a[0])/100+a[0]}function m(a,b){for(var c=1;a>=b[c];)c+=1;return c}function n(a,b,c){if(c>=a.slice(-1)[0])return 100;var d,e,f,g,h=m(c,a);return d=a[h-1],e=a[h],f=b[h-1],g=b[h],f+k([d,e],c)/i(f,g)}function o(a,b,c){if(c>=100)return a.slice(-1)[0];var d,e,f,g,h=m(c,b);return d=a[h-1],e=a[h],f=b[h-1],g=b[h],l([d,e],(c-f)*i(f,g))}function p(a,c,d,e){if(100===e)return e;var f,g,h=m(e,a);return d?(f=a[h-1],g=a[h],e-f>(g-f)/2?g:f):c[h-1]?a[h-1]+b(e-a[h-1],c[h-1]):e}function q(a,b,d){var e;if("number"==typeof b&&(b=[b]),"[object Array]"!==Object.prototype.toString.call(b))throw new Error("noUiSlider: 'range' contains invalid value.");if(e="min"===a?0:"max"===a?100:parseFloat(a),!c(e)||!c(b[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");d.xPct.push(e),d.xVal.push(b[0]),e?d.xSteps.push(isNaN(b[1])?!1:b[1]):isNaN(b[1])||(d.xSteps[0]=b[1])}function r(a,b,c){return b?void(c.xSteps[a]=j([c.xVal[a],c.xVal[a+1]],b)/i(c.xPct[a],c.xPct[a+1])):!0}function s(a,b,c,d){this.xPct=[],this.xVal=[],this.xSteps=[d||!1],this.xNumSteps=[!1],this.snap=b,this.direction=c;var e,f=[];for(e in a)a.hasOwnProperty(e)&&f.push([a[e],e]);for(f.sort(function(a,b){return a[0]-b[0]}),e=0;e<f.length;e++)q(f[e][1],f[e][0],this);for(this.xNumSteps=this.xSteps.slice(0),e=0;e<this.xNumSteps.length;e++)r(e,this.xNumSteps[e],this)}function t(a,b){if(!c(b))throw new Error("noUiSlider: 'step' is not numeric.");a.singleStep=b}function u(b,c){if("object"!=typeof c||a.isArray(c))throw new Error("noUiSlider: 'range' is not an object.");if(void 0===c.min||void 0===c.max)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");b.spectrum=new s(c,b.snap,b.dir,b.singleStep)}function v(b,c){if(c=g(c),!a.isArray(c)||!c.length||c.length>2)throw new Error("noUiSlider: 'start' option is incorrect.");b.handles=c.length,b.start=c}function w(a,b){if(a.snap=b,"boolean"!=typeof b)throw new Error("noUiSlider: 'snap' option must be a boolean.")}function x(a,b){if(a.animate=b,"boolean"!=typeof b)throw new Error("noUiSlider: 'animate' option must be a boolean.")}function y(a,b){if("lower"===b&&1===a.handles)a.connect=1;else if("upper"===b&&1===a.handles)a.connect=2;else if(b===!0&&2===a.handles)a.connect=3;else{if(b!==!1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");a.connect=0}}function z(a,b){switch(b){case"horizontal":a.ort=0;break;case"vertical":a.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function A(a,b){if(!c(b))throw new Error("noUiSlider: 'margin' option must be numeric.");if(a.margin=a.spectrum.getMargin(b),!a.margin)throw new Error("noUiSlider: 'margin' option is only supported on linear sliders.")}function B(a,b){if(!c(b))throw new Error("noUiSlider: 'limit' option must be numeric.");if(a.limit=a.spectrum.getMargin(b),!a.limit)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders.")}function C(a,b){switch(b){case"ltr":a.dir=0;break;case"rtl":a.dir=1,a.connect=[0,2,1,3][a.connect];break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function D(a,b){if("string"!=typeof b)throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var c=b.indexOf("tap")>=0,d=b.indexOf("drag")>=0,e=b.indexOf("fixed")>=0,f=b.indexOf("snap")>=0;a.events={tap:c||f,drag:d,fixed:e,snap:f}}function E(a,b){if(a.format=b,"function"==typeof b.to&&"function"==typeof b.from)return!0;throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.")}function F(b){var c,d={margin:0,limit:0,animate:!0,format:V};return c={step:{r:!1,t:t},start:{r:!0,t:v},connect:{r:!0,t:y},direction:{r:!0,t:C},snap:{r:!1,t:w},animate:{r:!1,t:x},range:{r:!0,t:u},orientation:{r:!1,t:z},margin:{r:!1,t:A},limit:{r:!1,t:B},behaviour:{r:!0,t:D},format:{r:!1,t:E}},b=a.extend({connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal"},b),a.each(c,function(a,c){if(void 0===b[a]){if(c.r)throw new Error("noUiSlider: '"+a+"' is required.");return!0}c.t(d,b[a])}),d.style=d.ort?"top":"left",d}function G(a,b,c){var d=a+b[0],e=a+b[1];return c?(0>d&&(e+=Math.abs(d)),e>100&&(d-=e-100),[f(d),f(e)]):[d,e]}function H(a){a.preventDefault();var b,c,d=0===a.type.indexOf("touch"),e=0===a.type.indexOf("mouse"),f=0===a.type.indexOf("pointer"),g=a;return 0===a.type.indexOf("MSPointer")&&(f=!0),a.originalEvent&&(a=a.originalEvent),d&&(b=a.changedTouches[0].pageX,c=a.changedTouches[0].pageY),(e||f)&&(f||void 0!==window.pageXOffset||(window.pageXOffset=document.documentElement.scrollLeft,window.pageYOffset=document.documentElement.scrollTop),b=a.clientX+window.pageXOffset,c=a.clientY+window.pageYOffset),g.points=[b,c],g.cursor=e,g}function I(b,c){var d=a("<div><div/></div>").addClass(U[2]),e=["-lower","-upper"];return b&&e.reverse(),d.children().addClass(U[3]+" "+U[3]+e[c]),d}function J(a,b,c){switch(a){case 1:b.addClass(U[7]),c[0].addClass(U[6]);break;case 3:c[1].addClass(U[6]);case 2:c[0].addClass(U[7]);case 0:b.addClass(U[6])}}function K(a,b,c){var d,e=[];for(d=0;a>d;d+=1)e.push(I(b,d).appendTo(c));return e}function L(b,c,d){return d.addClass([U[0],U[8+b],U[4+c]].join(" ")),a("<div/>").appendTo(d).addClass(U[1])}function M(b,c,d){function i(){return C[["width","height"][c.ort]]()}function j(a){var b,c=[E.val()];for(b=0;b<a.length;b+=1)E.trigger(a[b],c)}function k(a){return 1===a.length?a[0]:c.dir?a.reverse():a}function l(a){return function(b,c){E.val([a?null:c,a?c:null],!0)}}function m(b){var c=a.inArray(b,N);E[0].linkAPI&&E[0].linkAPI[b]&&E[0].linkAPI[b].change(M[c],D[c].children(),E)}function n(b,d){var e=a.inArray(b,N);return d&&d.appendTo(D[e].children()),c.dir&&c.handles>1&&(e=1===e?0:1),l(e)}function o(){var a,b;for(a=0;a<N.length;a+=1)this.linkAPI&&this.linkAPI[b=N[a]]&&this.linkAPI[b].reconfirm(b)}function p(a,b,d,e){return a=a.replace(/\s/g,S+" ")+S,b.on(a,function(a){return E.attr("disabled")?!1:E.hasClass(U[14])?!1:(a=H(a),a.calcPoint=a.points[c.ort],void d(a,e))})}function q(a,b){var c,d=b.handles||D,e=!1,f=100*(a.calcPoint-b.start)/i(),g=d[0][0]!==D[0][0]?1:0;c=G(f,b.positions,d.length>1),e=v(d[0],c[g],1===d.length),d.length>1&&(e=v(d[1],c[g?0:1],!1)||e),e&&j(["slide"])}function r(b){a("."+U[15]).removeClass(U[15]),b.cursor&&a("body").css("cursor","").off(S),Q.off(S),E.removeClass(U[12]),j(["set","change"])}function s(b,c){1===c.handles.length&&c.handles[0].children().addClass(U[15]),b.stopPropagation(),p(T.move,Q,q,{start:b.calcPoint,handles:c.handles,positions:[F[0],F[D.length-1]]}),p(T.end,Q,r,null),b.cursor&&(a("body").css("cursor",a(b.target).css("cursor")),D.length>1&&E.addClass(U[12]),a("body").on("selectstart"+S,!1))}function t(b){var d,f=b.calcPoint,g=0;b.stopPropagation(),a.each(D,function(){g+=this.offset()[c.style]}),g=g/2>f||1===D.length?0:1,f-=C.offset()[c.style],d=100*f/i(),c.events.snap||e(E,U[14],300),v(D[g],d),j(["slide","set","change"]),c.events.snap&&s(b,{handles:[D[g]]})}function u(a){var b,c;if(!a.fixed)for(b=0;b<D.length;b+=1)p(T.start,D[b].children(),s,{handles:[D[b]]});a.tap&&p(T.start,C,t,{handles:D}),a.drag&&(c=C.find("."+U[7]).addClass(U[10]),a.fixed&&(c=c.add(C.children().not(c).children())),p(T.start,c,s,{handles:D}))}function v(a,b,d){var e=a[0]!==D[0][0]?1:0,g=F[0]+c.margin,h=F[1]-c.margin,i=F[0]+c.limit,j=F[1]-c.limit;return D.length>1&&(b=e?Math.max(b,g):Math.min(b,h)),d!==!1&&c.limit&&D.length>1&&(b=e?Math.min(b,i):Math.max(b,j)),b=I.getStep(b),b=f(parseFloat(b.toFixed(7))),b===F[e]?!1:(a.css(c.style,b+"%"),a.is(":first-child")&&a.toggleClass(U[17],b>50),F[e]=b,M[e]=I.fromStepping(b),m(N[e]),!0)}function w(a,b){var d,e,f;for(c.limit&&(a+=1),d=0;a>d;d+=1)e=d%2,f=b[e],null!==f&&f!==!1&&("number"==typeof f&&(f=String(f)),f=c.format.from(f),(f===!1||isNaN(f)||v(D[e],I.toStepping(f),d===3-c.dir)===!1)&&m(N[e]))}function x(a){if(E[0].LinkIsEmitting)return this;var b,d=g(a);return c.dir&&c.handles>1&&d.reverse(),c.animate&&-1!==F[0]&&e(E,U[14],300),b=D.length>1?3:1,1===d.length&&(b=1),w(b,d),j(["set"]),this}function y(){var a,b=[];for(a=0;a<c.handles;a+=1)b[a]=c.format.to(M[a]);return k(b)}function z(){return a(this).off(S).removeClass(U.join(" ")).empty(),delete this.LinkUpdate,delete this.LinkConfirm,delete this.LinkDefaultFormatter,delete this.LinkDefaultFlag,delete this.reappend,delete this.vGet,delete this.vSet,delete this.getCurrentStep,delete this.getInfo,delete this.destroy,d}function A(){var b=a.map(F,function(a,b){var c=I.getApplicableStep(a),d=h(String(c[2])),e=M[b],f=100===a?null:c[2],g=Number((e-c[2]).toFixed(d)),i=0===a?null:g>=c[1]?c[2]:c[0]||!1;return[[i,f]]});return k(b)}function B(){return d}var C,D,E=a(b),F=[-1,-1],I=c.spectrum,M=[],N=["lower","upper"].slice(0,c.handles);if(c.dir&&N.reverse(),b.LinkUpdate=m,b.LinkConfirm=n,b.LinkDefaultFormatter=c.format,b.LinkDefaultFlag="lower",b.reappend=o,E.hasClass(U[0]))throw new Error("Slider was already initialized.");C=L(c.dir,c.ort,E),D=K(c.handles,c.dir,C),J(c.connect,E,D),u(c.events),b.vSet=x,b.vGet=y,b.destroy=z,b.getCurrentStep=A,b.getOriginalOptions=B,b.getInfo=function(){return[I,c.style,c.ort]},E.val(c.start)}function N(a){var b=F(a,this);return this.each(function(){M(this,b,a)})}function O(b){return this.each(function(){if(!this.destroy)return void a(this).noUiSlider(b);var c=a(this).val(),d=this.destroy(),e=a.extend({},d,b);a(this).noUiSlider(e),this.reappend(),d.start===e.start&&a(this).val(c)})}function P(){return this[0][arguments.length?"vSet":"vGet"].apply(this[0],arguments)}var Q=a(document),R=a.fn.val,S=".nui",T=window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"},U=["noUi-target","noUi-base","noUi-origin","noUi-handle","noUi-horizontal","noUi-vertical","noUi-background","noUi-connect","noUi-ltr","noUi-rtl","noUi-dragable","","noUi-state-drag","","noUi-state-tap","noUi-active","","noUi-stacking"];s.prototype.getMargin=function(a){return 2===this.xPct.length?j(this.xVal,a):!1},s.prototype.toStepping=function(a){return a=n(this.xVal,this.xPct,a),this.direction&&(a=100-a),a},s.prototype.fromStepping=function(a){return this.direction&&(a=100-a),d(o(this.xVal,this.xPct,a))},s.prototype.getStep=function(a){return this.direction&&(a=100-a),a=p(this.xPct,this.xSteps,this.snap,a),this.direction&&(a=100-a),a},s.prototype.getApplicableStep=function(a){var b=m(a,this.xPct),c=100===a?2:1;return[this.xNumSteps[b-2],this.xVal[b-c],this.xNumSteps[b-c]]},s.prototype.convert=function(a){return this.getStep(this.toStepping(a))};var V={to:function(a){return a.toFixed(2)},from:Number};a.fn.val=function(b){function c(a){return a.hasClass(U[0])?P:R}if(!arguments.length){var d=a(this[0]);return c(d).call(d)}var e=a.isFunction(b);return this.each(function(d){var f=b,g=a(this);e&&(f=b.call(this,d,g.val())),c(g).call(g,f)})},a.fn.noUiSlider=function(a,b){switch(a){case"step":return this[0].getCurrentStep();case"options":return this[0].getOriginalOptions()}return(b?O:N).call(this,a)}}(window.jQuery||window.Zepto),function(a){"use strict";"object"==typeof exports?a(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){"use strict";var b=function(a){if(a=a||"once","string"!=typeof a)throw new Error("The jQuery Once id parameter must be a string");return a};a.fn.once=function(c){var d="jquery-once-"+b(c);return this.filter(function(){return a(this).data(d)!==!0}).data(d,!0)},a.fn.removeOnce=function(a){return this.findOnce(a).removeData("jquery-once-"+b(a))},a.fn.findOnce=function(c){var d="jquery-once-"+b(c);return this.filter(function(){return a(this).data(d)===!0})}}),function(a){var b=a(window);a.fn.visible=function(a,c,d){if(!(this.length<1)){var e=this.length>1?this.eq(0):this,f=e.get(0),g=b.width(),h=b.height(),d=d?d:"both",i=c===!0?f.offsetWidth*f.offsetHeight:!0;if("function"==typeof f.getBoundingClientRect){var j=f.getBoundingClientRect(),k=j.top>=0&&j.top<h,l=j.bottom>0&&j.bottom<=h,m=j.left>=0&&j.left<g,n=j.right>0&&j.right<=g,o=a?k||l:k&&l,p=a?m||n:m&&n;if("both"===d)return i&&o&&p;if("vertical"===d)return i&&o;if("horizontal"===d)return i&&p}else{var q=b.scrollTop(),r=q+h,s=b.scrollLeft(),t=s+g,u=e.offset(),v=u.top,w=v+e.height(),x=u.left,y=x+e.width(),z=a===!0?w:v,A=a===!0?v:w,B=a===!0?y:x,C=a===!0?x:y;if("both"===d)return!!i&&r>=A&&z>=q&&t>=C&&B>=s;if("vertical"===d)return!!i&&r>=A&&z>=q;if("horizontal"===d)return!!i&&t>=C&&B>=s}}}}(jQuery),window.JST||(window.JST={});var prettyPrint=function(){var a={el:function(b,c){var d,e=document.createElement(b);if(c=a.merge({},c),c&&c.style){c.style;a.applyCSS(e,c.style),delete c.style}for(d in c)c.hasOwnProperty(d)&&(e[d]=c[d]);return e},applyCSS:function(a,b){for(var c in b)if(b.hasOwnProperty(c))try{a.style[c]=b[c]}catch(d){}},txt:function(a){return document.createTextNode(a)},row:function(b,c,d){d=d||"td";var e,f=a.count(b,null)+1,g=a.el("tr"),h={style:a.getStyles(d,c),colSpan:f,onmouseover:function(){var b=this.parentNode.childNodes;a.forEach(b,function(b){"td"===b.nodeName.toLowerCase()&&a.applyCSS(b,a.getStyles("td_hover",c))})},onmouseout:function(){var b=this.parentNode.childNodes;a.forEach(b,function(b){"td"===b.nodeName.toLowerCase()&&a.applyCSS(b,a.getStyles("td",c))})}};return a.forEach(b,function(b){null!==b&&(e=a.el(d,h),b.nodeType?e.appendChild(b):e.innerHTML=a.shorten(b.toString()),g.appendChild(e))}),g},hRow:function(b,c){return a.row(b,c,"th")},table:function(b,c){b=b||[];var d={thead:{style:a.getStyles("thead",c)},tbody:{style:a.getStyles("tbody",c)},table:{style:a.getStyles("table",c)}},e=a.el("table",d.table),f=a.el("thead",d.thead),g=a.el("tbody",d.tbody);return b.length&&(e.appendChild(f),f.appendChild(a.hRow(b,c))),e.appendChild(g),{node:e,tbody:g,thead:f,appendChild:function(a){this.tbody.appendChild(a)},addRow:function(b,d,e){return this.appendChild(a.row.call(a,b,d||c,e)),this}}},shorten:function(a){var b=40;return a=a.replace(/^\s\s*|\s\s*$|\n/g,""),a.length>b?a.substring(0,b-1)+"...":a},htmlentities:function(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},merge:function(b,c){"object"!=typeof b&&(b={});for(var d in c)if(c.hasOwnProperty(d)){var e=c[d];if("object"==typeof e){b[d]=a.merge(b[d],e);continue}b[d]=e}for(var f=2,g=arguments.length;g>f;f++)a.merge(b,arguments[f]);return b},count:function(a,b){for(var c=0,d=0,e=a.length;e>d;d++)a[d]===b&&c++;return c},thead:function(a){return a.getElementsByTagName("thead")[0]},forEach:function(a,b,c){c||(c=b);for(var d=a.length,e=-1;++e<d&&c(a[e],e,a)!==!1;);return!0},type:function(a){try{if(null===a)return"null";if(void 0===a)return"undefined";var b=Object.prototype.toString.call(a).match(/\s(.+?)\]/)[1].toLowerCase();return a.nodeType?1===a.nodeType?"domelement":"domnode":/^(string|number|array|regexp|function|date|boolean)$/.test(b)?b:"object"==typeof a?a.jquery&&"string"==typeof a.jquery?"jquery":"object":a===window||a===document?"object":"default"}catch(c){return"default"}},within:function(a){return{is:function(b){for(var c in a)if(a[c]===b)return c;return""}}},common:{circRef:function(c,d,e){return a.expander("[POINTS BACK TO <strong>"+d+"</strong>]","Click to show this item anyway",function(){this.parentNode.appendChild(b(c,{maxDepth:1}))})},depthReached:function(c,d){return a.expander("[DEPTH REACHED]","Click to show this item anyway",function(){try{this.parentNode.appendChild(b(c,{maxDepth:1}))}catch(d){this.parentNode.appendChild(a.table(["ERROR OCCURED DURING OBJECT RETRIEVAL"],"error").addRow([d.message]).node)}})}},getStyles:function(c,d){return d=b.settings.styles[d]||{},a.merge({},b.settings.styles["default"][c],d[c])},expander:function(b,c,d){return a.el("a",{innerHTML:a.shorten(b)+' <b style="visibility:hidden;">[+]</b>',title:c,onmouseover:function(){this.getElementsByTagName("b")[0].style.visibility="visible"},onmouseout:function(){this.getElementsByTagName("b")[0].style.visibility="hidden"},onclick:function(){return this.style.display="none",d.call(this),!1},style:{cursor:"pointer"}})},stringify:function(b){var c,d=a.type(b),e=!0;if("array"===d)return c="[",a.forEach(b,function(b,d){c+=(0===d?"":", ")+a.stringify(b)}),c+"]";if("object"==typeof b){c="{";for(var f in b)b.hasOwnProperty(f)&&(c+=(e?"":", ")+f+":"+a.stringify(b[f]),e=!1);return c+"}"}return"regexp"===d?"/"+b.source+"/":"string"===d?'"'+b.replace(/"/g,'\\"')+'"':b.toString()},headerGradient:function(){var a=document.createElement("canvas");if(!a.getContext)return"";var b=a.getContext("2d");a.height=30,a.width=1;var c=b.createLinearGradient(0,0,0,30);c.addColorStop(0,"rgba(0,0,0,0)"),c.addColorStop(1,"rgba(0,0,0,0.25)"),b.fillStyle=c,b.fillRect(0,0,1,30);var d=a.toDataURL&&a.toDataURL();return"url("+(d||"")+")"}()},b=function(c,d){d=d||{};var e=a.merge({},b.config,d),f=a.el("div"),g=(b.config,0),h={},i=!1;b.settings=e;var j={string:function(b){return a.txt('"'+a.shorten(b.replace(/"/g,'\\"'))+'"')},number:function(b){return a.txt(b)},regexp:function(b){var c=a.table(["RegExp",null],"regexp"),d=a.table(),f=a.expander("/"+b.source+"/","Click to show more",function(){this.parentNode.appendChild(c.node)});return d.addRow(["g",b.global]).addRow(["i",b.ignoreCase]).addRow(["m",b.multiline]),c.addRow(["source","/"+b.source+"/"]).addRow(["flags",d.node]).addRow(["lastIndex",b.lastIndex]),e.expanded?c.node:f},domelement:function(b,c){var d=a.table(["DOMElement",null],"domelement"),f=["id","className","innerHTML","src","href"],g=b.nodeName||"";return d.addRow(["tag","&lt;"+g.toLowerCase()+"&gt;"]),a.forEach(f,function(c){b[c]&&d.addRow([c,a.htmlentities(b[c])])}),e.expanded?d.node:a.expander("DOMElement ("+g.toLowerCase()+")","Click to show more",function(){this.parentNode.appendChild(d.node)})},domnode:function(b){var c=a.table(["DOMNode",null],"domelement"),d=a.htmlentities((b.data||"UNDEFINED").replace(/\n/g,"\\n"));return c.addRow(["nodeType",b.nodeType+" ("+b.nodeName+")"]).addRow(["data",d]),e.expanded?c.node:a.expander("DOMNode","Click to show more",function(){this.parentNode.appendChild(c.node)})},jquery:function(a,b,c){return j.array(a,b,c,!0)},object:function(b,c,d){var f=a.within(h).is(b);if(f)return a.common.circRef(b,f,e);if(h[d||"TOP"]=b,c===e.maxDepth)return a.common.depthReached(b,e);var g=a.table(["Object",null],"object"),k=!0;for(var l in b)if(!b.hasOwnProperty||b.hasOwnProperty(l)){var m=b[l],n=a.type(m);k=!1;try{g.addRow([l,j[n](m,c+1,l)],n)}catch(o){window.console&&window.console.log&&console.log(o.message)}}k?g.addRow(["<small>[empty]</small>"]):g.thead.appendChild(a.hRow(["key","value"],"colHeader"));var p=e.expanded||i?g.node:a.expander(a.stringify(b),"Click to show more",function(){this.parentNode.appendChild(g.node)});return i=!0,p},array:function(b,c,d,f){var g=a.within(h).is(b);if(g)return a.common.circRef(b,g);if(h[d||"TOP"]=b,c===e.maxDepth)return a.common.depthReached(b);var i=f?"jQuery":"Array",k=a.table([i+"("+b.length+")",null],f?"jquery":i.toLowerCase()),l=!0,m=0;return f&&k.addRow(["selector",b.selector]),a.forEach(b,function(d,f){return e.maxArray>=0&&++m>e.maxArray?(k.addRow([f+".."+(b.length-1),j[a.type(d)]("...",c+1,f)]),!1):(l=!1,void k.addRow([f,j[a.type(d)](d,c+1,f)]))}),f||(l?k.addRow(["<small>[empty]</small>"]):k.thead.appendChild(a.hRow(["index","value"],"colHeader"))),e.expanded?k.node:a.expander(a.stringify(b),"Click to show more",function(){this.parentNode.appendChild(k.node)})},"function":function(b,c,d){var f=a.within(h).is(b);if(f)return a.common.circRef(b,f);h[d||"TOP"]=b;var g=a.table(["Function",null],"function"),i=(a.table(["Arguments"]),b.toString().match(/\((.+?)\)/)),j=b.toString().match(/\(.*?\)\s+?\{?([\S\s]+)/)[1].replace(/\}?$/,"");return g.addRow(["arguments",i?i[1].replace(/[^\w_,\s]/g,""):"<small>[none/native]</small>"]).addRow(["body",j]),e.expanded?g.node:a.expander("function(){...}","Click to see more about this function.",function(){this.parentNode.appendChild(g.node)})},date:function(b){var c=a.table(["Date",null],"date"),d=b.toString().split(/\s/);return c.addRow(["Time",d[4]]).addRow(["Date",d.slice(0,4).join("-")]),e.expanded?c.node:a.expander("Date (timestamp): "+ +b,"Click to see a little more info about this date",function(){this.parentNode.appendChild(c.node)})},"boolean":function(b){return a.txt(b.toString().toUpperCase())},undefined:function(){return a.txt("UNDEFINED")},"null":function(){return a.txt("NULL")},"default":function(){return a.txt("prettyPrint: TypeNotFound Error")}};return f.appendChild(j[e.forceObject?"object":a.type(c)](c,g)),f};return b.config={expanded:!0,forceObject:!1,maxDepth:3,maxArray:-1,styles:{array:{th:{backgroundColor:"#A4C18B",color:"white"}},"function":{th:{backgroundColor:"#D82525"}},regexp:{th:{backgroundColor:"#E2F3FB",color:"#000"}},object:{th:{backgroundColor:"#8DA3AD"}},jquery:{th:{backgroundColor:"#FBF315"}},error:{th:{backgroundColor:"red",color:"yellow"}},domelement:{th:{backgroundColor:"#F3801E"}},date:{th:{backgroundColor:"#A725D8"}},colHeader:{th:{backgroundColor:"#EEE",color:"#aaa",textTransform:"uppercase",fontSize:"80%",padding:"2px 5px"}},"default":{table:{borderCollapse:"collapse",width:"100%"},td:{padding:"5px",fontSize:"12px",backgroundColor:"rgba(255,255,255,0.5)",color:"#222",border:"1px solid #ddd",verticalAlign:"top",fontFamily:'"Consolas","Lucida Console",Courier,mono',whiteSpace:"nowrap"},td_hover:{},th:{padding:"5px",fontSize:"12px",backgroundColor:"#222",color:"#EEE",textAlign:"left",border:"1px solid #ddd",verticalAlign:"top",fontFamily:'"Consolas","Lucida Console",Courier,mono',backgroundRepeat:"repeat-x"}}}},b}();!function(a){"use strict";"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a():"undefined"!=typeof Package?Sortable=a():window.Sortable=a()}(function(){"use strict";function a(a,b){this.el=a,this.options=b=b||{};var d={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(a.nodeName)?"li":">*",ghostClass:"sortable-ghost",ignore:"a, img",filter:null,animation:0,setData:function(a,b){a.setData("Text",b.textContent)},dropBubble:!1,dragoverBubble:!1};for(var e in d)!(e in b)&&(b[e]=d[e]);var g=b.group;g&&"object"==typeof g||(g=b.group={name:g}),["pull","put"].forEach(function(a){a in g||(g[a]=!0)}),M.forEach(function(d){b[d]=c(this,b[d]||N),f(a,d.substr(2).toLowerCase(),b[d])},this),b.groups=" "+g.name+(g.put.join?" "+g.put.join(" "):"")+" ",a[F]=b;for(var h in this)"_"===h.charAt(0)&&(this[h]=c(this,this[h]));f(a,"mousedown",this._onTapStart),f(a,"touchstart",this._onTapStart),f(a,"dragover",this),f(a,"dragenter",this),Q.push(this._onDragOver),b.store&&this.sort(b.store.get(this))}function b(a){s&&s.state!==a&&(i(s,"display",a?"none":""),!a&&s.state&&t.insertBefore(s,q),s.state=a)}function c(a,b){var c=P.call(arguments,2);return b.bind?b.bind.apply(b,[a].concat(c)):function(){return b.apply(a,c.concat(P.call(arguments)))}}function d(a,b,c){if(a){c=c||H,b=b.split(".");var d=b.shift().toUpperCase(),e=new RegExp("\\s("+b.join("|")+")\\s","g");do if(">*"===d&&a.parentNode===c||(""===d||a.nodeName.toUpperCase()==d)&&(!b.length||((" "+a.className+" ").match(e)||[]).length==b.length))return a;while(a!==c&&(a=a.parentNode))}return null}function e(a){a.dataTransfer.dropEffect="move",a.preventDefault()}function f(a,b,c){a.addEventListener(b,c,!1)}function g(a,b,c){a.removeEventListener(b,c,!1)}function h(a,b,c){if(a)if(a.classList)a.classList[c?"add":"remove"](b);else{var d=(" "+a.className+" ").replace(/\s+/g," ").replace(" "+b+" ","");a.className=d+(c?" "+b:"")}}function i(a,b,c){var d=a&&a.style;if(d){if(void 0===c)return H.defaultView&&H.defaultView.getComputedStyle?c=H.defaultView.getComputedStyle(a,""):a.currentStyle&&(c=a.currentStyle),void 0===b?c:c[b];b in d||(b="-webkit-"+b),d[b]=c+("string"==typeof c?"":"px")}}function j(a,b,c){if(a){var d=a.getElementsByTagName(b),e=0,f=d.length;if(c)for(;f>e;e++)c(d[e],e);return d}return[]}function k(a){a.draggable=!1}function l(){K=!1}function m(a,b){var c=a.lastElementChild,d=c.getBoundingClientRect();return b.clientY-(d.top+d.height)>5&&c}function n(a){for(var b=a.tagName+a.className+a.src+a.href+a.textContent,c=b.length,d=0;c--;)d+=b.charCodeAt(c);return d.toString(36)}function o(a){for(var b=0;a&&(a=a.previousElementSibling);)"TEMPLATE"!==a.nodeName.toUpperCase()&&b++;return b}function p(a,b){var c,d;return function(){void 0===c&&(c=arguments,d=this,setTimeout(function(){1===c.length?a.call(d,c[0]):a.apply(d,c),c=void 0},b))}}var q,r,s,t,u,v,w,x,y,z,A,B,C,D,E={},F="Sortable"+(new Date).getTime(),G=window,H=G.document,I=G.parseInt,J=!!("draggable"in H.createElement("div")),K=!1,L=function(a,b,c,d,e,f){var g=H.createEvent("Event");g.initEvent(b,!0,!0),g.item=c||a,g.from=d||a,g.clone=s,g.oldIndex=e,g.newIndex=f,a.dispatchEvent(g)},M="onAdd onUpdate onRemove onStart onEnd onFilter onSort".split(" "),N=function(){},O=Math.abs,P=[].slice,Q=[],R=p(function(a,b,c){if(c&&b.scroll){var d,e,f,g,h=b.scrollSensitivity,i=b.scrollSpeed,j=a.clientX,k=a.clientY,l=window.innerWidth,m=window.innerHeight;if(w!==c&&(v=b.scroll,w=c,v===!0)){v=c;do if(v.offsetWidth<v.scrollWidth||v.offsetHeight<v.scrollHeight)break;while(v=v.parentNode)}v&&(d=v,e=v.getBoundingClientRect(),f=(O(e.right-j)<=h)-(O(e.left-j)<=h),g=(O(e.bottom-k)<=h)-(O(e.top-k)<=h)),f||g||(f=(h>=l-j)-(h>=j),g=(h>=m-k)-(h>=k),(f||g)&&(d=G)),(E.vx!==f||E.vy!==g||E.el!==d)&&(E.el=d,E.vx=f,E.vy=g,clearInterval(E.pid),d&&(E.pid=setInterval(function(){d===G?G.scrollTo(G.scrollX+f*i,G.scrollY+g*i):(g&&(d.scrollTop+=g*i),f&&(d.scrollLeft+=f*i))},24)))}},30);return a.prototype={constructor:a,_dragStarted:function(){t&&q&&(h(q,this.options.ghostClass,!0),a.active=this,L(t,"start",q,t,z))},_onTapStart:function(a){var b=a.type,c=a.touches&&a.touches[0],e=(c||a).target,g=e,h=this.options,i=this.el,l=h.filter;if(!("mousedown"===b&&0!==a.button||h.disabled)&&(e=d(e,h.draggable,i))){if(z=o(e),"function"==typeof l){if(l.call(this,a,e,this))return L(g,"filter",e,i,z),void a.preventDefault()}else if(l&&(l=l.split(",").some(function(a){return a=d(g,a.trim(),i),a?(L(a,"filter",e,i,z),!0):void 0})))return void a.preventDefault();if((!h.handle||d(g,h.handle,i))&&e&&!q&&e.parentNode===i){C=a,t=this.el,q=e,u=q.nextSibling,B=this.options.group,q.draggable=!0,h.ignore.split(",").forEach(function(a){j(e,a.trim(),k)}),c&&(C={target:e,clientX:c.clientX,clientY:c.clientY},this._onDragStart(C,"touch"),a.preventDefault()),f(H,"mouseup",this._onDrop),f(H,"touchend",this._onDrop),f(H,"touchcancel",this._onDrop),f(q,"dragend",this),f(t,"dragstart",this._onDragStart),J||this._onDragStart(C,!0);try{H.selection?H.selection.empty():window.getSelection().removeAllRanges()}catch(m){}}}},_emulateDragOver:function(){if(D){i(r,"display","none");var a=H.elementFromPoint(D.clientX,D.clientY),b=a,c=" "+this.options.group.name,d=Q.length;if(b)do{if(b[F]&&b[F].groups.indexOf(c)>-1){for(;d--;)Q[d]({clientX:D.clientX,clientY:D.clientY,target:a,rootEl:b});break}a=b}while(b=b.parentNode);i(r,"display","")}},_onTouchMove:function(a){if(C){var b=a.touches?a.touches[0]:a,c=b.clientX-C.clientX,d=b.clientY-C.clientY,e=a.touches?"translate3d("+c+"px,"+d+"px,0)":"translate("+c+"px,"+d+"px)";D=b,i(r,"webkitTransform",e),i(r,"mozTransform",e),i(r,"msTransform",e),i(r,"transform",e),a.preventDefault()}},_onDragStart:function(a,b){var c=a.dataTransfer,d=this.options;if(this._offUpEvents(),"clone"==B.pull&&(s=q.cloneNode(!0),i(s,"display","none"),t.insertBefore(s,q)),b){var e,g=q.getBoundingClientRect(),h=i(q);r=q.cloneNode(!0),i(r,"top",g.top-I(h.marginTop,10)),i(r,"left",g.left-I(h.marginLeft,10)),i(r,"width",g.width),i(r,"height",g.height),i(r,"opacity","0.8"),i(r,"position","fixed"),i(r,"zIndex","100000"),t.appendChild(r),e=r.getBoundingClientRect(),i(r,"width",2*g.width-e.width),i(r,"height",2*g.height-e.height),"touch"===b?(f(H,"touchmove",this._onTouchMove),f(H,"touchend",this._onDrop),f(H,"touchcancel",this._onDrop)):(f(H,"mousemove",this._onTouchMove),f(H,"mouseup",this._onDrop)),this._loopId=setInterval(this._emulateDragOver,150)}else c&&(c.effectAllowed="move",d.setData&&d.setData.call(this,c,q)),f(H,"drop",this);setTimeout(this._dragStarted,0)},_onDragOver:function(a){var c,e,f,g=this.el,h=this.options,j=h.group,k=j.put,n=B===j,o=h.sort;if(q&&(void 0!==a.preventDefault&&(a.preventDefault(),!h.dragoverBubble&&a.stopPropagation()),B&&!h.disabled&&(n?o||(f=!t.contains(q)):B.pull&&k&&(B.name===j.name||k.indexOf&&~k.indexOf(B.name)))&&(void 0===a.rootEl||a.rootEl===this.el))){if(R(a,h,this.el),K)return;if(c=d(a.target,h.draggable,g),e=q.getBoundingClientRect(),f)return b(!0),void(s||u?t.insertBefore(q,s||u):o||t.appendChild(q));if(0===g.children.length||g.children[0]===r||g===a.target&&(c=m(g,a))){if(c){if(c.animated)return;v=c.getBoundingClientRect()}b(n),g.appendChild(q),this._animate(e,q),c&&this._animate(v,c)}else if(c&&!c.animated&&c!==q&&void 0!==c.parentNode[F]){x!==c&&(x=c,y=i(c));var p,v=c.getBoundingClientRect(),w=v.right-v.left,z=v.bottom-v.top,A=/left|right|inline/.test(y.cssFloat+y.display),C=c.offsetWidth>q.offsetWidth,D=c.offsetHeight>q.offsetHeight,E=(A?(a.clientX-v.left)/w:(a.clientY-v.top)/z)>.5,G=c.nextElementSibling;K=!0,setTimeout(l,30),b(n),p=A?c.previousElementSibling===q&&!C||E&&C:G!==q&&!D||E&&D,p&&!G?g.appendChild(q):c.parentNode.insertBefore(q,p?G:c),this._animate(e,q),this._animate(v,c)}}},_animate:function(a,b){var c=this.options.animation;if(c){var d=b.getBoundingClientRect();i(b,"transition","none"),i(b,"transform","translate3d("+(a.left-d.left)+"px,"+(a.top-d.top)+"px,0)"),b.offsetWidth,i(b,"transition","all "+c+"ms"),i(b,"transform","translate3d(0,0,0)"),
-clearTimeout(b.animated),b.animated=setTimeout(function(){i(b,"transition",""),i(b,"transform",""),b.animated=!1},c)}},_offUpEvents:function(){g(H,"mouseup",this._onDrop),g(H,"touchmove",this._onTouchMove),g(H,"touchend",this._onDrop),g(H,"touchcancel",this._onDrop)},_onDrop:function(b){var c=this.el,d=this.options;clearInterval(this._loopId),clearInterval(E.pid),g(H,"drop",this),g(H,"mousemove",this._onTouchMove),g(c,"dragstart",this._onDragStart),this._offUpEvents(),b&&(b.preventDefault(),!d.dropBubble&&b.stopPropagation(),r&&r.parentNode.removeChild(r),q&&(g(q,"dragend",this),k(q),h(q,this.options.ghostClass,!1),t!==q.parentNode?(A=o(q),L(q.parentNode,"sort",q,t,z,A),L(t,"sort",q,t,z,A),L(q,"add",q,t,z,A),L(t,"remove",q,t,z,A)):(s&&s.parentNode.removeChild(s),q.nextSibling!==u&&(A=o(q),L(t,"update",q,t,z,A),L(t,"sort",q,t,z,A))),a.active&&L(t,"end",q,t,z,A)),t=q=r=u=s=v=w=C=D=x=y=B=a.active=null,this.save())},handleEvent:function(a){var b=a.type;"dragover"===b||"dragenter"===b?(this._onDragOver(a),e(a)):("drop"===b||"dragend"===b)&&this._onDrop(a)},toArray:function(){for(var a,b=[],c=this.el.children,e=0,f=c.length;f>e;e++)a=c[e],d(a,this.options.draggable,this.el)&&b.push(a.getAttribute("data-id")||n(a));return b},sort:function(a){var b={},c=this.el;this.toArray().forEach(function(a,e){var f=c.children[e];d(f,this.options.draggable,c)&&(b[a]=f)},this),a.forEach(function(a){b[a]&&(c.removeChild(b[a]),c.appendChild(b[a]))})},save:function(){var a=this.options.store;a&&a.set(this)},closest:function(a,b){return d(a,b||this.options.draggable,this.el)},option:function(a,b){var c=this.options;return void 0===b?c[a]:void(c[a]=b)},destroy:function(){var a=this.el,b=this.options;M.forEach(function(c){g(a,c.substr(2).toLowerCase(),b[c])}),g(a,"mousedown",this._onTapStart),g(a,"touchstart",this._onTapStart),g(a,"dragover",this),g(a,"dragenter",this),Array.prototype.forEach.call(a.querySelectorAll("[draggable]"),function(a){a.removeAttribute("draggable")}),Q.splice(Q.indexOf(this._onDragOver),1),this._onDrop(),this.el=null}},a.utils={on:f,off:g,css:i,find:j,bind:c,is:function(a,b){return!!d(a,b,a)},throttle:p,closest:d,toggleClass:h,dispatchEvent:L,index:o},a.version="1.1.1",a.create=function(b,c){return new a(b,c)},a}),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){"use strict";a.fn.sortable=function(b){var c;return this.each(function(){var d=a(this),e=d.data("sortable");if(e||!(b instanceof Object)&&b||(e=new Sortable(this,b),d.data("sortable",e)),e){if("widget"===b)return e;"destroy"===b?(e.destroy(),d.removeData("sortable")):b in e&&(c=e[e].apply(e,[].slice.call(arguments,1)))}}),void 0===c?this:c}});var XBBCODE=function(){function a(){i=[];var a,b,c;for(a in h)if(h.hasOwnProperty(a)){for("*"===a?i.push("\\"+a):(i.push(a),h[a].noParse&&u.push(a)),h[a].validChildLookup={},h[a].validParentLookup={},h[a].restrictParentsTo=h[a].restrictParentsTo||[],h[a].restrictChildrenTo=h[a].restrictChildrenTo||[],c=h[a].restrictChildrenTo.length,b=0;c>b;b++)h[a].validChildLookup[h[a].restrictChildrenTo[b]]=!0;for(c=h[a].restrictParentsTo.length,b=0;c>b;b++)h[a].validParentLookup[h[a].restrictParentsTo[b]]=!0}j=new RegExp("<bbcl=([0-9]+) ("+i.join("|")+")([ =][^>]*?)?>((?:.|[\\r\\n])*?)<bbcl=\\1 /\\2>","gi"),k=new RegExp("\\[("+i.join("|")+")([ =][^\\]]*?)?\\]([^\\[]*?)\\[/\\1\\]","gi"),l=new RegExp("\\[("+u.join("|")+")([ =][^\\]]*?)?\\]([\\s\\S]*?)\\[/\\1\\]","gi"),function(){for(var a=[],b=0;b<i.length;b++)"\\*"!==i[b]&&a.push("/"+i[b]);m=new RegExp("(\\[)((?:"+i.join("|")+")(?:[ =][^\\]]*?)?)(\\])","gi"),n=new RegExp("(\\[)("+a.join("|")+")(\\])","gi")}()}function b(a,c,d,e,f,g,k){k=k||[],d++;var l,m,n,o,p=new RegExp("(<bbcl="+d+" )("+i.join("|")+")([ =>])","gi"),q=new RegExp("(<bbcl="+d+" )("+i.join("|")+")([ =>])","i"),r=g.match(p)||[],s=h[a]||{};for(p.lastIndex=0,r||(g=""),n=0;n<r.length;n++)q.lastIndex=0,o=r[n].match(q)[2].toLowerCase(),s&&s.restrictChildrenTo&&s.restrictChildrenTo.length>0&&(s.validChildLookup[o]||(m='The tag "'+o+'" is not allowed as a child of the tag "'+a+'".',k.push(m))),l=h[o]||{},l.restrictParentsTo.length>0&&(l.validParentLookup[a]||(m='The tag "'+a+'" is not allowed as a parent of the tag "'+o+'".',k.push(m)));return g=g.replace(j,function(a,c,d,e,f){return k=b(d.toLowerCase(),a,c,d,e,f,k),a}),k}function c(a){return a=a.replace(/\<([^\>][^\>]*?)\>/gi,function(a,b){var c=b.match(/^bbcl=([0-9]+) /);return null===c?"<bbcl=0 "+b+">":"<"+b.replace(/^(bbcl=)([0-9]+)/,function(a,b,c){return b+(parseInt(c,10)+1)})+">"})}function d(a){return a.replace(/<bbcl=[0-9]+ \/\*>/gi,"").replace(/<bbcl=[0-9]+ /gi,"&#91;").replace(/>/gi,"&#93;")}function e(a){var b=a.text;return b=b.replace(j,v)}function f(a){for(a=a.replace(/\[(?!\*[ =\]]|list([ =][^\]]*)?\]|\/list[\]])/gi,"<"),a=a.replace(/\[(?=list([ =][^\]]*)?\]|\/list[\]])/gi,">");a!==(a=a.replace(/>list([ =][^\]]*)?\]([^>]*?)(>\/list])/gi,function(a,b,c){for(var d=a;d!==(d=d.replace(/\[\*\]([^\[]*?)(\[\*\]|>\/list])/i,function(a,b,c){return c=">/list]"===c.toLowerCase()?"</*]</list]":"</*][*]","<*]"+b+c})););return d=d.replace(/>/g,"<")})););return a=a.replace(/</g,"[")}function g(a){for(;a!==(a=a.replace(k,function(a,b,d,e){return a=a.replace(/\[/g,"<"),a=a.replace(/\]/g,">"),c(a)})););return a}var h,i,j,k,l,m,n,o={},p=/^(?:https?|file|c):(?:\/{1,3}|\\{1})[-a-zA-Z0-9:;@#%&()~_?\+=\/\\\.]*$/,q=/^(?:aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen)$/,r=/^#?[a-fA-F0-9]{6}$/,s=/[^\s@]+@[^\s@]+\.[^\s@]+/,t=/^([a-z][a-z0-9_]+|"[a-z][a-z0-9_\s]+")$/i,u=[];h={b:{openTag:function(a,b){return'<span class="xbbcode-b">'},closeTag:function(a,b){return"</span>"}},bbcode:{openTag:function(a,b){return""},closeTag:function(a,b){return""}},center:{openTag:function(a,b){return'<span class="xbbcode-center">'},closeTag:function(a,b){return"</span>"}},code:{openTag:function(a,b){return'<span class="xbbcode-code">'},closeTag:function(a,b){return"</span>"},noParse:!0},color:{openTag:function(a,b){var c=a.substr(1).toLowerCase()||"black";return q.lastIndex=0,r.lastIndex=0,q.test(c)||(r.test(c)?"#"!==c.substr(0,1)&&(c="#"+c):c="black"),'<span style="color:'+c+'">'},closeTag:function(a,b){return"</span>"}},email:{openTag:function(a,b){var c;return c=a?a.substr(1):b.replace(/<.*?>/g,""),s.lastIndex=0,s.test(c)?'<a href="mailto:'+c+'">':"<a>"},closeTag:function(a,b){return"</a>"}},face:{openTag:function(a,b){var c=a.substr(1)||"inherit";return t.lastIndex=0,t.test(c)||(c="inherit"),'<span style="font-family:'+c+'">'},closeTag:function(a,b){return"</span>"}},font:{openTag:function(a,b){var c=a.substr(1)||"inherit";return t.lastIndex=0,t.test(c)||(c="inherit"),'<span style="font-family:'+c+'">'},closeTag:function(a,b){return"</span>"}},i:{openTag:function(a,b){return'<span class="xbbcode-i">'},closeTag:function(a,b){return"</span>"}},img:{openTag:function(a,b){var c=b;return p.lastIndex=0,p.test(c)||(c=""),'<img src="'+c+'" />'},closeTag:function(a,b){return""},displayContent:!1},justify:{openTag:function(a,b){return'<span class="xbbcode-justify">'},closeTag:function(a,b){return"</span>"}},large:{openTag:function(a,b){var a=a||"",c=a.substr(1)||"inherit";return q.lastIndex=0,r.lastIndex=0,q.test(c)||(r.test(c)?"#"!==c.substr(0,1)&&(c="#"+c):c="inherit"),'<span class="xbbcode-size-36" style="color:'+c+'">'},closeTag:function(a,b){return"</span>"}},left:{openTag:function(a,b){return'<span class="xbbcode-left">'},closeTag:function(a,b){return"</span>"}},li:{openTag:function(a,b){return"<li>"},closeTag:function(a,b){return"</li>"},restrictParentsTo:["list","ul","ol"]},list:{openTag:function(a,b){return"<ul>"},closeTag:function(a,b){return"</ul>"},restrictChildrenTo:["*","li"]},noparse:{openTag:function(a,b){return""},closeTag:function(a,b){return""},noParse:!0},ol:{openTag:function(a,b){return"<ol>"},closeTag:function(a,b){return"</ol>"},restrictChildrenTo:["*","li"]},php:{openTag:function(a,b){return'<span class="xbbcode-code">'},closeTag:function(a,b){return"</span>"},noParse:!0},quote:{openTag:function(a,b){return'<blockquote class="xbbcode-blockquote">'},closeTag:function(a,b){return"</blockquote>"}},right:{openTag:function(a,b){return'<span class="xbbcode-right">'},closeTag:function(a,b){return"</span>"}},s:{openTag:function(a,b){return'<span class="xbbcode-s">'},closeTag:function(a,b){return"</span>"}},size:{openTag:function(a,b){var c=parseInt(a.substr(1),10)||0;return(4>c||c>40)&&(c=14),'<span class="xbbcode-size-'+c+'">'},closeTag:function(a,b){return"</span>"}},small:{openTag:function(a,b){var a=a||"",c=a.substr(1)||"inherit";return q.lastIndex=0,r.lastIndex=0,q.test(c)||(r.test(c)?"#"!==c.substr(0,1)&&(c="#"+c):c="inherit"),'<span class="xbbcode-size-10" style="color:'+c+'">'},closeTag:function(a,b){return"</span>"}},sub:{openTag:function(a,b){return"<sub>"},closeTag:function(a,b){return"</sub>"}},sup:{openTag:function(a,b){return"<sup>"},closeTag:function(a,b){return"</sup>"}},table:{openTag:function(a,b){return'<table class="xbbcode-table">'},closeTag:function(a,b){return"</table>"},restrictChildrenTo:["tbody","thead","tfoot","tr"]},tbody:{openTag:function(a,b){return"<tbody>"},closeTag:function(a,b){return"</tbody>"},restrictChildrenTo:["tr"],restrictParentsTo:["table"]},tfoot:{openTag:function(a,b){return"<tfoot>"},closeTag:function(a,b){return"</tfoot>"},restrictChildrenTo:["tr"],restrictParentsTo:["table"]},thead:{openTag:function(a,b){return'<thead class="xbbcode-thead">'},closeTag:function(a,b){return"</thead>"},restrictChildrenTo:["tr"],restrictParentsTo:["table"]},td:{openTag:function(a,b){return'<td class="xbbcode-td">'},closeTag:function(a,b){return"</td>"},restrictParentsTo:["tr"]},th:{openTag:function(a,b){return'<th class="xbbcode-th">'},closeTag:function(a,b){return"</th>"},restrictParentsTo:["tr"]},tr:{openTag:function(a,b){return'<tr class="xbbcode-tr">'},closeTag:function(a,b){return"</tr>"},restrictChildrenTo:["td","th"],restrictParentsTo:["table","tbody","tfoot","thead"]},u:{openTag:function(a,b){return'<span class="xbbcode-u">'},closeTag:function(a,b){return"</span>"}},ul:{openTag:function(a,b){return"<ul>"},closeTag:function(a,b){return"</ul>"},restrictChildrenTo:["*","li"]},url:{openTag:function(a,b){var c;return c=a?a.substr(1):b.replace(/<.*?>/g,""),p.lastIndex=0,p.test(c)||(c="#"),'<a href="'+c+'">'},closeTag:function(a,b){return"</a>"}},"*":{openTag:function(a,b){return"<li>"},closeTag:function(a,b){return"</li>"},restrictParentsTo:["list","ul","ol"]}},a();var v=function(a,b,c,e,f){c=c.toLowerCase();var g=h[c].noParse?d(f):f.replace(j,v),i=h[c].openTag(e,g),k=h[c].closeTag(e,g);return h[c].displayContent===!1&&(g=""),i+g+k};return o.tags=function(){return h},o.addTags=function(b){var c;for(c in b)h[c]=b[c];a()},o.process=function(a){var c={html:"",error:!1},d=[];for(a.text=a.text.replace(/</g,"&lt;"),a.text=a.text.replace(/>/g,"&gt;"),a.text=a.text.replace(m,function(a,b,c,d){return"<"+c+">"}),a.text=a.text.replace(n,function(a,b,c,d){return"<"+c+">"}),a.text=a.text.replace(/\[/g,"&#91;"),a.text=a.text.replace(/\]/g,"&#93;"),a.text=a.text.replace(/</g,"["),a.text=a.text.replace(/>/g,"]");a.text!==(a.text=a.text.replace(l,function(a,b,c,d){return d=d.replace(/\[/g,"&#91;"),d=d.replace(/\]/g,"&#93;"),c=c||"",d=d||"","["+b+c+"]"+d+"[/"+b+"]"})););return a.text=f(a.text),a.text=g(a.text),d=b("bbcode",a.text,-1,"","",a.text),c.html=e(a),(-1!==c.html.indexOf("[")||-1!==c.html.indexOf("]"))&&d.push("Some tags appear to be misaligned."),a.removeMisalignedTags&&(c.html=c.html.replace(/\[.*?\]/g,"")),a.addInLineBreaks&&(c.html='<div style="white-space:pre;">'+c.html+"</div>"),c.html=c.html.replace("&#91;","["),c.html=c.html.replace("&#93;","]"),c.error=0!==d.length,c.errorQueue=d,c},o}();+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.1",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=i?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a("body").height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.1",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.1",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.1",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c="prev"==a?-1:1,d=this.getItemIndex(b),e=(d+c)%this.$items.length;return this.$items.eq(e)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i="next"==b?"first":"last",j=this;if(!f.length){if(!this.options.wrap)return;f=this.$element.find(".item")[i]()}if(f.hasClass("active"))return this.sliding=!1;var k=f[0],l=a.Event("slide.bs.carousel",{relatedTarget:k,direction:h});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var m=a(this.$indicators.children()[this.getItemIndex(f)]);m&&m.addClass("active")}var n=a.Event("slid.bs.carousel",{relatedTarget:k,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),j.sliding=!1,setTimeout(function(){j.$element.trigger(n)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(n)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.1",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.find("> .panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.1",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.1",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.1",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a]);
-},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.1",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.options.backdrop&&d.adjustBackdrop(),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in").attr("aria-hidden",!1),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$element.find(".modal-dialog").one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a('<div class="modal-backdrop '+e+'" />').prependTo(this.$element).on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.options.backdrop&&this.adjustBackdrop(),this.adjustDialog()},c.prototype.adjustBackdrop=function(){this.$backdrop.css("height",0).css("height",this.$element[0].scrollHeight)},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){this.bodyIsOverflowing=document.body.scrollHeight>document.documentElement.clientHeight,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.tooltip",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.1",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-m<p.top?"bottom":"right"==h&&k.right+l>p.width?"left":"left"==h&&k.left-l<p.left?"right":h,f.removeClass(n).addClass(h)}var q=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(q,h);var r=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",r).emulateTransitionEnd(c.TRANSITION_DURATION):r()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=this.tip(),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.popover",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.1",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),function(a){function b(a){return"undefined"==typeof a.which?!0:"number"==typeof a.which&&a.which>0?!a.ctrlKey&&!a.metaKey&&!a.altKey&&8!=a.which:!1}a.expr[":"].notmdproc=function(b){return a(b).data("mdproc")?!1:!0},a.material={options:{input:!0,ripples:!0,checkbox:!0,togglebutton:!0,radio:!0,arrive:!0,autofill:!0,withRipples:[".btn:not(.btn-link)",".card-image",".navbar a:not(.withoutripple)",".dropdown-menu a",".nav-tabs a:not(.withoutripple)",".withripple"].join(","),inputElements:"input.form-control, textarea.form-control, select.form-control",checkboxElements:".checkbox > label > input[type=checkbox]",togglebuttonElements:".togglebutton > label > input[type=checkbox]",radioElements:".radio > label > input[type=radio]"},checkbox:function(b){a(b?b:this.options.checkboxElements).filter(":notmdproc").data("mdproc",!0).after("<span class=ripple></span><span class=check></span>")},togglebutton:function(b){a(b?b:this.options.togglebuttonElements).filter(":notmdproc").data("mdproc",!0).after("<span class=toggle></span>")},radio:function(b){a(b?b:this.options.radioElements).filter(":notmdproc").data("mdproc",!0).after("<span class=circle></span><span class=check></span>")},input:function(c){a(c?c:this.options.inputElements).filter(":notmdproc").data("mdproc",!0).each(function(){var b=a(this);if(b.wrap("<div class=form-control-wrapper></div>"),b.after("<span class=material-input></span>"),b.hasClass("floating-label")){var c=b.attr("placeholder");b.attr("placeholder",null).removeClass("floating-label"),b.after("<div class=floating-label>"+c+"</div>")}if(b.attr("data-hint")&&b.after("<div class=hint>"+b.attr("data-hint")+"</div>"),(null===b.val()||"undefined"==b.val()||""===b.val())&&b.addClass("empty"),b.parent().next().is("[type=file]")){b.parent().addClass("fileinput");var d=b.parent().next().detach();b.after(d)}}),a(document).on("change",".checkbox input[type=checkbox]",function(){a(this).blur()}).on("keydown paste",".form-control",function(c){b(c)&&a(this).removeClass("empty")}).on("keyup change",".form-control",function(){var b=a(this);""===b.val()&&b[0].checkValidity()?b.addClass("empty"):b.removeClass("empty")}).on("focus",".form-control-wrapper.fileinput",function(){a(this).find("input").addClass("focus")}).on("blur",".form-control-wrapper.fileinput",function(){a(this).find("input").removeClass("focus")}).on("change",".form-control-wrapper.fileinput [type=file]",function(){var b="";a.each(a(this)[0].files,function(a,c){console.log(c),b+=c.name+", "}),b=b.substring(0,b.length-2),b?a(this).prev().removeClass("empty"):a(this).prev().addClass("empty"),a(this).prev().val(b)})},ripples:function(b){a(b?b:this.options.withRipples).ripples()},autofill:function(){var b=setInterval(function(){a("input[type!=checkbox]").each(function(){a(this).val()&&a(this).val()!==a(this).attr("value")&&a(this).trigger("change")})},100);setTimeout(function(){clearInterval(b)},1e4);var c;a(document).on("focus","input",function(){var b=a(this).parents("form").find("input").not("[type=file]");c=setInterval(function(){b.each(function(){a(this).val()!==a(this).attr("value")&&a(this).trigger("change")})},100)}).on("blur","input",function(){clearInterval(c)})},init:function(){a.ripples&&this.options.ripples&&this.ripples(),this.options.input&&this.input(),this.options.checkbox&&this.checkbox(),this.options.togglebutton&&this.togglebutton(),this.options.radio&&this.radio(),this.options.autofill&&this.autofill(),document.arrive&&this.options.arrive&&(a(document).arrive(this.options.inputElements,function(){a.material.input(a(this))}),a(document).arrive(this.options.checkboxElements,function(){a.material.checkbox(a(this))}),a(document).arrive(this.options.radioElements,function(){a.material.radio(a(this))}),a(document).arrive(this.options.togglebuttonElements,function(){a.material.togglebutton(a(this))}))}}}(jQuery),function(a,b,c,d){"use strict";function e(b,c){g=this,this.element=a(b),this.options=a.extend({},h,c),this._defaults=h,this._name=f,this.init()}var f="ripples",g=null,h={};e.prototype.init=function(){var c=this.element;c.on("mousedown touchstart",function(d){if(g.isTouch()&&"mousedown"===d.type)return!1;c.find(".ripple-wrapper").length||c.append('<div class="ripple-wrapper"></div>');var e=c.children(".ripple-wrapper"),f=g.getRelY(e,d),h=g.getRelX(e,d);if(f||h){var i=g.getRipplesColor(),j=a("<div></div>");j.addClass("ripple").css({left:h,top:f,"background-color":i}),e.append(j),function(){return b.getComputedStyle(j[0]).opacity}(),g.rippleOn(j),setTimeout(function(){g.rippleEnd(j)},500),c.on("mouseup mouseleave touchend",function(){j.data("mousedown","off"),"off"===j.data("animating")&&g.rippleOut(j)})}})},e.prototype.getNewSize=function(a){var b=this.element;return Math.max(b.outerWidth(),b.outerHeight())/a.outerWidth()*2.5},e.prototype.getRelX=function(a,b){var c=a.offset();return g.isTouch()?(b=b.originalEvent,1!==b.touches.length?b.touches[0].pageX-c.left:!1):b.pageX-c.left},e.prototype.getRelY=function(a,b){var c=a.offset();return g.isTouch()?(b=b.originalEvent,1!==b.touches.length?b.touches[0].pageY-c.top:!1):b.pageY-c.top},e.prototype.getRipplesColor=function(){var a,c=this.element;return a=this.options&&this.options.color?this.options.color:c.data("ripple-color")?c.data("ripple-color"):b.getComputedStyle(c[0]).color},e.prototype.hasTransitionSupport=function(){var a=c.body||c.documentElement,b=a.style,e=b.transition!==d||b.WebkitTransition!==d||b.MozTransition!==d||b.MsTransition!==d||b.OTransition!==d;return e},e.prototype.isTouch=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},e.prototype.rippleEnd=function(a){a.data("animating","off"),"off"===a.data("mousedown")&&g.rippleOut(a)},e.prototype.rippleOut=function(a){a.off(),g.hasTransitionSupport()?a.addClass("ripple-out"):a.animate({opacity:0},100,function(){a.trigger("transitionend")}),a.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){a.remove()})},e.prototype.rippleOn=function(a){var b=g.getNewSize(a),c=this.element;g.hasTransitionSupport()?a.css({"-ms-transform":"scale("+b+")","-moz-transform":"scale("+b+")","-webkit-transform":"scale("+b+")",transform:"scale("+b+")"}).addClass("ripple-on").data("animating","on").data("mousedown","on"):a.animate({width:2*Math.max(c.outerWidth(),c.outerHeight()),height:2*Math.max(c.outerWidth(),c.outerHeight()),"margin-left":-1*Math.max(c.outerWidth(),c.outerHeight()),"margin-top":-1*Math.max(c.outerWidth(),c.outerHeight()),opacity:.2},500,function(){a.trigger("transitionend")})},a.fn.ripples=function(b){return this.each(function(){a.data(this,"plugin_"+f)||a.data(this,"plugin_"+f,new e(this,b))})}}(jQuery,window,document),function(a){function b(a){return"undefined"!=typeof a&&null!==a?!0:!1}a(document).ready(function(){a("body").append("<div id=snackbar-container/>")}),a(document).on("click","[data-toggle=snackbar]",function(){a(this).snackbar("toggle")}).on("click","#snackbar-container .snackbar",function(){a(this).snackbar("hide")}),a.snackbar=function(c){if(b(c)&&c===Object(c)){var d;d=b(c.id)?a("#"+c.id):a("<div/>").attr("id","snackbar"+Date.now()).attr("class","snackbar");var e=d.hasClass("snackbar-opened");b(c.style)?d.attr("class","snackbar "+c.style):d.attr("class","snackbar"),c.timeout=b(c.timeout)?c.timeout:3e3,b(c.content)&&(d.find(".snackbar-content").length?d.find(".snackbar-content").text(c.content):d.prepend("<span class=snackbar-content>"+c.content+"</span>")),b(c.id)?d.insertAfter("#snackbar-container .snackbar:last-child"):d.appendTo("#snackbar-container"),b(c.action)&&"toggle"==c.action&&(e?c.action="hide":c.action="show");var f=Date.now();d.data("animationId1",f),setTimeout(function(){d.data("animationId1")===f&&(b(c.action)&&"show"!=c.action?b(c.action)&&"hide"==c.action&&d.removeClass("snackbar-opened"):d.addClass("snackbar-opened"))},50);var g=Date.now();return d.data("animationId2",g),0!==c.timeout&&setTimeout(function(){d.data("animationId2")===g&&d.removeClass("snackbar-opened")},c.timeout),d}return!1},a.fn.snackbar=function(c){var d={};if(this.hasClass("snackbar"))return d.id=this.attr("id"),("show"===c||"hide"===c||"toggle"==c)&&(d.action=c),a.snackbar(d);b(c)&&"show"!==c&&"hide"!==c&&"toggle"!=c||(d={content:a(this).attr("data-content"),style:a(this).attr("data-style"),timeout:a(this).attr("data-timeout")}),b(c)&&(d.id=this.attr("data-snackbar-id"),("show"===c||"hide"===c||"toggle"==c)&&(d.action=c));var e=a.snackbar(d);return this.attr("data-snackbar-id",e.attr("id")),e}}(jQuery),function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){if(!d)var d={map:function(a,b){var c={};return b?a.map(function(a,d){return c.index=d,b.call(c,a)}):a.slice()},naturalOrder:function(a,b){return b>a?-1:a>b?1:0},sum:function(a,b){var c={};return a.reduce(b?function(a,d,e){return c.index=e,a+b.call(c,d)}:function(a,b){return a+b},0)},max:function(a,b){return Math.max.apply(null,b?d.map(a,b):a)}};var e=function(){function a(a,b,c){return(a<<2*j)+(b<<j)+c}function b(a){function b(){c.sort(a),d=!0}var c=[],d=!1;return{push:function(a){c.push(a),d=!1},peek:function(a){return d||b(),void 0===a&&(a=c.length-1),c[a]},pop:function(){return d||b(),c.pop()},size:function(){return c.length},map:function(a){return c.map(a)},debug:function(){return d||b(),c}}}function c(a,b,c,d,e,f,g){var h=this;h.r1=a,h.r2=b,h.g1=c,h.g2=d,h.b1=e,h.b2=f,h.histo=g}function e(){this.vboxes=new b(function(a,b){return d.naturalOrder(a.vbox.count()*a.vbox.volume(),b.vbox.count()*b.vbox.volume())})}function f(b){var c,d,e,f,g=1<<3*j,h=new Array(g);return b.forEach(function(b){d=b[0]>>k,e=b[1]>>k,f=b[2]>>k,c=a(d,e,f),h[c]=(h[c]||0)+1}),h}function g(a,b){var d,e,f,g=1e6,h=0,i=1e6,j=0,l=1e6,m=0;return a.forEach(function(a){d=a[0]>>k,e=a[1]>>k,f=a[2]>>k,g>d?g=d:d>h&&(h=d),i>e?i=e:e>j&&(j=e),l>f?l=f:f>m&&(m=f)}),new c(g,h,i,j,l,m,b)}function h(b,c){function e(a){var b,d,e,f,g,h=a+"1",i=a+"2",k=0;for(j=c[h];j<=c[i];j++)if(p[j]>o/2){for(e=c.copy(),f=c.copy(),b=j-c[h],d=c[i]-j,g=d>=b?Math.min(c[i]-1,~~(j+d/2)):Math.max(c[h],~~(j-1-b/2));!p[g];)g++;for(k=q[g];!k&&p[g-1];)k=q[--g];return e[i]=g,f[h]=e[i]+1,[e,f]}}if(c.count()){var f=c.r2-c.r1+1,g=c.g2-c.g1+1,h=c.b2-c.b1+1,i=d.max([f,g,h]);if(1==c.count())return[c.copy()];var j,k,l,m,n,o=0,p=[],q=[];if(i==f)for(j=c.r1;j<=c.r2;j++){for(m=0,k=c.g1;k<=c.g2;k++)for(l=c.b1;l<=c.b2;l++)n=a(j,k,l),m+=b[n]||0;o+=m,p[j]=o}else if(i==g)for(j=c.g1;j<=c.g2;j++){for(m=0,k=c.r1;k<=c.r2;k++)for(l=c.b1;l<=c.b2;l++)n=a(k,j,l),m+=b[n]||0;o+=m,p[j]=o}else for(j=c.b1;j<=c.b2;j++){for(m=0,k=c.r1;k<=c.r2;k++)for(l=c.g1;l<=c.g2;l++)n=a(k,l,j),m+=b[n]||0;o+=m,p[j]=o}return p.forEach(function(a,b){q[b]=o-a}),e(i==f?"r":i==g?"g":"b")}}function i(a,c){function i(a,b){for(var c,d=1,e=0;l>e;)if(c=a.pop(),c.count()){var f=h(j,c),g=f[0],i=f[1];if(!g)return;if(a.push(g),i&&(a.push(i),d++),d>=b)return;if(e++>l)return}else a.push(c),e++}if(!a.length||2>c||c>256)return!1;var j=f(a),k=0;j.forEach(function(){k++});var n=g(a,j),o=new b(function(a,b){return d.naturalOrder(a.count(),b.count())});o.push(n),i(o,m*c);for(var p=new b(function(a,b){return d.naturalOrder(a.count()*a.volume(),b.count()*b.volume())});o.size();)p.push(o.pop());i(p,c-p.size());for(var q=new e;p.size();)q.push(p.pop());return q}var j=5,k=8-j,l=1e3,m=.75;return c.prototype={volume:function(a){var b=this;return(!b._volume||a)&&(b._volume=(b.r2-b.r1+1)*(b.g2-b.g1+1)*(b.b2-b.b1+1)),b._volume},count:function(b){var c=this,d=c.histo;if(!c._count_set||b){var e,f,g,h=0;for(e=c.r1;e<=c.r2;e++)for(f=c.g1;f<=c.g2;f++)for(g=c.b1;g<=c.b2;g++)index=a(e,f,g),h+=d[index]||0;c._count=h,c._count_set=!0}return c._count},copy:function(){var a=this;return new c(a.r1,a.r2,a.g1,a.g2,a.b1,a.b2,a.histo)},avg:function(b){var c=this,d=c.histo;if(!c._avg||b){var e,f,g,h,i,k=0,l=1<<8-j,m=0,n=0,o=0;for(f=c.r1;f<=c.r2;f++)for(g=c.g1;g<=c.g2;g++)for(h=c.b1;h<=c.b2;h++)i=a(f,g,h),e=d[i]||0,k+=e,m+=e*(f+.5)*l,n+=e*(g+.5)*l,o+=e*(h+.5)*l;k?c._avg=[~~(m/k),~~(n/k),~~(o/k)]:c._avg=[~~(l*(c.r1+c.r2+1)/2),~~(l*(c.g1+c.g2+1)/2),~~(l*(c.b1+c.b2+1)/2)]}return c._avg},contains:function(a){var b=this,c=a[0]>>k;return gval=a[1]>>k,bval=a[2]>>k,c>=b.r1&&c<=b.r2&&gval>=b.g1&&gval<=b.g2&&bval>=b.b1&&bval<=b.b2}},e.prototype={push:function(a){this.vboxes.push({vbox:a,color:a.avg()})},palette:function(){return this.vboxes.map(function(a){return a.color})},size:function(){return this.vboxes.size()},map:function(a){for(var b=this.vboxes,c=0;c<b.size();c++)if(b.peek(c).vbox.contains(a))return b.peek(c).color;return this.nearest(a)},nearest:function(a){for(var b,c,d,e=this.vboxes,f=0;f<e.size();f++)c=Math.sqrt(Math.pow(a[0]-e.peek(f).color[0],2)+Math.pow(a[1]-e.peek(f).color[1],2)+Math.pow(a[2]-e.peek(f).color[2],2)),(b>c||void 0===b)&&(b=c,d=e.peek(f).color);return d},forcebw:function(){var a=this.vboxes;a.sort(function(a,b){return d.naturalOrder(d.sum(a.color),d.sum(b.color))});var b=a[0].color;b[0]<5&&b[1]<5&&b[2]<5&&(a[0].color=[0,0,0]);var c=a.length-1,e=a[c].color;e[0]>251&&e[1]>251&&e[2]>251&&(a[c].color=[255,255,255])}},{quantize:i}}();b.exports=e.quantize},{}],2:[function(a,b,c){(function(){var b,c,d,e=function(a,b){return function(){return a.apply(b,arguments)}},f=[].slice;window.Swatch=c=function(){function a(a,b){this.rgb=a,this.population=b}return a.prototype.hsl=void 0,a.prototype.rgb=void 0,a.prototype.population=1,a.yiq=0,a.prototype.getHsl=function(){return this.hsl?this.hsl:this.hsl=d.rgbToHsl(this.rgb[0],this.rgb[1],this.rgb[2])},a.prototype.getPopulation=function(){return this.population},a.prototype.getRgb=function(){return this.rgb},a.prototype.getHex=function(){return"#"+((1<<24)+(this.rgb[0]<<16)+(this.rgb[1]<<8)+this.rgb[2]).toString(16).slice(1,7)},a.prototype.getTitleTextColor=function(){return this._ensureTextColors(),this.yiq<200?"#fff":"#000"},a.prototype.getBodyTextColor=function(){return this._ensureTextColors(),this.yiq<150?"#fff":"#000"},a.prototype._ensureTextColors=function(){return this.yiq?void 0:this.yiq=(299*this.rgb[0]+587*this.rgb[1]+114*this.rgb[2])/1e3},a}(),window.Vibrant=d=function(){function d(a,d,f){this.swatches=e(this.swatches,this);var g,h,i,j,k,l,m,n,o,p,q,r;for("undefined"==typeof d&&(d=64),"undefined"==typeof f&&(f=5),m=new b(a),n=m.getImageData(),q=n.data,p=m.getPixelCount(),h=[],l=0;p>l;)o=4*l,r=q[o+0],k=q[o+1],i=q[o+2],g=q[o+3],g>=125&&(r>250&&k>250&&i>250||h.push([r,k,i])),l+=f;j=this.quantize(h,d),this._swatches=j.vboxes.map(function(a){return function(a){return new c(a.color,a.vbox.count())}}(this)),this.maxPopulation=this.findMaxPopulation,this.generateVarationColors(),this.generateEmptySwatches(),m.removeCanvas()}return d.prototype.quantize=a("quantize"),d.prototype._swatches=[],d.prototype.TARGET_DARK_LUMA=.26,d.prototype.MAX_DARK_LUMA=.45,d.prototype.MIN_LIGHT_LUMA=.55,d.prototype.TARGET_LIGHT_LUMA=.74,d.prototype.MIN_NORMAL_LUMA=.3,d.prototype.TARGET_NORMAL_LUMA=.5,d.prototype.MAX_NORMAL_LUMA=.7,d.prototype.TARGET_MUTED_SATURATION=.3,d.prototype.MAX_MUTED_SATURATION=.4,d.prototype.TARGET_VIBRANT_SATURATION=1,d.prototype.MIN_VIBRANT_SATURATION=.35,d.prototype.WEIGHT_SATURATION=3,d.prototype.WEIGHT_LUMA=6,d.prototype.WEIGHT_POPULATION=1,d.prototype.VibrantSwatch=void 0,d.prototype.MutedSwatch=void 0,d.prototype.DarkVibrantSwatch=void 0,d.prototype.DarkMutedSwatch=void 0,d.prototype.LightVibrantSwatch=void 0,d.prototype.LightMutedSwatch=void 0,d.prototype.HighestPopulation=0,d.prototype.generateVarationColors=function(){return this.VibrantSwatch=this.findColorVariation(this.TARGET_NORMAL_LUMA,this.MIN_NORMAL_LUMA,this.MAX_NORMAL_LUMA,this.TARGET_VIBRANT_SATURATION,this.MIN_VIBRANT_SATURATION,1),
-this.LightVibrantSwatch=this.findColorVariation(this.TARGET_LIGHT_LUMA,this.MIN_LIGHT_LUMA,1,this.TARGET_VIBRANT_SATURATION,this.MIN_VIBRANT_SATURATION,1),this.DarkVibrantSwatch=this.findColorVariation(this.TARGET_DARK_LUMA,0,this.MAX_DARK_LUMA,this.TARGET_VIBRANT_SATURATION,this.MIN_VIBRANT_SATURATION,1),this.MutedSwatch=this.findColorVariation(this.TARGET_NORMAL_LUMA,this.MIN_NORMAL_LUMA,this.MAX_NORMAL_LUMA,this.TARGET_MUTED_SATURATION,0,this.MAX_MUTED_SATURATION),this.LightMutedSwatch=this.findColorVariation(this.TARGET_LIGHT_LUMA,this.MIN_LIGHT_LUMA,1,this.TARGET_MUTED_SATURATION,0,this.MAX_MUTED_SATURATION),this.DarkMutedSwatch=this.findColorVariation(this.TARGET_DARK_LUMA,0,this.MAX_DARK_LUMA,this.TARGET_MUTED_SATURATION,0,this.MAX_MUTED_SATURATION)},d.prototype.generateEmptySwatches=function(){var a;return void 0===this.VibrantSwatch&&void 0!==this.DarkVibrantSwatch&&(a=this.DarkVibrantSwatch.getHsl(),a[2]=this.TARGET_NORMAL_LUMA,this.VibrantSwatch=new c(d.hslToRgb(a[0],a[1],a[2]),0)),void 0===this.DarkVibrantSwatch&&void 0!==this.VibrantSwatch?(a=this.VibrantSwatch.getHsl(),a[2]=this.TARGET_DARK_LUMA,this.DarkVibrantSwatch=new c(d.hslToRgb(a[0],a[1],a[2]),0)):void 0},d.prototype.findMaxPopulation=function(){var a,b,c,d,e;for(c=0,d=this._swatches,a=0,b=d.length;b>a;a++)e=d[a],c=Math.max(c,e.getPopulation());return c},d.prototype.findColorVariation=function(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o;for(j=void 0,k=0,l=this._swatches,g=0,h=l.length;h>g;g++)n=l[g],m=n.getHsl()[1],i=n.getHsl()[2],m>=e&&f>=m&&i>=b&&c>=i&&!this.isAlreadySelected(n)&&(o=this.createComparisonValue(m,d,i,a,n.getPopulation(),this.HighestPopulation),(void 0===j||o>k)&&(j=n,k=o));return j},d.prototype.createComparisonValue=function(a,b,c,d,e,f){return this.weightedMean(this.invertDiff(a,b),this.WEIGHT_SATURATION,this.invertDiff(c,d),this.WEIGHT_LUMA,e/f,this.WEIGHT_POPULATION)},d.prototype.invertDiff=function(a,b){return 1-Math.abs(a-b)},d.prototype.weightedMean=function(){var a,b,c,d,e,g;for(e=1<=arguments.length?f.call(arguments,0):[],b=0,c=0,a=0;a<e.length;)d=e[a],g=e[a+1],b+=d*g,c+=g,a+=2;return b/c},d.prototype.swatches=function(){return{Vibrant:this.VibrantSwatch,Muted:this.MutedSwatch,DarkVibrant:this.DarkVibrantSwatch,DarkMuted:this.DarkMutedSwatch,LightVibrant:this.LightVibrantSwatch,LightMuted:this.LightMuted}},d.prototype.isAlreadySelected=function(a){return this.VibrantSwatch===a||this.DarkVibrantSwatch===a||this.LightVibrantSwatch===a||this.MutedSwatch===a||this.DarkMutedSwatch===a||this.LightMutedSwatch===a},d.rgbToHsl=function(a,b,c){var d,e,f,g,h,i;if(a/=255,b/=255,c/=255,g=Math.max(a,b,c),h=Math.min(a,b,c),e=void 0,i=void 0,f=(g+h)/2,g===h)e=i=0;else{switch(d=g-h,i=f>.5?d/(2-g-h):d/(g+h),g){case a:e=(b-c)/d+(c>b?6:0);break;case b:e=(c-a)/d+2;break;case c:e=(a-b)/d+4}e/=6}return[e,i,f]},d.hslToRgb=function(a,b,c){var d,e,f,g,h,i;return i=void 0,e=void 0,d=void 0,f=function(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a},0===b?i=e=d=c:(h=.5>c?c*(1+b):c+b-c*b,g=2*c-h,i=f(g,h,a+1/3),e=f(g,h,a),d=f(g,h,a-1/3)),[255*i,255*e,255*d]},d}(),window.CanvasImage=b=function(){function a(a){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),document.body.appendChild(this.canvas),this.width=this.canvas.width=a.width,this.height=this.canvas.height=a.height,this.context.drawImage(a,0,0,this.width,this.height)}return a.prototype.clear=function(){return this.context.clearRect(0,0,this.width,this.height)},a.prototype.update=function(a){return this.context.putImageData(a,0,0)},a.prototype.getPixelCount=function(){return this.width*this.height},a.prototype.getImageData=function(){return this.context.getImageData(0,0,this.width,this.height)},a.prototype.removeCanvas=function(){return this.canvas.parentNode.removeChild(this.canvas)},a}()}).call(this)},{quantize:1}]},{},[2]),function(a,b){"use strict";function c(c,d){function e(a){return qa.preferFlash&&ja&&!qa.ignoreFlash&&qa.flash[a]!==b&&qa.flash[a]}function f(a){return function(b){var c,d=this._s;return d&&d._a?c=a.call(this,b):(d&&d.id?qa._wD(d.id+": Ignoring "+b.type):qa._wD(va+"Ignoring "+b.type),c=null),c}}this.setupOptions={url:c||null,flashVersion:8,debugMode:!0,debugFlash:!1,useConsole:!0,consoleOnly:!0,waitForWindowLoad:!1,bgColor:"#ffffff",useHighPerformance:!1,flashPollingInterval:null,html5PollingInterval:null,flashLoadTimeout:1e3,wmode:null,allowScriptAccess:"always",useFlashBlock:!1,useHTML5Audio:!0,html5Test:/^(probably|maybe)$/i,preferFlash:!1,noSWFCache:!1,idPrefix:"sound"},this.defaultOptions={autoLoad:!1,autoPlay:!1,from:null,loops:1,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onposition:null,onstop:null,onfailure:null,onfinish:null,multiShot:!0,multiShotEvents:!1,position:null,pan:0,stream:!0,to:null,type:null,usePolicyFile:!1,volume:100},this.flash9Options={isMovieStar:null,usePeakData:!1,useWaveformData:!1,useEQData:!1,onbufferchange:null,ondataerror:null},this.movieStarOptions={bufferTime:3,serverURL:null,onconnect:null,duration:null},this.audioFormats={mp3:{type:['audio/mpeg; codecs="mp3"',"audio/mpeg","audio/mp3","audio/MPA","audio/mpa-robust"],required:!0},mp4:{related:["aac","m4a","m4b"],type:['audio/mp4; codecs="mp4a.40.2"',"audio/aac","audio/x-m4a","audio/MP4A-LATM","audio/mpeg4-generic"],required:!1},ogg:{type:["audio/ogg; codecs=vorbis"],required:!1},opus:{type:["audio/ogg; codecs=opus","audio/opus"],required:!1},wav:{type:['audio/wav; codecs="1"',"audio/wav","audio/wave","audio/x-wav"],required:!1}},this.movieID="sm2-container",this.id=d||"sm2movie",this.debugID="soundmanager-debug",this.debugURLParam=/([#?&])debug=1/i,this.versionNumber="V2.97a.20140901",this.version=null,this.movieURL=null,this.altURL=null,this.swfLoaded=!1,this.enabled=!1,this.oMC=null,this.sounds={},this.soundIDs=[],this.muted=!1,this.didFlashBlock=!1,this.filePattern=null,this.filePatterns={flash8:/\.mp3(\?.*)?$/i,flash9:/\.mp3(\?.*)?$/i},this.features={buffering:!1,peakData:!1,waveformData:!1,eqData:!1,movieStar:!1},this.sandbox={type:null,types:{remote:"remote (domain-based) rules",localWithFile:"local with file access (no internet access)",localWithNetwork:"local with network (internet access only, no local access)",localTrusted:"local, trusted (local+internet access)"},description:null,noRemote:null,noLocal:null},this.html5={usingFlash:null},this.flash={},this.html5Only=!1,this.ignoreFlash=!1;var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,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,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa=this,ra=null,sa=null,ta="soundManager",ua=ta+": ",va="HTML5::",wa=navigator.userAgent,xa=a.location.href.toString(),ya=document,za=[],Aa=!0,Ba=!1,Ca=!1,Da=!1,Ea=!1,Fa=!1,Ga=0,Ha=["log","info","warn","error"],Ia=8,Ja=null,Ka=null,La=!1,Ma=!1,Na=0,Oa=null,Pa=[],Qa=null,Ra=Array.prototype.slice,Sa=!1,Ta=0,Ua=wa.match(/(ipad|iphone|ipod)/i),Va=wa.match(/android/i),Wa=wa.match(/msie/i),Xa=wa.match(/webkit/i),Ya=wa.match(/safari/i)&&!wa.match(/chrome/i),Za=wa.match(/opera/i),$a=wa.match(/(mobile|pre\/|xoom)/i)||Ua||Va,_a=!xa.match(/usehtml5audio/i)&&!xa.match(/sm2\-ignorebadua/i)&&Ya&&!wa.match(/silk/i)&&wa.match(/OS X 10_6_([3-7])/i),ab=a.console!==b&&console.log!==b,bb=ya.hasFocus!==b?ya.hasFocus():null,cb=Ya&&(ya.hasFocus===b||!ya.hasFocus()),db=!cb,eb=/(mp3|mp4|mpa|m4a|m4b)/i,fb=1e3,gb="about:blank",hb="data:audio/wave;base64,/UklGRiYAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQIAAAD//w==",ib=ya.location?ya.location.protocol.match(/http/i):null,jb=ib?"":"http://",kb=/^\s*audio\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|m4b|mp4v|3gp|3g2)\s*(?:$|;)/i,lb=["mpeg4","aac","flv","mov","mp4","m4v","f4v","m4a","m4b","mp4v","3gp","3g2"],mb=new RegExp("\\.("+lb.join("|")+")(\\?.*)?$","i");this.mimePattern=/^\s*audio\/(?:x-)?(?:mp(?:eg|3))\s*(?:$|;)/i,this.useAltURL=!ib,R={swfBox:"sm2-object-box",swfDefault:"movieContainer",swfError:"swf_error",swfTimedout:"swf_timedout",swfLoaded:"swf_loaded",swfUnblocked:"swf_unblocked",sm2Debug:"sm2_debug",highPerf:"high_performance",flashDebug:"flash_debug"},this.hasHTML5=function(){try{return Audio!==b&&(Za&&opera!==b&&opera.version()<10?new Audio(null):new Audio).canPlayType!==b}catch(a){return!1}}(),this.setup=function(a){var c=!qa.url;return a!==b&&Da&&Qa&&qa.ok()&&(a.flashVersion!==b||a.url!==b||a.html5Test!==b)&&V(O("setupLate")),q(a),a&&(c&&F&&a.url!==b&&qa.beginDelayedInit(),F||a.url===b||"complete"!==ya.readyState||setTimeout(D,1)),qa},this.ok=function(){return Qa?Da&&!Ea:qa.useHTML5Audio&&qa.hasHTML5},this.supported=this.ok,this.getMovie=function(b){return h(b)||ya[b]||a[b]},this.createSound=function(a,c){function d(){return h=T(h),qa.sounds[h.id]=new g(h),qa.soundIDs.push(h.id),qa.sounds[h.id]}var e,f,h,i=null;if(e=ta+".createSound(): ",f=e+O(Da?"notOK":"notReady"),!Da||!qa.ok())return V(f),!1;if(c!==b&&(a={id:a,url:c}),h=p(a),h.url=$(h.url),void 0===h.id&&(h.id=qa.setupOptions.idPrefix+Ta++),h.id.toString().charAt(0).match(/^[0-9]$/)&&qa._wD(e+O("badID",h.id),2),qa._wD(e+h.id+(h.url?" ("+h.url+")":""),1),W(h.id,!0))return qa._wD(e+h.id+" exists",1),qa.sounds[h.id];if(ba(h))i=d(),qa._wD(h.id+": Using HTML5"),i._setup_html5(h);else{if(qa.html5Only)return qa._wD(h.id+": No HTML5 support for this sound, and no Flash. Exiting."),d();if(qa.html5.usingFlash&&h.url&&h.url.match(/data\:/i))return qa._wD(h.id+": data: URIs not supported via Flash. Exiting."),d();l>8&&(null===h.isMovieStar&&(h.isMovieStar=!!(h.serverURL||(h.type?h.type.match(kb):!1)||h.url&&h.url.match(mb))),h.isMovieStar&&(qa._wD(e+"using MovieStar handling"),h.loops>1&&n("noNSLoop"))),h=U(h,e),i=d(),8===l?sa._createSound(h.id,h.loops||1,h.usePolicyFile):(sa._createSound(h.id,h.url,h.usePeakData,h.useWaveformData,h.useEQData,h.isMovieStar,h.isMovieStar?h.bufferTime:!1,h.loops||1,h.serverURL,h.duration||null,h.autoPlay,!0,h.autoLoad,h.usePolicyFile),h.serverURL||(i.connected=!0,h.onconnect&&h.onconnect.apply(i))),h.serverURL||!h.autoLoad&&!h.autoPlay||i.load(h)}return!h.serverURL&&h.autoPlay&&i.play(),i},this.destroySound=function(a,b){if(!W(a))return!1;var c,d=qa.sounds[a];for(d._iO={},d.stop(),d.unload(),c=0;c<qa.soundIDs.length;c++)if(qa.soundIDs[c]===a){qa.soundIDs.splice(c,1);break}return b||d.destruct(!0),d=null,delete qa.sounds[a],!0},this.load=function(a,b){return W(a)?qa.sounds[a].load(b):!1},this.unload=function(a){return W(a)?qa.sounds[a].unload():!1},this.onPosition=function(a,b,c,d){return W(a)?qa.sounds[a].onposition(b,c,d):!1},this.onposition=this.onPosition,this.clearOnPosition=function(a,b,c){return W(a)?qa.sounds[a].clearOnPosition(b,c):!1},this.play=function(a,b){var c=null,d=b&&!(b instanceof Object);if(!Da||!qa.ok())return V(ta+".play(): "+O(Da?"notOK":"notReady")),!1;if(W(a,d))d&&(b={url:b});else{if(!d)return!1;d&&(b={url:b}),b&&b.url&&(qa._wD(ta+'.play(): Attempting to create "'+a+'"',1),b.id=a,c=qa.createSound(b).play())}return null===c&&(c=qa.sounds[a].play(b)),c},this.start=this.play,this.setPosition=function(a,b){return W(a)?qa.sounds[a].setPosition(b):!1},this.stop=function(a){return W(a)?(qa._wD(ta+".stop("+a+")",1),qa.sounds[a].stop()):!1},this.stopAll=function(){var a;qa._wD(ta+".stopAll()",1);for(a in qa.sounds)qa.sounds.hasOwnProperty(a)&&qa.sounds[a].stop()},this.pause=function(a){return W(a)?qa.sounds[a].pause():!1},this.pauseAll=function(){var a;for(a=qa.soundIDs.length-1;a>=0;a--)qa.sounds[qa.soundIDs[a]].pause()},this.resume=function(a){return W(a)?qa.sounds[a].resume():!1},this.resumeAll=function(){var a;for(a=qa.soundIDs.length-1;a>=0;a--)qa.sounds[qa.soundIDs[a]].resume()},this.togglePause=function(a){return W(a)?qa.sounds[a].togglePause():!1},this.setPan=function(a,b){return W(a)?qa.sounds[a].setPan(b):!1},this.setVolume=function(a,b){return W(a)?qa.sounds[a].setVolume(b):!1},this.mute=function(a){var b=0;if(a instanceof String&&(a=null),a)return W(a)?(qa._wD(ta+'.mute(): Muting "'+a+'"'),qa.sounds[a].mute()):!1;for(qa._wD(ta+".mute(): Muting all sounds"),b=qa.soundIDs.length-1;b>=0;b--)qa.sounds[qa.soundIDs[b]].mute();return qa.muted=!0,!0},this.muteAll=function(){qa.mute()},this.unmute=function(a){var b;if(a instanceof String&&(a=null),a)return W(a)?(qa._wD(ta+'.unmute(): Unmuting "'+a+'"'),qa.sounds[a].unmute()):!1;for(qa._wD(ta+".unmute(): Unmuting all sounds"),b=qa.soundIDs.length-1;b>=0;b--)qa.sounds[qa.soundIDs[b]].unmute();return qa.muted=!1,!0},this.unmuteAll=function(){qa.unmute()},this.toggleMute=function(a){return W(a)?qa.sounds[a].toggleMute():!1},this.getMemoryUse=function(){var a=0;return sa&&8!==l&&(a=parseInt(sa._getMemoryUse(),10)),a},this.disable=function(c){var d;if(c===b&&(c=!1),Ea)return!1;for(Ea=!0,n("shutdown",1),d=qa.soundIDs.length-1;d>=0;d--)L(qa.sounds[qa.soundIDs[d]]);return o(c),ha.remove(a,"load",u),!0},this.canPlayMIME=function(a){var b;return qa.hasHTML5&&(b=ca({type:a})),!b&&Qa&&(b=a&&qa.ok()?!!((l>8?a.match(kb):null)||a.match(qa.mimePattern)):null),b},this.canPlayURL=function(a){var b;return qa.hasHTML5&&(b=ca({url:a})),!b&&Qa&&(b=a&&qa.ok()?!!a.match(qa.filePattern):null),b},this.canPlayLink=function(a){return a.type!==b&&a.type&&qa.canPlayMIME(a.type)?!0:qa.canPlayURL(a.href)},this.getSoundById=function(a,b){if(!a)return null;var c=qa.sounds[a];return c||b||qa._wD(ta+'.getSoundById(): Sound "'+a+'" not found.',2),c},this.onready=function(b,c){var d="onready",e=!1;if("function"!=typeof b)throw O("needFunction",d);return Da&&qa._wD(O("queue",d)),c||(c=a),s(d,b,c),t(),e=!0,e},this.ontimeout=function(b,c){var d="ontimeout",e=!1;if("function"!=typeof b)throw O("needFunction",d);return Da&&qa._wD(O("queue",d)),c||(c=a),s(d,b,c),t({type:d}),e=!0,e},this._writeDebug=function(a,c){var d,e,f="soundmanager-debug";return qa.debugMode?ab&&qa.useConsole&&(c&&"object"==typeof c?console.log(a,c):Ha[c]!==b?console[Ha[c]](a):console.log(a),qa.consoleOnly)?!0:(d=h(f))?(e=ya.createElement("div"),++Ga%2===0&&(e.className="sm2-alt"),c=c===b?0:parseInt(c,10),e.appendChild(ya.createTextNode(a)),c&&(c>=2&&(e.style.fontWeight="bold"),3===c&&(e.style.color="#ff3333")),d.insertBefore(e,d.firstChild),d=null,!0):!1:!1},-1!==xa.indexOf("sm2-debug=alert")&&(this._writeDebug=function(b){a.alert(b)}),this._wD=this._writeDebug,this._debug=function(){var a,b;for(n("currentObj",1),a=0,b=qa.soundIDs.length;b>a;a++)qa.sounds[qa.soundIDs[a]]._debug()},this.reboot=function(b,c){qa.soundIDs.length&&qa._wD("Destroying "+qa.soundIDs.length+" SMSound object"+(1!==qa.soundIDs.length?"s":"")+"...");var d,e,f;for(d=qa.soundIDs.length-1;d>=0;d--)qa.sounds[qa.soundIDs[d]].destruct();if(sa)try{Wa&&(Ka=sa.innerHTML),Ja=sa.parentNode.removeChild(sa)}catch(g){n("badRemove",2)}if(Ka=Ja=Qa=sa=null,qa.enabled=F=Da=La=Ma=Ba=Ca=Ea=Sa=qa.swfLoaded=!1,qa.soundIDs=[],qa.sounds={},Ta=0,b)za=[];else for(d in za)if(za.hasOwnProperty(d))for(e=0,f=za[d].length;f>e;e++)za[d][e].fired=!1;return c||qa._wD(ta+": Rebooting..."),qa.html5={usingFlash:null},qa.flash={},qa.html5Only=!1,qa.ignoreFlash=!1,a.setTimeout(function(){C(),c||qa.beginDelayedInit()},20),qa},this.reset=function(){return n("reset"),qa.reboot(!0,!0)},this.getMoviePercent=function(){return sa&&"PercentLoaded"in sa?sa.PercentLoaded():null},this.beginDelayedInit=function(){Fa=!0,D(),setTimeout(function(){return Ma?!1:(H(),B(),Ma=!0,!0)},20),v()},this.destruct=function(){qa._wD(ta+".destruct()"),qa.disable(!0)},g=function(a){var c,d,e,f,g,h,i,j,k,o,q=this,r=!1,s=[],t=0,u=null;k={duration:null,time:null},this.id=a.id,this.sID=this.id,this.url=a.url,this.options=p(a),this.instanceOptions=this.options,this._iO=this.instanceOptions,this.pan=this.options.pan,this.volume=this.options.volume,this.isHTML5=!1,this._a=null,o=this.url?!1:!0,this.id3={},this._debug=function(){qa._wD(q.id+": Merged options:",q.options)},this.load=function(a){var c,d=null;if(a!==b?q._iO=p(a,q.options):(a=q.options,q._iO=a,u&&u!==q.url&&(n("manURL"),q._iO.url=q.url,q.url=null)),q._iO.url||(q._iO.url=q.url),q._iO.url=$(q._iO.url),q.instanceOptions=q._iO,c=q._iO,qa._wD(q.id+": load ("+c.url+")"),!c.url&&!q.url)return qa._wD(q.id+": load(): url is unassigned. Exiting.",2),q;if(q.isHTML5||8!==l||q.url||c.autoPlay||qa._wD(q.id+": Flash 8 load() limitation: Wait for onload() before calling play().",1),c.url===q.url&&0!==q.readyState&&2!==q.readyState)return n("onURL",1),3===q.readyState&&c.onload&&pa(q,function(){c.onload.apply(q,[!!q.duration])}),q;if(q.loaded=!1,q.readyState=1,q.playState=0,q.id3={},ba(c))d=q._setup_html5(c),d._called_load?qa._wD(q.id+": Ignoring request to load again"):(q._html5_canplay=!1,q.url!==c.url&&(qa._wD(n("manURL")+": "+c.url),q._a.src=c.url,q.setPosition(0)),q._a.autobuffer="auto",q._a.preload="auto",q._a._called_load=!0);else{if(qa.html5Only)return qa._wD(q.id+": No flash support. Exiting."),q;if(q._iO.url&&q._iO.url.match(/data\:/i))return qa._wD(q.id+": data: URIs not supported via Flash. Exiting."),q;try{q.isHTML5=!1,q._iO=U(T(c)),q._iO.autoPlay&&(q._iO.position||q._iO.from)&&(qa._wD(q.id+": Disabling autoPlay because of non-zero offset case"),q._iO.autoPlay=!1),c=q._iO,8===l?sa._load(q.id,c.url,c.stream,c.autoPlay,c.usePolicyFile):sa._load(q.id,c.url,!!c.stream,!!c.autoPlay,c.loops||1,!!c.autoLoad,c.usePolicyFile)}catch(e){n("smError",2),m("onload",!1),I({type:"SMSOUND_LOAD_JS_EXCEPTION",fatal:!0})}}return q.url=c.url,q},this.unload=function(){return 0!==q.readyState&&(qa._wD(q.id+": unload()"),q.isHTML5?(f(),q._a&&(q._a.pause(),u=ea(q._a))):8===l?sa._unload(q.id,gb):sa._unload(q.id),c()),q},this.destruct=function(a){qa._wD(q.id+": Destruct"),q.isHTML5?(f(),q._a&&(q._a.pause(),ea(q._a),Sa||e(),q._a._s=null,q._a=null)):(q._iO.onfailure=null,sa._destroySound(q.id)),a||qa.destroySound(q.id,!0)},this.play=function(a,c){var d,e,f,i,k,m,n,s=!0,t=null;if(d=q.id+": play(): ",c=c===b?!0:c,a||(a={}),q.url&&(q._iO.url=q.url),q._iO=p(q._iO,q.options),q._iO=p(a,q._iO),q._iO.url=$(q._iO.url),q.instanceOptions=q._iO,!q.isHTML5&&q._iO.serverURL&&!q.connected)return q.getAutoPlay()||(qa._wD(d+" Netstream not connected yet - setting autoPlay"),q.setAutoPlay(!0)),q;if(ba(q._iO)&&(q._setup_html5(q._iO),g()),1!==q.playState||q.paused||(e=q._iO.multiShot,e?qa._wD(d+"Already playing (multi-shot)",1):(qa._wD(d+"Already playing (one-shot)",1),q.isHTML5&&q.setPosition(q._iO.position),t=q)),null!==t)return t;if(a.url&&a.url!==q.url&&(q.readyState||q.isHTML5||8!==l||!o?q.load(q._iO):o=!1),q.loaded?qa._wD(d.substr(0,d.lastIndexOf(":"))):0===q.readyState?(qa._wD(d+"Attempting to load"),q.isHTML5||qa.html5Only?q.isHTML5?q.load(q._iO):(qa._wD(d+"Unsupported type. Exiting."),t=q):(q._iO.autoPlay=!0,q.load(q._iO)),q.instanceOptions=q._iO):2===q.readyState?(qa._wD(d+"Could not load - exiting",2),t=q):qa._wD(d+"Loading - attempting to play..."),null!==t)return t;if(!q.isHTML5&&9===l&&q.position>0&&q.position===q.duration&&(qa._wD(d+"Sound at end, resetting to position:0"),a.position=0),q.paused&&q.position>=0&&(!q._iO.serverURL||q.position>0))qa._wD(d+"Resuming from paused state",1),q.resume();else{if(q._iO=p(a,q._iO),(!q.isHTML5&&null!==q._iO.position&&q._iO.position>0||null!==q._iO.from&&q._iO.from>0||null!==q._iO.to)&&0===q.instanceCount&&0===q.playState&&!q._iO.serverURL){if(i=function(){q._iO=p(a,q._iO),q.play(q._iO)},q.isHTML5&&!q._html5_canplay?(qa._wD(d+"Beginning load for non-zero offset case"),q.load({_oncanplay:i}),t=!1):q.isHTML5||q.loaded||q.readyState&&2===q.readyState||(qa._wD(d+"Preloading for non-zero offset case"),q.load({onload:i}),t=!1),null!==t)return t;q._iO=j()}(!q.instanceCount||q._iO.multiShotEvents||q.isHTML5&&q._iO.multiShot&&!Sa||!q.isHTML5&&l>8&&!q.getAutoPlay())&&q.instanceCount++,q._iO.onposition&&0===q.playState&&h(q),q.playState=1,q.paused=!1,q.position=q._iO.position===b||isNaN(q._iO.position)?0:q._iO.position,q.isHTML5||(q._iO=U(T(q._iO))),q._iO.onplay&&c&&(q._iO.onplay.apply(q),r=!0),q.setVolume(q._iO.volume,!0),q.setPan(q._iO.pan,!0),q.isHTML5?q.instanceCount<2?(g(),f=q._setup_html5(),q.setPosition(q._iO.position),f.play()):(qa._wD(q.id+": Cloning Audio() for instance #"+q.instanceCount+"..."),k=new Audio(q._iO.url),m=function(){ha.remove(k,"ended",m),q._onfinish(q),ea(k),k=null},n=function(){ha.remove(k,"canplay",n);try{k.currentTime=q._iO.position/fb}catch(a){V(q.id+": multiShot play() failed to apply position of "+q._iO.position/fb)}k.play()},ha.add(k,"ended",m),void 0!==q._iO.volume&&(k.volume=Math.max(0,Math.min(1,q._iO.volume/100))),q.muted&&(k.muted=!0),q._iO.position?ha.add(k,"canplay",n):k.play()):(s=sa._start(q.id,q._iO.loops||1,9===l?q.position:q.position/fb,q._iO.multiShot||!1),9!==l||s||(qa._wD(d+"No sound hardware, or 32-sound ceiling hit",2),q._iO.onplayerror&&q._iO.onplayerror.apply(q)))}return q},this.start=this.play,this.stop=function(a){var b,c=q._iO;return 1===q.playState&&(qa._wD(q.id+": stop()"),q._onbufferchange(0),q._resetOnPosition(0),q.paused=!1,q.isHTML5||(q.playState=0),i(),c.to&&q.clearOnPosition(c.to),q.isHTML5?q._a&&(b=q.position,q.setPosition(0),q.position=b,q._a.pause(),q.playState=0,q._onTimer(),f()):(sa._stop(q.id,a),c.serverURL&&q.unload()),q.instanceCount=0,q._iO={},c.onstop&&c.onstop.apply(q)),q},this.setAutoPlay=function(a){qa._wD(q.id+": Autoplay turned "+(a?"on":"off")),q._iO.autoPlay=a,q.isHTML5||(sa._setAutoPlay(q.id,a),a&&(q.instanceCount||1!==q.readyState||(q.instanceCount++,qa._wD(q.id+": Incremented instance count to "+q.instanceCount))))},this.getAutoPlay=function(){return q._iO.autoPlay},this.setPosition=function(a){a===b&&(a=0);var c,d,e=q.isHTML5?Math.max(a,0):Math.min(q.duration||q._iO.duration,Math.max(a,0));if(q.position=e,d=q.position/fb,q._resetOnPosition(q.position),q._iO.position=e,q.isHTML5){if(q._a){if(q._html5_canplay){if(q._a.currentTime!==d){qa._wD(q.id+": setPosition("+d+")");try{q._a.currentTime=d,(0===q.playState||q.paused)&&q._a.pause()}catch(f){qa._wD(q.id+": setPosition("+d+") failed: "+f.message,2)}}}else if(d)return qa._wD(q.id+": setPosition("+d+"): Cannot seek yet, sound not ready",2),q;q.paused&&q._onTimer(!0)}}else c=9===l?q.position:d,q.readyState&&2!==q.readyState&&sa._setPosition(q.id,c,q.paused||!q.playState,q._iO.multiShot);return q},this.pause=function(a){return q.paused||0===q.playState&&1!==q.readyState?q:(qa._wD(q.id+": pause()"),q.paused=!0,q.isHTML5?(q._setup_html5().pause(),f()):(a||a===b)&&sa._pause(q.id,q._iO.multiShot),q._iO.onpause&&q._iO.onpause.apply(q),q)},this.resume=function(){var a=q._iO;return q.paused?(qa._wD(q.id+": resume()"),q.paused=!1,q.playState=1,q.isHTML5?(q._setup_html5().play(),g()):(a.isMovieStar&&!a.serverURL&&q.setPosition(q.position),sa._pause(q.id,a.multiShot)),!r&&a.onplay?(a.onplay.apply(q),r=!0):a.onresume&&a.onresume.apply(q),q):q},this.togglePause=function(){return qa._wD(q.id+": togglePause()"),0===q.playState?(q.play({position:9!==l||q.isHTML5?q.position/fb:q.position}),q):(q.paused?q.resume():q.pause(),q)},this.setPan=function(a,c){return a===b&&(a=0),c===b&&(c=!1),q.isHTML5||sa._setPan(q.id,a),q._iO.pan=a,c||(q.pan=a,q.options.pan=a),q},this.setVolume=function(a,c){return a===b&&(a=100),c===b&&(c=!1),q.isHTML5?q._a&&(qa.muted&&!q.muted&&(q.muted=!0,q._a.muted=!0),q._a.volume=Math.max(0,Math.min(1,a/100))):sa._setVolume(q.id,qa.muted&&!q.muted||q.muted?0:a),q._iO.volume=a,c||(q.volume=a,q.options.volume=a),q},this.mute=function(){return q.muted=!0,q.isHTML5?q._a&&(q._a.muted=!0):sa._setVolume(q.id,0),q},this.unmute=function(){q.muted=!1;var a=q._iO.volume!==b;return q.isHTML5?q._a&&(q._a.muted=!1):sa._setVolume(q.id,a?q._iO.volume:q.options.volume),q},this.toggleMute=function(){return q.muted?q.unmute():q.mute()},this.onPosition=function(a,c,d){return s.push({position:parseInt(a,10),method:c,scope:d!==b?d:q,fired:!1}),q},this.onposition=this.onPosition,this.clearOnPosition=function(a,b){var c;if(a=parseInt(a,10),isNaN(a))return!1;for(c=0;c<s.length;c++)a===s[c].position&&(b&&b!==s[c].method||(s[c].fired&&t--,s.splice(c,1)))},this._processOnPosition=function(){var a,b,c=s.length;if(!c||!q.playState||t>=c)return!1;for(a=c-1;a>=0;a--)b=s[a],!b.fired&&q.position>=b.position&&(b.fired=!0,t++,b.method.apply(b.scope,[b.position]),c=s.length);return!0},this._resetOnPosition=function(a){var b,c,d=s.length;if(!d)return!1;for(b=d-1;b>=0;b--)c=s[b],c.fired&&a<=c.position&&(c.fired=!1,t--);return!0},j=function(){var a,b,c=q._iO,d=c.from,e=c.to;return b=function(){qa._wD(q.id+': "To" time of '+e+" reached."),q.clearOnPosition(e,b),q.stop()},a=function(){qa._wD(q.id+': Playing "from" '+d),null===e||isNaN(e)||q.onPosition(e,b)},null===d||isNaN(d)||(c.position=d,c.multiShot=!1,a()),c},h=function(){var a,b=q._iO.onposition;if(b)for(a in b)b.hasOwnProperty(a)&&q.onPosition(parseInt(a,10),b[a])},i=function(){var a,b=q._iO.onposition;if(b)for(a in b)b.hasOwnProperty(a)&&q.clearOnPosition(parseInt(a,10))},g=function(){q.isHTML5&&X(q)},f=function(){q.isHTML5&&Y(q)},c=function(a){a||(s=[],t=0),r=!1,q._hasTimer=null,q._a=null,q._html5_canplay=!1,q.bytesLoaded=null,q.bytesTotal=null,q.duration=q._iO&&q._iO.duration?q._iO.duration:null,q.durationEstimate=null,q.buffered=[],q.eqData=[],q.eqData.left=[],q.eqData.right=[],q.failures=0,q.isBuffering=!1,q.instanceOptions={},q.instanceCount=0,q.loaded=!1,q.metadata={},q.readyState=0,q.muted=!1,q.paused=!1,q.peakData={left:0,right:0},q.waveformData={left:[],right:[]},q.playState=0,q.position=null,q.id3={}},c(),this._onTimer=function(a){var b,c,d=!1,e={};return q._hasTimer||a?(q._a&&(a||(q.playState>0||1===q.readyState)&&!q.paused)&&(b=q._get_html5_duration(),b!==k.duration&&(k.duration=b,q.duration=b,d=!0),q.durationEstimate=q.duration,c=q._a.currentTime*fb||0,c!==k.time&&(k.time=c,d=!0),(d||a)&&q._whileplaying(c,e,e,e,e)),d):void 0},this._get_html5_duration=function(){var a=q._iO,b=q._a&&q._a.duration?q._a.duration*fb:a&&a.duration?a.duration:null,c=b&&!isNaN(b)&&b!==1/0?b:null;return c},this._apply_loop=function(a,b){!a.loop&&b>1&&qa._wD("Note: Native HTML5 looping is infinite.",1),a.loop=b>1?"loop":""},this._setup_html5=function(a){var b,e=p(q._iO,a),f=Sa?ra:q._a,g=decodeURI(e.url);if(Sa?g===decodeURI(ia)&&(b=!0):g===decodeURI(u)&&(b=!0),f){if(f._s)if(Sa)f._s&&f._s.playState&&!b&&f._s.stop();else if(!Sa&&g===decodeURI(u))return q._apply_loop(f,e.loops),f;b||(u&&c(!1),f.src=e.url,q.url=e.url,u=e.url,ia=e.url,f._called_load=!1)}else e.autoLoad||e.autoPlay?(q._a=new Audio(e.url),q._a.load()):q._a=Za&&opera.version()<10?new Audio(null):new Audio,f=q._a,f._called_load=!1,Sa&&(ra=f);return q.isHTML5=!0,q._a=f,f._s=q,d(),q._apply_loop(f,e.loops),e.autoLoad||e.autoPlay?q.load():(f.autobuffer=!1,f.preload="auto"),f},d=function(){function a(a,b,c){return q._a?q._a.addEventListener(a,b,c||!1):null}if(q._a._added_events)return!1;var b;q._a._added_events=!0;for(b in ma)ma.hasOwnProperty(b)&&a(b,ma[b]);return!0},e=function(){function a(a,b,c){return q._a?q._a.removeEventListener(a,b,c||!1):null}var b;qa._wD(q.id+": Removing event listeners"),q._a._added_events=!1;for(b in ma)ma.hasOwnProperty(b)&&a(b,ma[b])},this._onload=function(a){var b,c=!!a||!q.isHTML5&&8===l&&q.duration;return b=q.id+": ",qa._wD(b+(c?"onload()":"Failed to load / invalid sound?"+(q.duration?" -":" Zero-length duration reported.")+" ("+q.url+")"),c?1:2),c||q.isHTML5||(qa.sandbox.noRemote===!0&&qa._wD(b+O("noNet"),1),qa.sandbox.noLocal===!0&&qa._wD(b+O("noLocal"),1)),q.loaded=c,q.readyState=c?3:2,q._onbufferchange(0),q._iO.onload&&pa(q,function(){q._iO.onload.apply(q,[c])}),!0},this._onbufferchange=function(a){return 0===q.playState?!1:a&&q.isBuffering||!a&&!q.isBuffering?!1:(q.isBuffering=1===a,q._iO.onbufferchange&&(qa._wD(q.id+": Buffer state change: "+a),q._iO.onbufferchange.apply(q,[a])),!0)},this._onsuspend=function(){return q._iO.onsuspend&&(qa._wD(q.id+": Playback suspended"),q._iO.onsuspend.apply(q)),!0},this._onfailure=function(a,b,c){q.failures++,qa._wD(q.id+": Failure ("+q.failures+"): "+a),q._iO.onfailure&&1===q.failures?q._iO.onfailure(a,b,c):qa._wD(q.id+": Ignoring failure")},this._onwarning=function(a,b,c){q._iO.onwarning&&q._iO.onwarning(a,b,c)},this._onfinish=function(){var a=q._iO.onfinish;q._onbufferchange(0),q._resetOnPosition(0),q.instanceCount&&(q.instanceCount--,q.instanceCount||(i(),q.playState=0,q.paused=!1,q.instanceCount=0,q.instanceOptions={},q._iO={},f(),q.isHTML5&&(q.position=0)),(!q.instanceCount||q._iO.multiShotEvents)&&a&&(qa._wD(q.id+": onfinish()"),pa(q,function(){a.apply(q)})))},this._whileloading=function(a,b,c,d){var e=q._iO;q.bytesLoaded=a,q.bytesTotal=b,q.duration=Math.floor(c),q.bufferLength=d,q.isHTML5||e.isMovieStar?q.durationEstimate=q.duration:e.duration?q.durationEstimate=q.duration>e.duration?q.duration:e.duration:q.durationEstimate=parseInt(q.bytesTotal/q.bytesLoaded*q.duration,10),q.isHTML5||(q.buffered=[{start:0,end:q.duration}]),(3!==q.readyState||q.isHTML5)&&e.whileloading&&e.whileloading.apply(q)},this._whileplaying=function(a,c,d,e,f){var g,h=q._iO;return isNaN(a)||null===a?!1:(q.position=Math.max(0,a),q._processOnPosition(),!q.isHTML5&&l>8&&(h.usePeakData&&c!==b&&c&&(q.peakData={left:c.leftPeak,right:c.rightPeak}),h.useWaveformData&&d!==b&&d&&(q.waveformData={left:d.split(","),right:e.split(",")}),h.useEQData&&f!==b&&f&&f.leftEQ&&(g=f.leftEQ.split(","),q.eqData=g,q.eqData.left=g,f.rightEQ!==b&&f.rightEQ&&(q.eqData.right=f.rightEQ.split(",")))),1===q.playState&&(q.isHTML5||8!==l||q.position||!q.isBuffering||q._onbufferchange(0),h.whileplaying&&h.whileplaying.apply(q)),!0)},this._oncaptiondata=function(a){qa._wD(q.id+": Caption data received."),q.captiondata=a,q._iO.oncaptiondata&&q._iO.oncaptiondata.apply(q,[a])},this._onmetadata=function(a,b){qa._wD(q.id+": Metadata received.");var c,d,e={};for(c=0,d=a.length;d>c;c++)e[a[c]]=b[c];q.metadata=e,console.log("updated metadata",q.metadata),q._iO.onmetadata&&q._iO.onmetadata.call(q,q.metadata)},this._onid3=function(a,b){qa._wD(q.id+": ID3 data received.");var c,d,e=[];for(c=0,d=a.length;d>c;c++)e[a[c]]=b[c];q.id3=p(q.id3,e),q._iO.onid3&&q._iO.onid3.apply(q)},this._onconnect=function(a){a=1===a,qa._wD(q.id+": "+(a?"Connected.":"Failed to connect? - "+q.url),a?1:2),q.connected=a,a&&(q.failures=0,W(q.id)&&(q.getAutoPlay()?q.play(b,q.getAutoPlay()):q._iO.autoLoad&&q.load()),q._iO.onconnect&&q._iO.onconnect.apply(q,[a]))},this._ondataerror=function(a){q.playState>0&&(qa._wD(q.id+": Data error: "+a),q._iO.ondataerror&&q._iO.ondataerror.apply(q))},this._debug()},G=function(){return ya.body||ya.getElementsByTagName("div")[0]},h=function(a){return ya.getElementById(a)},p=function(a,c){var d,e,f=a||{};d=c===b?qa.defaultOptions:c;for(e in d)d.hasOwnProperty(e)&&f[e]===b&&("object"!=typeof d[e]||null===d[e]?f[e]=d[e]:f[e]=p(f[e],d[e]));return f},pa=function(b,c){b.isHTML5||8!==l?c():a.setTimeout(c,0)},r={onready:1,ontimeout:1,defaultOptions:1,flash9Options:1,movieStarOptions:1},q=function(a,c){var d,e=!0,f=c!==b,g=qa.setupOptions,h=r;if(a===b){e=[];for(d in g)g.hasOwnProperty(d)&&e.push(d);for(d in h)h.hasOwnProperty(d)&&("object"==typeof qa[d]?e.push(d+": {...}"):qa[d]instanceof Function?e.push(d+": function() {...}"):e.push(d));return qa._wD(O("setup",e.join(", "))),!1}for(d in a)if(a.hasOwnProperty(d))if("object"!=typeof a[d]||null===a[d]||a[d]instanceof Array||a[d]instanceof RegExp)f&&h[c]!==b?qa[c][d]=a[d]:g[d]!==b?(qa.setupOptions[d]=a[d],qa[d]=a[d]):h[d]===b?(V(O(qa[d]===b?"setupUndef":"setupError",d),2),e=!1):qa[d]instanceof Function?qa[d].apply(qa,a[d]instanceof Array?a[d]:[a[d]]):qa[d]=a[d];else{if(h[d]!==b)return q(a[d],d);V(O(qa[d]===b?"setupUndef":"setupError",d),2),e=!1}return e},ha=function(){function b(a){var b=Ra.call(a),c=b.length;return f?(b[1]="on"+b[1],c>3&&b.pop()):3===c&&b.push(!1),b}function c(a,b){var c=a.shift(),d=[g[b]];f?c[d](a[0],a[1]):c[d].apply(c,a)}function d(){c(b(arguments),"add")}function e(){c(b(arguments),"remove")}var f=a.attachEvent,g={add:f?"attachEvent":"addEventListener",remove:f?"detachEvent":"removeEventListener"};return{add:d,remove:e}}(),ma={abort:f(function(){qa._wD(this._s.id+": abort")}),canplay:f(function(){var a,c=this._s;if(c._html5_canplay)return!0;if(c._html5_canplay=!0,qa._wD(c.id+": canplay"),c._onbufferchange(0),
-a=c._iO.position===b||isNaN(c._iO.position)?null:c._iO.position/fb,this.currentTime!==a){qa._wD(c.id+": canplay: Setting position to "+a);try{this.currentTime=a}catch(d){qa._wD(c.id+": canplay: Setting position of "+a+" failed: "+d.message,2)}}c._iO._oncanplay&&c._iO._oncanplay()}),canplaythrough:f(function(){var a=this._s;a.loaded||(a._onbufferchange(0),a._whileloading(a.bytesLoaded,a.bytesTotal,a._get_html5_duration()),a._onload(!0))}),durationchange:f(function(){var a,b=this._s;a=b._get_html5_duration(),isNaN(a)||a===b.duration||(qa._wD(this._s.id+": durationchange ("+a+")"+(b.duration?", previously "+b.duration:"")),b.durationEstimate=b.duration=a)}),ended:f(function(){var a=this._s;qa._wD(a.id+": ended"),a._onfinish()}),error:f(function(){qa._wD(this._s.id+": HTML5 error, code "+this.error.code),this._s._onload(!1)}),loadeddata:f(function(){var a=this._s;qa._wD(a.id+": loadeddata"),a._loaded||Ya||(a.duration=a._get_html5_duration())}),loadedmetadata:f(function(){qa._wD(this._s.id+": loadedmetadata")}),loadstart:f(function(){qa._wD(this._s.id+": loadstart"),this._s._onbufferchange(1)}),play:f(function(){this._s._onbufferchange(0)}),playing:f(function(){qa._wD(this._s.id+": playing "+String.fromCharCode(9835)),this._s._onbufferchange(0)}),progress:f(function(a){var b,c,d,e=this._s,f=0,g="progress"===a.type,h=a.target.buffered,i=a.loaded||0,j=a.total||1;if(e.buffered=[],h&&h.length){for(b=0,c=h.length;c>b;b++)e.buffered.push({start:h.start(b)*fb,end:h.end(b)*fb});if(f=(h.end(0)-h.start(0))*fb,i=Math.min(1,f/(a.target.duration*fb)),g&&h.length>1){for(d=[],c=h.length,b=0;c>b;b++)d.push(a.target.buffered.start(b)*fb+"-"+a.target.buffered.end(b)*fb);qa._wD(this._s.id+": progress, timeRanges: "+d.join(", "))}g&&!isNaN(i)&&qa._wD(this._s.id+": progress, "+Math.floor(100*i)+"% loaded")}isNaN(i)||(e._whileloading(i,j,e._get_html5_duration()),i&&j&&i===j&&ma.canplaythrough.call(this,a))}),ratechange:f(function(){qa._wD(this._s.id+": ratechange")}),suspend:f(function(a){var b=this._s;qa._wD(this._s.id+": suspend"),ma.progress.call(this,a),b._onsuspend()}),stalled:f(function(){qa._wD(this._s.id+": stalled")}),timeupdate:f(function(){this._s._onTimer()}),waiting:f(function(){var a=this._s;qa._wD(this._s.id+": waiting"),a._onbufferchange(1)})},ba=function(a){var b;return b=a&&(a.type||a.url||a.serverURL)?a.serverURL||a.type&&e(a.type)?!1:a.type?ca({type:a.type}):ca({url:a.url})||qa.html5Only||a.url.match(/data\:/i):!1},ea=function(a){var b;return a&&(b=Ya?gb:qa.html5.canPlayType("audio/wav")?hb:gb,a.src=b,void 0!==a._called_unload&&(a._called_load=!1)),Sa&&(ia=null),b},ca=function(a){if(!qa.useHTML5Audio||!qa.hasHTML5)return!1;var c,d,f,g,h=a.url||null,i=a.type||null,j=qa.audioFormats;if(i&&qa.html5[i]!==b)return qa.html5[i]&&!e(i);if(!da){da=[];for(g in j)j.hasOwnProperty(g)&&(da.push(g),j[g].related&&(da=da.concat(j[g].related)));da=new RegExp("\\.("+da.join("|")+")(\\?.*)?$","i")}return f=h?h.toLowerCase().match(da):null,f&&f.length?f=f[1]:i?(d=i.indexOf(";"),f=(-1!==d?i.substr(0,d):i).substr(6)):c=!1,f&&qa.html5[f]!==b?c=qa.html5[f]&&!e(f):(i="audio/"+f,c=qa.html5.canPlayType({type:i}),qa.html5[f]=c,c=c&&qa.html5[i]&&!e(i)),c},ga=function(){function a(a){var b,c,d=!1,e=!1;if(!g||"function"!=typeof g.canPlayType)return d;if(a instanceof Array){for(f=0,c=a.length;c>f;f++)(qa.html5[a[f]]||g.canPlayType(a[f]).match(qa.html5Test))&&(e=!0,qa.html5[a[f]]=!0,qa.flash[a[f]]=!!a[f].match(eb));d=e}else b=g&&"function"==typeof g.canPlayType?g.canPlayType(a):!1,d=!(!b||!b.match(qa.html5Test));return d}if(!qa.useHTML5Audio||!qa.hasHTML5)return qa.html5.usingFlash=!0,Qa=!0,!1;var c,d,e,f,g=Audio!==b?Za&&opera.version()<10?new Audio(null):new Audio:null,h={};e=qa.audioFormats;for(c in e)if(e.hasOwnProperty(c)&&(d="audio/"+c,h[c]=a(e[c].type),h[d]=h[c],c.match(eb)?(qa.flash[c]=!0,qa.flash[d]=!0):(qa.flash[c]=!1,qa.flash[d]=!1),e[c]&&e[c].related))for(f=e[c].related.length-1;f>=0;f--)h["audio/"+e[c].related[f]]=h[c],qa.html5[e[c].related[f]]=h[c],qa.flash[e[c].related[f]]=h[c];return h.canPlayType=g?a:null,qa.html5=p(qa.html5,h),qa.html5.usingFlash=aa(),Qa=qa.html5.usingFlash,!0},A={notReady:"Unavailable - wait until onready() has fired.",notOK:"Audio support is not available.",domError:ta+"exception caught while appending SWF to DOM.",spcWmode:"Removing wmode, preventing known SWF loading issue(s)",swf404:ua+"Verify that %s is a valid path.",tryDebug:"Try "+ta+".debugFlash = true for more security details (output goes to SWF.)",checkSWF:"See SWF output for more debug info.",localFail:ua+"Non-HTTP page ("+ya.location.protocol+" URL?) Review Flash player security settings for this special case:\nhttp://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html\nMay need to add/allow path, e.g. c:/sm2/ or /users/me/sm2/",waitFocus:ua+"Special case: Waiting for SWF to load with window focus...",waitForever:ua+"Waiting indefinitely for Flash (will recover if unblocked)...",waitSWF:ua+"Waiting for 100% SWF load...",needFunction:ua+"Function object expected for %s",badID:'Sound ID "%s" should be a string, starting with a non-numeric character',currentObj:ua+"_debug(): Current sound objects",waitOnload:ua+"Waiting for window.onload()",docLoaded:ua+"Document already loaded",onload:ua+"initComplete(): calling soundManager.onload()",onloadOK:ta+".onload() complete",didInit:ua+"init(): Already called?",secNote:"Flash security note: Network/internet URLs will not load due to security restrictions. Access can be configured via Flash Player Global Security Settings Page: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html",badRemove:ua+"Failed to remove Flash node.",shutdown:ta+".disable(): Shutting down",queue:ua+"Queueing %s handler",smError:"SMSound.load(): Exception: JS-Flash communication failed, or JS error.",fbTimeout:"No flash response, applying ."+R.swfTimedout+" CSS...",fbLoaded:"Flash loaded",fbHandler:ua+"flashBlockHandler()",manURL:"SMSound.load(): Using manually-assigned URL",onURL:ta+".load(): current URL already assigned.",badFV:ta+'.flashVersion must be 8 or 9. "%s" is invalid. Reverting to %s.',as2loop:"Note: Setting stream:false so looping can work (flash 8 limitation)",noNSLoop:"Note: Looping not implemented for MovieStar formats",needfl9:"Note: Switching to flash 9, required for MP4 formats.",mfTimeout:"Setting flashLoadTimeout = 0 (infinite) for off-screen, mobile flash case",needFlash:ua+"Fatal error: Flash is needed to play some required formats, but is not available.",gotFocus:ua+"Got window focus.",policy:"Enabling usePolicyFile for data access",setup:ta+".setup(): allowed parameters: %s",setupError:ta+'.setup(): "%s" cannot be assigned with this method.',setupUndef:ta+'.setup(): Could not find option "%s"',setupLate:ta+".setup(): url, flashVersion and html5Test property changes will not take effect until reboot().",noURL:ua+"Flash URL required. Call soundManager.setup({url:...}) to get started.",sm2Loaded:"SoundManager 2: Ready. "+String.fromCharCode(10003),reset:ta+".reset(): Removing event callbacks",mobileUA:"Mobile UA detected, preferring HTML5 by default.",globalHTML5:"Using singleton HTML5 Audio() pattern for this device."},O=function(){var a,b,c,d,e;if(a=Ra.call(arguments),d=a.shift(),e=A&&A[d]?A[d]:"",e&&a&&a.length)for(b=0,c=a.length;c>b;b++)e=e.replace("%s",a[b]);return e},T=function(a){return 8===l&&a.loops>1&&a.stream&&(n("as2loop"),a.stream=!1),a},U=function(a,b){return a&&!a.usePolicyFile&&(a.onid3||a.usePeakData||a.useWaveformData||a.useEQData)&&(qa._wD((b||"")+O("policy")),a.usePolicyFile=!0),a},V=function(a){ab&&console.warn!==b?console.warn(a):qa._wD(a)},i=function(){return!1},L=function(a){var b;for(b in a)a.hasOwnProperty(b)&&"function"==typeof a[b]&&(a[b]=i);b=null},M=function(a){a===b&&(a=!1),(Ea||a)&&qa.disable(a)},N=function(a){var b,c=null;if(a)if(a.match(/\.swf(\?.*)?$/i)){if(c=a.substr(a.toLowerCase().lastIndexOf(".swf?")+4))return a}else a.lastIndexOf("/")!==a.length-1&&(a+="/");return b=(a&&-1!==a.lastIndexOf("/")?a.substr(0,a.lastIndexOf("/")+1):"./")+qa.movieURL,qa.noSWFCache&&(b+="?ts="+(new Date).getTime()),b},y=function(){l=parseInt(qa.flashVersion,10),8!==l&&9!==l&&(qa._wD(O("badFV",l,Ia)),qa.flashVersion=l=Ia);var a=qa.debugMode||qa.debugFlash?"_debug.swf":".swf";qa.useHTML5Audio&&!qa.html5Only&&qa.audioFormats.mp4.required&&9>l&&(qa._wD(O("needfl9")),qa.flashVersion=l=9),qa.version=qa.versionNumber+(qa.html5Only?" (HTML5-only mode)":9===l?" (AS3/Flash 9)":" (AS2/Flash 8)"),l>8?(qa.defaultOptions=p(qa.defaultOptions,qa.flash9Options),qa.features.buffering=!0,qa.defaultOptions=p(qa.defaultOptions,qa.movieStarOptions),qa.filePatterns.flash9=new RegExp("\\.(mp3|"+lb.join("|")+")(\\?.*)?$","i"),qa.features.movieStar=!0):qa.features.movieStar=!1,qa.filePattern=qa.filePatterns[8!==l?"flash9":"flash8"],qa.movieURL=(8===l?"soundmanager2.swf":"soundmanager2_flash9.swf").replace(".swf",a),qa.features.peakData=qa.features.waveformData=qa.features.eqData=l>8},J=function(a,b){return sa?void sa._setPolling(a,b):!1},K=function(){if(qa.debugURLParam.test(xa)&&(qa.debugMode=!0),h(qa.debugID))return!1;var a,b,c,d,e;if(qa.debugMode&&!h(qa.debugID)&&(!ab||!qa.useConsole||!qa.consoleOnly)){a=ya.createElement("div"),a.id=qa.debugID+"-toggle",d={position:"fixed",bottom:"0px",right:"0px",width:"1.2em",height:"1.2em",lineHeight:"1.2em",margin:"2px",textAlign:"center",border:"1px solid #999",cursor:"pointer",background:"#fff",color:"#333",zIndex:10001},a.appendChild(ya.createTextNode("-")),a.onclick=S,a.title="Toggle SM2 debug console",wa.match(/msie 6/i)&&(a.style.position="absolute",a.style.cursor="hand");for(e in d)d.hasOwnProperty(e)&&(a.style[e]=d[e]);if(b=ya.createElement("div"),b.id=qa.debugID,b.style.display=qa.debugMode?"block":"none",qa.debugMode&&!h(a.id)){try{c=G(),c.appendChild(a)}catch(f){throw new Error(O("domError")+" \n"+f.toString())}c.appendChild(b)}}c=null},W=this.getSoundById,n=function(a,b){return a?qa._wD(O(a),b):""},S=function(){var a=h(qa.debugID),b=h(qa.debugID+"-toggle");return a?(Aa?(b.innerHTML="+",a.style.display="none"):(b.innerHTML="-",a.style.display="block"),void(Aa=!Aa)):!1},m=function(c,d,e){if(a.sm2Debugger!==b)try{sm2Debugger.handleEvent(c,d,e)}catch(f){return!1}return!0},Q=function(){var a=[];return qa.debugMode&&a.push(R.sm2Debug),qa.debugFlash&&a.push(R.flashDebug),qa.useHighPerformance&&a.push(R.highPerf),a.join(" ")},P=function(){var a=O("fbHandler"),b=qa.getMoviePercent(),c=R,d={type:"FLASHBLOCK"};return qa.html5Only?!1:void(qa.ok()?(qa.didFlashBlock&&qa._wD(a+": Unblocked"),qa.oMC&&(qa.oMC.className=[Q(),c.swfDefault,c.swfLoaded+(qa.didFlashBlock?" "+c.swfUnblocked:"")].join(" "))):(Qa&&(qa.oMC.className=Q()+" "+c.swfDefault+" "+(null===b?c.swfTimedout:c.swfError),qa._wD(a+": "+O("fbTimeout")+(b?" ("+O("fbLoaded")+")":""))),qa.didFlashBlock=!0,t({type:"ontimeout",ignoreInit:!0,error:d}),I(d)))},s=function(a,c,d){za[a]===b&&(za[a]=[]),za[a].push({method:c,scope:d||null,fired:!1})},t=function(a){if(a||(a={type:qa.ok()?"onready":"ontimeout"}),!Da&&a&&!a.ignoreInit)return!1;if("ontimeout"===a.type&&(qa.ok()||Ea&&!a.ignoreInit))return!1;var b,c,d={success:a&&a.ignoreInit?qa.ok():!Ea},e=a&&a.type?za[a.type]||[]:[],f=[],g=[d],h=Qa&&!qa.ok();for(a.error&&(g[0].error=a.error),b=0,c=e.length;c>b;b++)e[b].fired!==!0&&f.push(e[b]);if(f.length)for(b=0,c=f.length;c>b;b++)f[b].scope?f[b].method.apply(f[b].scope,g):f[b].method.apply(this,g),h||(f[b].fired=!0);return!0},u=function(){a.setTimeout(function(){qa.useFlashBlock&&P(),t(),"function"==typeof qa.onload&&(n("onload",1),qa.onload.apply(a),n("onloadOK",1)),qa.waitForWindowLoad&&ha.add(a,"load",u)},1)},ka=function(){if(ja!==b)return ja;var c,d,e,f=!1,g=navigator,h=g.plugins,i=a.ActiveXObject;if(h&&h.length)d="application/x-shockwave-flash",e=g.mimeTypes,e&&e[d]&&e[d].enabledPlugin&&e[d].enabledPlugin.description&&(f=!0);else if(i!==b&&!wa.match(/MSAppHost/i)){try{c=new i("ShockwaveFlash.ShockwaveFlash")}catch(j){c=null}f=!!c,c=null}return ja=f,f},aa=function(){var a,b,c=qa.audioFormats,d=Ua&&!!wa.match(/os (1|2|3_0|3_1)\s/i);if(d?(qa.hasHTML5=!1,qa.html5Only=!0,qa.oMC&&(qa.oMC.style.display="none")):qa.useHTML5Audio&&(qa.html5&&qa.html5.canPlayType||(qa._wD("SoundManager: No HTML5 Audio() support detected."),qa.hasHTML5=!1),_a&&qa._wD(ua+"Note: Buggy HTML5 Audio in Safari on this OS X release, see https://bugs.webkit.org/show_bug.cgi?id=32159 - "+(ja?"will use flash fallback for MP3/MP4, if available":" would use flash fallback for MP3/MP4, but none detected."),1)),qa.useHTML5Audio&&qa.hasHTML5){_=!0;for(b in c)c.hasOwnProperty(b)&&c[b].required&&(qa.html5.canPlayType(c[b].type)?qa.preferFlash&&(qa.flash[b]||qa.flash[c[b].type])&&(a=!0):(_=!1,a=!0))}return qa.ignoreFlash&&(a=!1,_=!0),qa.html5Only=qa.hasHTML5&&qa.useHTML5Audio&&!a,!qa.html5Only},$=function(a){var b,c,d,e=0;if(a instanceof Array){for(b=0,c=a.length;c>b;b++)if(a[b]instanceof Object){if(qa.canPlayMIME(a[b].type)){e=b;break}}else if(qa.canPlayURL(a[b])){e=b;break}a[e].url&&(a[e]=a[e].url),d=a[e]}else d=a;return d},X=function(a){a._hasTimer||(a._hasTimer=!0,!$a&&qa.html5PollingInterval&&(null===Oa&&0===Na&&(Oa=setInterval(Z,qa.html5PollingInterval)),Na++))},Y=function(a){a._hasTimer&&(a._hasTimer=!1,!$a&&qa.html5PollingInterval&&Na--)},Z=function(){var a;if(null!==Oa&&!Na)return clearInterval(Oa),Oa=null,!1;for(a=qa.soundIDs.length-1;a>=0;a--)qa.sounds[qa.soundIDs[a]].isHTML5&&qa.sounds[qa.soundIDs[a]]._hasTimer&&qa.sounds[qa.soundIDs[a]]._onTimer()},I=function(c){c=c!==b?c:{},"function"==typeof qa.onerror&&qa.onerror.apply(a,[{type:c.type!==b?c.type:null}]),c.fatal!==b&&c.fatal&&qa.disable()},la=function(){if(!_a||!ka())return!1;var a,b,c=qa.audioFormats;for(b in c)if(c.hasOwnProperty(b)&&("mp3"===b||"mp4"===b)&&(qa._wD(ta+": Using flash fallback for "+b+" format"),qa.html5[b]=!1,c[b]&&c[b].related))for(a=c[b].related.length-1;a>=0;a--)qa.html5[c[b].related[a]]=!1},this._setSandboxType=function(a){var c=qa.sandbox;c.type=a,c.description=c.types[c.types[a]!==b?a:"unknown"],"localWithFile"===c.type?(c.noRemote=!0,c.noLocal=!1,n("secNote",2)):"localWithNetwork"===c.type?(c.noRemote=!1,c.noLocal=!0):"localTrusted"===c.type&&(c.noRemote=!1,c.noLocal=!1)},this._externalInterfaceOK=function(a){if(qa.swfLoaded)return!1;var b;return m("swf",!0),m("flashtojs",!0),qa.swfLoaded=!0,cb=!1,_a&&la(),a&&a.replace(/\+dev/i,"")===qa.versionNumber.replace(/\+dev/i,"")?void setTimeout(k,Wa?100:1):(b=ta+': Fatal: JavaScript file build "'+qa.versionNumber+'" does not match Flash SWF build "'+a+'" at '+qa.url+". Ensure both are up-to-date.",setTimeout(function(){throw new Error(b)},0),!1)},H=function(a,c){function d(){var a,b=[],c=[],d=" + ";a="SoundManager "+qa.version+(!qa.html5Only&&qa.useHTML5Audio?qa.hasHTML5?" + HTML5 audio":", no HTML5 audio support":""),qa.html5Only?qa.html5PollingInterval&&b.push("html5PollingInterval ("+qa.html5PollingInterval+"ms)"):(qa.preferFlash&&b.push("preferFlash"),qa.useHighPerformance&&b.push("useHighPerformance"),qa.flashPollingInterval&&b.push("flashPollingInterval ("+qa.flashPollingInterval+"ms)"),qa.html5PollingInterval&&b.push("html5PollingInterval ("+qa.html5PollingInterval+"ms)"),qa.wmode&&b.push("wmode ("+qa.wmode+")"),qa.debugFlash&&b.push("debugFlash"),qa.useFlashBlock&&b.push("flashBlock")),b.length&&(c=c.concat([b.join(d)])),qa._wD(a+(c.length?d+c.join(", "):""),1),na()}function e(a,b){return'<param name="'+a+'" value="'+b+'" />'}if(Ba&&Ca)return!1;if(qa.html5Only)return y(),d(),qa.oMC=h(qa.movieID),k(),Ba=!0,Ca=!0,!1;var f,g,i,j,l,m,n,o,p=c||qa.url,q=qa.altURL||p,r="JS/Flash audio component (SoundManager 2)",s=G(),t=Q(),u=null,v=ya.getElementsByTagName("html")[0];if(u=v&&v.dir&&v.dir.match(/rtl/i),a=a===b?qa.id:a,y(),qa.url=N(ib?p:q),c=qa.url,qa.wmode=!qa.wmode&&qa.useHighPerformance?"transparent":qa.wmode,null!==qa.wmode&&(wa.match(/msie 8/i)||!Wa&&!qa.useHighPerformance)&&navigator.platform.match(/win32|win64/i)&&(Pa.push(A.spcWmode),qa.wmode=null),f={name:a,id:a,src:c,quality:"high",allowScriptAccess:qa.allowScriptAccess,bgcolor:qa.bgColor,pluginspage:jb+"www.macromedia.com/go/getflashplayer",title:r,type:"application/x-shockwave-flash",wmode:qa.wmode,hasPriority:"true"},qa.debugFlash&&(f.FlashVars="debug=1"),qa.wmode||delete f.wmode,Wa)g=ya.createElement("div"),j=['<object id="'+a+'" data="'+c+'" type="'+f.type+'" title="'+f.title+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="'+jb+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0">',e("movie",c),e("AllowScriptAccess",qa.allowScriptAccess),e("quality",f.quality),qa.wmode?e("wmode",qa.wmode):"",e("bgcolor",qa.bgColor),e("hasPriority","true"),qa.debugFlash?e("FlashVars",f.FlashVars):"","</object>"].join("");else{g=ya.createElement("embed");for(i in f)f.hasOwnProperty(i)&&g.setAttribute(i,f[i])}if(K(),t=Q(),s=G())if(qa.oMC=h(qa.movieID)||ya.createElement("div"),qa.oMC.id)o=qa.oMC.className,qa.oMC.className=(o?o+" ":R.swfDefault)+(t?" "+t:""),qa.oMC.appendChild(g),Wa&&(l=qa.oMC.appendChild(ya.createElement("div")),l.className=R.swfBox,l.innerHTML=j),Ca=!0;else{if(qa.oMC.id=qa.movieID,qa.oMC.className=R.swfDefault+" "+t,m=null,l=null,qa.useFlashBlock||(qa.useHighPerformance?m={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"}:(m={position:"absolute",width:"6px",height:"6px",top:"-9999px",left:"-9999px"},u&&(m.left=Math.abs(parseInt(m.left,10))+"px"))),Xa&&(qa.oMC.style.zIndex=1e4),!qa.debugFlash)for(n in m)m.hasOwnProperty(n)&&(qa.oMC.style[n]=m[n]);try{Wa||qa.oMC.appendChild(g),s.appendChild(qa.oMC),Wa&&(l=qa.oMC.appendChild(ya.createElement("div")),l.className=R.swfBox,l.innerHTML=j),Ca=!0}catch(w){throw new Error(O("domError")+" \n"+w.toString())}}return Ba=!0,d(),!0},B=function(){return qa.html5Only?(H(),!1):sa?!1:qa.url?(sa=qa.getMovie(qa.id),sa||(Ja?(Wa?qa.oMC.innerHTML=Ka:qa.oMC.appendChild(Ja),Ja=null,Ba=!0):H(qa.id,qa.url),sa=qa.getMovie(qa.id)),"function"==typeof qa.oninitmovie&&setTimeout(qa.oninitmovie,1),oa(),!0):(n("noURL"),!1)},v=function(){setTimeout(w,1e3)},x=function(){a.setTimeout(function(){V(ua+"useFlashBlock is false, 100% HTML5 mode is possible. Rebooting with preferFlash: false..."),qa.setup({preferFlash:!1}).reboot(),qa.didFlashBlock=!0,qa.beginDelayedInit()},1)},w=function(){var b,c=!1;return qa.url?La?!1:(La=!0,ha.remove(a,"load",v),ja&&cb&&!bb?(n("waitFocus"),!1):(Da||(b=qa.getMoviePercent(),b>0&&100>b&&(c=!0)),void setTimeout(function(){return b=qa.getMoviePercent(),c?(La=!1,qa._wD(O("waitSWF")),a.setTimeout(v,1),!1):(Da||(qa._wD(ta+": No Flash response within expected time. Likely causes: "+(0===b?"SWF load failed, ":"")+"Flash blocked or JS-Flash security error."+(qa.debugFlash?" "+O("checkSWF"):""),2),!ib&&b&&(n("localFail",2),qa.debugFlash||n("tryDebug",2)),0===b&&qa._wD(O("swf404",qa.url),1),m("flashtojs",!1," (Check flash security or flash blockers)")),void(!Da&&db&&(null===b?qa.useFlashBlock||0===qa.flashLoadTimeout?(qa.useFlashBlock&&P(),n("waitForever")):!qa.useFlashBlock&&_?x():(n("waitForever"),t({type:"ontimeout",ignoreInit:!0,error:{type:"INIT_FLASHBLOCK"}})):0===qa.flashLoadTimeout?n("waitForever"):!qa.useFlashBlock&&_?x():M(!0))))},qa.flashLoadTimeout))):!1},z=function(){function b(){ha.remove(a,"focus",z)}return bb||!cb?(b(),!0):(db=!0,bb=!0,n("gotFocus"),La=!1,v(),b(),!0)},oa=function(){Pa.length&&(qa._wD("SoundManager 2: "+Pa.join(" "),1),Pa=[])},na=function(){oa();var a,b=[];if(qa.useHTML5Audio&&qa.hasHTML5){for(a in qa.audioFormats)qa.audioFormats.hasOwnProperty(a)&&b.push(a+" = "+qa.html5[a]+(!qa.html5[a]&&Qa&&qa.flash[a]?" (using flash)":qa.preferFlash&&qa.flash[a]&&Qa?" (preferring flash)":qa.html5[a]?"":" ("+(qa.audioFormats[a].required?"required, ":"")+"and no flash support)"));qa._wD("SoundManager 2 HTML5 support: "+b.join(", "),1)}},o=function(b){if(Da)return!1;if(qa.html5Only)return n("sm2Loaded",1),Da=!0,u(),m("onload",!0),!0;var c,d=qa.useFlashBlock&&qa.flashLoadTimeout&&!qa.getMoviePercent(),e=!0;return d||(Da=!0),c={type:!ja&&Qa?"NO_FLASH":"INIT_TIMEOUT"},qa._wD("SoundManager 2 "+(Ea?"failed to load":"loaded")+" ("+(Ea?"Flash security/load error":"OK")+") "+String.fromCharCode(Ea?10006:10003),Ea?2:1),Ea||b?(qa.useFlashBlock&&qa.oMC&&(qa.oMC.className=Q()+" "+(null===qa.getMoviePercent()?R.swfTimedout:R.swfError)),t({type:"ontimeout",error:c,ignoreInit:!0}),m("onload",!1),I(c),e=!1):m("onload",!0),Ea||(qa.waitForWindowLoad&&!Fa?(n("waitOnload"),ha.add(a,"load",u)):(qa.waitForWindowLoad&&Fa&&n("docLoaded"),u())),e},j=function(){var a,c=qa.setupOptions;for(a in c)c.hasOwnProperty(a)&&(qa[a]===b?qa[a]=c[a]:qa[a]!==c[a]&&(qa.setupOptions[a]=qa[a]))},k=function(){function b(){ha.remove(a,"load",qa.beginDelayedInit)}if(Da)return n("didInit"),!1;if(qa.html5Only)return Da||(b(),qa.enabled=!0,o()),!0;B();try{sa._externalInterfaceTest(!1),J(!0,qa.flashPollingInterval||(qa.useHighPerformance?10:50)),qa.debugMode||sa._disableDebug(),qa.enabled=!0,m("jstoflash",!0),qa.html5Only||ha.add(a,"unload",i)}catch(c){return qa._wD("js/flash exception: "+c.toString()),m("jstoflash",!1),I({type:"JS_TO_FLASH_EXCEPTION",fatal:!0}),M(!0),o(),!1}return o(),b(),!0},D=function(){return F?!1:(F=!0,j(),K(),function(){var a="sm2-usehtml5audio=",b="sm2-preferflash=",c=null,d=null,e=xa.toLowerCase();-1!==e.indexOf(a)&&(c="1"===e.charAt(e.indexOf(a)+a.length),ab&&console.log((c?"Enabling ":"Disabling ")+"useHTML5Audio via URL parameter"),qa.setup({useHTML5Audio:c})),-1!==e.indexOf(b)&&(d="1"===e.charAt(e.indexOf(b)+b.length),ab&&console.log((d?"Enabling ":"Disabling ")+"preferFlash via URL parameter"),qa.setup({preferFlash:d}))}(),!ja&&qa.hasHTML5&&(qa._wD("SoundManager 2: No Flash detected"+(qa.useHTML5Audio?". Trying HTML5-only mode.":", enabling HTML5."),1),qa.setup({useHTML5Audio:!0,preferFlash:!1})),ga(),!ja&&Qa&&(Pa.push(A.needFlash),qa.setup({flashLoadTimeout:1})),ya.removeEventListener&&ya.removeEventListener("DOMContentLoaded",D,!1),B(),!0)},fa=function(){return"complete"===ya.readyState&&(D(),ya.detachEvent("onreadystatechange",fa)),!0},E=function(){Fa=!0,D(),ha.remove(a,"load",E)},C=function(){$a&&((!qa.setupOptions.useHTML5Audio||qa.setupOptions.preferFlash)&&Pa.push(A.mobileUA),qa.setupOptions.useHTML5Audio=!0,qa.setupOptions.preferFlash=!1,(Ua||Va&&!wa.match(/android\s2\.3/i))&&(Pa.push(A.globalHTML5),Ua&&(qa.ignoreFlash=!0),Sa=!0))},C(),ka(),ha.add(a,"focus",z),ha.add(a,"load",v),ha.add(a,"load",E),ya.addEventListener?ya.addEventListener("DOMContentLoaded",D,!1):ya.attachEvent?ya.attachEvent("onreadystatechange",fa):(m("onload",!1),I({type:"NO_DOM2_EVENTS",fatal:!0}))}if(!a||!a.document)throw new Error("SoundManager requires a browser with window and document objects.");var d=null;void 0!==a.SM2_DEFER&&SM2_DEFER||(d=new c),"object"==typeof module&&module&&"object"==typeof module.exports?(a.soundManager=d,module.exports.SoundManager=c,module.exports.soundManager=d):"function"==typeof define&&define.amd?define("SoundManager",[],function(){return{SoundManager:c,soundManager:d}}):(a.SoundManager=c,a.soundManager=d)}(window),window.JST["apps/album/landing/tpl/landing.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("<h3>")),d(t.gettext("Recently added")),d(b('</h3>\n<div class="landing-section region-recently-added"></div>\n<h3>')),d(t.gettext("Recently played")),d(b('</h3>\n<div class="landing-section region-recently-played"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/album/show/tpl/album_with_songs.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="album album--with-songs">\n <div class="region-album-side">\n <div class="region-album-meta"></div>\n </div>\n <div class="region-album-content">\n <div class="region-album-songs"></div>\n </div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/album/show/tpl/details_meta.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="region-details-title">\n <h2><span class="title">')),d(this.label),d(b('</span> <span class="sub">')),d(this.year),d(b('</span></h2>\n</div>\n\n\n\n<div class="region-details-meta-below">\n\n <div class="artist"><a href="#music/artist/')),d(this.artistid),d(b('">')),d(this.artist),d(b("</a></div>\n\n ")),this.genre.length>0&&(d(b('\n <div class="album-genres">\n ')),d(b(helpers.url.filterLinks("music/albums","genre",this.genre))),d(b("\n </div>\n "))),d(b('\n\n <div class="description">')),d(this.description),d(b("</div>\n\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/artist/show/tpl/details_meta.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="region-details-title">\n <h2>')),d(this.label),d(b(' <span class="sub">')),d(this.formed),d(b('</span></h2>\n</div>\n\n\n<div class="region-details-meta-below">\n\n <div class="region-details-subtext">\n ')),this.genre.length>0&&(d(b('\n <div class="artist-genres">\n ')),d(b(helpers.url.filterLinks("music/artists","genre",this.genre))),d(b("\n </div>\n "))),d(b('\n </div>\n\n <div class="description">')),d(this.description),d(b("</div>\n\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/browser/list/tpl/back_button.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<i class="mdi thumb"></i><div class="title">')),d(t.gettext("Back")),d(b("</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/browser/list/tpl/file.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="thumb" style="background-image: url(\'')),d(this.thumbnail),d(b('\')"><div class="mdi play"></div></div>\n<div class="title" title="')),d(helpers.global.stripTags(this.label)),d(b('">')),d(b(this.label)),d(b('</div>\n<ul class="actions">\n <li class="menu dropdown">\n <i data-toggle="dropdown" class="mdi"></i>\n <ul class="dropdown-menu pull-right"></ul>\n </li>\n</ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/browser/list/tpl/folder_layout.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="folder-layout">\n <div class="loading-bar"><div class="inner"><span>')),d(t.gettext("Loading folder...")),d(b('</span></div></div>\n <div class="path"></div>\n <div class="folder-container">\n <div class="files">\n </div>\n <div class="folders-pane">\n <div class="back"></div>\n <div class="folders">\n <div class="intro">\n <h3><span class="mdi-navigation-arrow-back text-dim"></span> ')),d(t.gettext("Browse files and add-ons")),d(b("</h3>\n <p>")),d(t.gettext("This is where you can browse all Kodi content, not just what is in the library. Browse by source or add-on.")),d(b("</p>\n </div>\n </div>\n </div>\n </div>\n</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/browser/list/tpl/path.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="title">')),d(this.label),d(b("</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/browser/list/tpl/source.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="source source-')),d(this.media),d(b('">\n ')),d(this.label),d(b("\n</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/browser/list/tpl/source_set.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("<h3>")),d(this.label),d(b('</h3>\n<ul class="sources"></ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/cast/list/tpl/cast.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<a href="#')),d(this.origin),d(b("?cast=")),d(this.name),d(b('" title="')),d(this.name),d(b(" (")),d(this.role),d(b(')">\n <div class="thumb">\n <img src="')),d(this.thumbnail),d(b('" />\n </div>\n <div class="meta">\n <strong>')),d(this.name),d(b('</strong>\n <span title="')),d(this.role),d(b('">')),d(this.role),d(b('</span>\n </div>\n</a>\n<ul class="actions">\n <li class="imdb"></li>\n <li class="google"></li>\n</ul>'))}.call(this),a.join("")}.call(function(){
-var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/epg/list/tpl/programmes.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("\n<div ")),this.isactive&&d(b(' class="airing" ')),d(b(" ><strong>")),d(this.label),d(b("</strong>")),this.hastimer&&d(b('<span class="hastimer"></span>')),d(b("</div>\n<div><strong>")),d(t.gettext("Start")),d(b(":</strong> ")),d(helpers.global.epgDateTimeToJS(this.starttime).toLocaleString()),d(b("</div>\n<div><strong>")),d(t.gettext("End")),d(b(":</strong> ")),d(helpers.global.epgDateTimeToJS(this.endtime).toLocaleString()),d(b("</div>\n<div><strong> ")),d(t.gettext("Runtime")),d(b(":</strong> ")),d(this.runtime),d(b(" </div>\n<div>")),d(this.plot),d(b('</div>\n<div class="programme-progress"><div class="current-progress" style="width: ')),d(this.progresspercentage),d(b('%" title="')),d(Math.round(this.progresspercentage)),d(b("% ")),d(t.gettext("complete")),d(b('"></div></div>\n'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/external/youtube/tpl/youtube.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<img src="')),d(this.thumbnail),d(b('" class="thumb" />\n<h3>')),d(this.title),d(b('</h3>\n<span class="play-kodi flat-btn action">Play in Kodi</span>\n<span class="play-local flat-btn action">Play in browser</span>\n'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/filter/show/tpl/filter_options.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="options-search-wrapper">\n <input class="options-search" value="" />\n</div>\n<div class="deselect-all">')),d(t.gettext("Deselect all")),d(b('</div>\n<ul class="selection-list"></ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/filter/show/tpl/filters_bar.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<span class="filters-active-all">')),d(this.filters),d(b('</span><i class="remove"></i>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/filter/show/tpl/filters_ui.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="filters-container">\n\n <div class="filters-current filter-pane">\n <div class="nav-section"></div>\n\n <h3 class="open-filters">')),d(t.gettext("Filters")),d(b('<i></i></h3>\n <div class="filters-active"></div>\n\n <h3>')),d(t.gettext("Sort")),d(b('</h3>\n <div class="list sort-options"></div>\n </div>\n\n <div class="filters-page filter-pane">\n <h3 class="close-filters">')),d(t.gettext("Select a filter")),d(b('</h3>\n <div class="list filters-list"></div>\n </div>\n\n <div class="filters-options filter-pane">\n <h3 class="close-options">')),d(t.gettext("Select an option")),d(b('</h3>\n <div class="list filter-options-list"></div>\n </div>\n\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/filter/show/tpl/list_item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b(this.title))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/help/overview/tpl/overview.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("<h1>")),d(tr("About Chorus")),d(b("</h1>\n<h2>")),d(tr("Status report")),d(b('</h2>\n<div class="help--overview--report">\n <ul>\n <li class="report-chorus-version"><strong>Chorus ')),d(tr("version")),d(b('</strong><span></span></li>\n <li class="report-kodi-version"><strong>Kodi ')),d(tr("version")),d(b('</strong><span></span></li>\n <li class="report-websockets"><strong>')),d(tr("Remote control")),d(b('</strong><span></span></li>\n <li class="report-local-audio"><strong>')),d(tr("Local audio")),d(b('</strong><span></span></li>\n </ul>\n</div>\n<div class="help--overview--header"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/input/remote/tpl/remote_control.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div id="remote-background" class="close-remote"></div>\n<div class="remote kodi-remote">\n <div class="toggle-visibility"></div>\n <div class="playing-area">\n\n </div>\n <div class="main-controls">\n <div class="direction">\n <div class="pad">\n <div class="ibut mdi-hardware-keyboard-arrow-left left input-button" data-type="Left"></div>\n <div class="ibut mdi-hardware-keyboard-arrow-up up input-button" data-type="Up"></div>\n <div class="ibut mdi-hardware-keyboard-arrow-down down input-button" data-type="Down"></div>\n <div class="ibut mdi-hardware-keyboard-arrow-right right input-button" data-type="Right"></div>\n <div class="ibut mdi-image-brightness-1 ok input-button" data-type="Select"></div>\n </div>\n </div>\n <div class="buttons">\n <div class="ibut mdi-action-settings-power power-button"></div>\n <div class="ibut mdi-navigation-more-vert input-button" data-type="ContextMenu"></div>\n <div class="ibut mdi-action-info info-button" data-type="Info"></div>\n </div>\n </div>\n <div class="secondary-controls">\n <div class="ibut mdi-hardware-keyboard-return input-button" data-type="Back"></div>\n <div class="ibut mdi-av-stop player-button" data-type="Stop"></div>\n <div class="ibut mdi-maps-store-mall-directory input-button" data-type="Home"></div>\n </div>\n\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/lab/apiBrowser/tpl/api_browser_landing.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="api-browser--landing page">\n <h2>')),d(t.gettext("Kodi API browser")),d(b('</h2>\n <h4><a href="#lab">')),d(t.gettext("Chorus lab")),d(b('</a></h4>\n <div class="api-browser--content">\n <p>')),d(t.gettext("This is a tool to test out the api. Select a method then execute it with parameters.")),d(b('</p>\n <br />\n <div class="alert alert-dismissable alert-warning">\n <button type="button" class="close" data-dismiss="alert">×</button>\n <h4>')),d(t.gettext("Warning")),d(b("</h4>\n <p>")),d(t.gettext("You could potentially damage your system with this and there are no sanity checks. Use at own risk.")),d(b("<br /></p>\n </div>\n </div>\n</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/lab/apiBrowser/tpl/api_method_item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="api-method--item">\n <h4 class="method">')),d(this.method),d(b('</h4>\n <p class="description">')),d(this.description),d(b("</p>\n</div>\n\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/lab/apiBrowser/tpl/api_method_list.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="api-methods--list">\n <p class="search-box"><input type="text" id="api-search" class="api-methods--search" /></p>\n <ul class="items"></ul>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/lab/apiBrowser/tpl/api_method_page.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('\n<div class="api-method--info page">\n <h2 class="method"><a href="http://kodi.wiki/view/JSON-RPC_API/v6#')),d(this.method),d(b('" target="_blank">')),d(this.method),d(b('</a></h2>\n <p class="description">')),d(this.description),d(b('</p>\n\n</div>\n\n<div class="api-method--execute">\n <h3>Execute <strong>')),d(this.method),d(b('</strong> with these params:</h3>\n <textarea class="api-method--params" placeholder=\'Eg. ["arg", "foo", true]\'></textarea>\n <p class="description">Parameters get parsed by\n <a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse" target="_blank">JSON.parse</a>.\n Check the console for response objects, you will get an \'unexpected token\' error if parsing failed.\n Params should be an array \'[]\' matching below \'Method params\'. Only use double quotes for strings/keys.\n </p>\n <p class="description">\n Eg. [true] or [255, ["born", "formed", "thumbnail"]] or [] or [255]. Brackets required.\n </p>\n <p><button class="btn btn-primary" id="send-command">Send Command</button></p>\n\n</div>\n\n<div class="api-method--result" id="api-result"></div>\n\n<h3>Method Params</h3>\n<div class="api-method--params"></div>\n\n<hr />\n\n<h3>Method Returns</h3>\n<div class="api-method--return"></div>\n\n'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/lab/lab/tpl/lab_item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<a class="lab-item" href="#')),d(this.path),d(b('">\n <h4>')),d(this.title),d(b("</h4>\n <p>")),d(this.description),d(b("</p>\n</a>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/loading/show/tpl/loading_page.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div id="loading-page">\n <div class="spinner-double-section-far"></div>\n <h2>')),d(t.gettext("Just a sec...")),d(b("</h2>\n</div>\n\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/localPlaylist/list/tpl/playlist.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<span class="item">')),d(b(this.title)),d(b("</span>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/localPlaylist/list/tpl/playlist_layout.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="local-playlist-header">\n <h2></h2>\n <div class="dropdown">\n <i data-toggle="dropdown"></i>\n <ul class="dropdown-menu">\n <li class="play">Play in Kodi</li>\n <li class="localplay">Play in browser</li>\n <li class="list">Export list</li>\n <div class="divider"></div>\n <li class="clear">Clear playlist</li>\n <li class="delete">Delete playlist</li>\n </ul>\n </div>\n</div>\n<div class="item-container">\n <div class="empty-content">')),d(t.gettext("Empty playlist, you should probably add something to it?")),d(b("</div>\n</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/localPlaylist/list/tpl/playlist_list.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<h3></h3>\n<ul class="lists"></ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/localPlaylist/list/tpl/playlist_sidebar_layout.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="current-lists"></div>\n<div class="new-list">New playlist</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/movie/landing/tpl/landing.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("<h3>")),d(t.gettext("Recently added")),d(b('</h3>\n<div class="landing-section region-recently-added"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/movie/show/tpl/content.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="section-content">\n <h2>')),d(t.gettext("Synopsis")),d(b("</h2>\n ")),"youtube"===this.trailer.source&&(d(b('\n <div class="trailer ')),d(this.trailer.source),d(b('">\n <img src="')),d(b(this.trailer.img)),d(b('" />\n </div>\n '))),d(b("\n <p>")),d(this.plot),d(b('</p>\n <ul class="inline-links">\n <li>')),d(b(helpers.url.imdbUrl(this.imdbnumber,"View on IMDb"))),d(b("</li>\n </ul>\n</div>\n\n")),this.cast.length>0&&(d(b('\n <div class="section-content">\n <h2>')),d(t.gettext("Full cast")),d(b('</h2>\n <div class="region-cast"></div>\n </div>\n'))),d(b('\n\n<div class="region-sets section-content"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/movie/show/tpl/details_meta.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){var a,c,e,f;if(d(b('<div class="region-details-top">\n <div class="region-details-title">\n <h2><span class="title">')),d(this.label),d(b('</span> <span class="sub"><a href="#movies?year=')),d(this.year),d(b('">')),d(this.year),d(b('</a></span></h2>\n </div>\n <div class="region-details-rating">\n ')),d(this.rating),d(b(' <i></i>\n </div>\n</div>\n<div class="region-details-meta-below">\n\n <div class="region-details-subtext">\n <div class="runtime">\n ')),d(helpers.global.formatTime(helpers.global.secToTime(this.runtime))),d(b('\n </div>\n </div>\n\n <div class="description">')),d(this.plotoutline),d(b('</div>\n\n <ul class="meta">\n ')),this.genre.length>0&&(d(b("\n <li><label>")),d(t.gettext("genre")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","genre",this.genre))),d(b("</span></li>\n "))),d(b("\n ")),this.director.length>0&&(d(b("\n <li><label>")),d(t.ngettext("Director","Directors",this.director.length)),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("movies","director",this.director))),d(b("</span></li>\n "))),d(b("\n ")),this.writer.length>0&&(d(b("\n <li><label>")),d(t.ngettext("Writer","Writers",this.writer.length)),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("movies","writer",this.writer))),d(b("</span></li>\n "))),d(b("\n ")),this.cast.length>0&&(d(b("\n <li><label>")),d(t.gettext("Cast")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("movies","cast",_.pluck(this.cast,"name")))),d(b("</span></li>\n "))),d(b("\n ")),this.mpaa&&(d(b("\n <li><label>")),d(t.gettext("rated")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("movies","mpaa",[this.mpaa]))),d(b("</span></li>\n "))),d(b('\n </ul>\n\n <ul class="streams">\n ')),this.streamdetails.video.length>0&&(d(b("\n <li><label>")),d(t.gettext("Video")),d(b(":</label> <span>")),d(_.pluck(this.streamdetails.video,"label").join(", ")),d(b("</span></li>\n "))),d(b("\n ")),this.streamdetails.audio.length>0&&(d(b("\n <li><label>")),d(t.gettext("Audio")),d(b(":</label> <span>")),d(_.pluck(this.streamdetails.audio,"label").join(", ")),d(b("</span></li>\n "))),d(b("\n ")),this.streamdetails.subtitle.length>0&&""!==this.streamdetails.subtitle[0].label){for(d(b("\n <li><label>")),d(t.ngettext("Subtitle","Subtitles",this.streamdetails.subtitle.length)),d(b(':</label>\n <span class="dropdown"><span data-toggle="dropdown">')),d(_.pluck(this.streamdetails.subtitle,"label").join(", ")),d(b('</span>\n <ul class="dropdown-menu">\n ')),e=this.streamdetails.subtitle,a=0,c=e.length;c>a;a++)f=e[a],d(b("\n <li>")),d(f.label),d(b("</li>\n "));d(b("\n </ul>\n </span>\n </li>\n "))}d(b('\n </ul>\n\n <ul class="inline-links">\n <li class="btn-flat-play play">')),d(t.gettext("Play")),d(b('</li>\n <li class="btn-flat-add add">')),d(t.gettext("Queue")),d(b('</li>\n <li class="btn-flat-stream stream">')),d(t.gettext("Stream")),d(b('</li>\n <li class="btn-flat-download download">')),d(t.gettext("Download")),d(b('</li>\n <li class="btn-flat-watched watched">\n ')),d(t.gettext("set")),d(b(' <span class="action-watched">')),d(t.gettext("watched")),d(b('</span><span class="action-unwatched">')),d(t.gettext("unwatched")),d(b("</span>\n </li>\n </ul>\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/movie/show/tpl/set.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="set-collection">\n <h2 class="set-name"></h2>\n <div class="collection-items"></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/navMain/show/tpl/navMain.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){var a,c,e,f,g,h,i,j;for(d(b('<div id="nav-header"></div>\n<nav>\n <ul>\n ')),i=this.items,c=0,g=i.length;g>c;c++)if(e=i[c],"undefined"!==e.path&&0===e.parent){if(d(b('\n <li class="')),d(e["class"]),d(b('">\n <a href="#')),d(e.path),d(b('">\n <i class="')),d(e.icon),d(b('"></i>\n <span>')),d(e.title),d(b("</span>\n </a>\n\n ")),0!==e.children.length){for(d(b("\n <ul>\n ")),j=e.children,f=0,h=j.length;h>f;f++)a=j[f],"undefined"!==a.path&&(d(b('\n <li><a href="#')),d(a.path),d(b('">')),d(a.title),d(b("</a></li>\n ")));d(b("\n </ul>\n "))}d(b("\n </li>\n "))}d(b("\n </ul>\n</nav>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/navMain/show/tpl/nav_item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b(this.link))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/navMain/show/tpl/nav_sub.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("<h3>")),d(this.title),d(b('</h3>\n<ul class="items"></ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/player/show/tpl/player.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="player">\n\n <div class="controls-primary">\n <div class="controls-primary-buttons">\n <div class="control control-prev"></div>\n <div class="control control-play"></div>\n <div class="control control-next"></div>\n </div>\n </div>\n\n <div class="controls-secondary">\n <div class="volume slider-bar"></div>\n <div class="controls-secondary-buttons">\n <div class="control control-mute"></div>\n <div class="control control-repeat"></div>\n <div class="control control-shuffle"></div>\n <div class="control control-menu"></div>\n </div>\n </div>\n\n <div class="now-playing">\n <div class="playing-thumb thumb">\n <div class="mdi remote-toggle"></div>\n </div>\n <div class="playing-info">\n <div class="playing-progress slider-bar"></div>\n <div class="playing-time">\n <div class="playing-time-current">0</div>\n <div class="playing-time-duration">0:00</div>\n </div>\n <div class="playing-meta">\n <div class="playing-title">')),d(t.gettext("Nothing playing")),d(b('</div>\n <div class="playing-subtitle"></div>\n </div>\n </div>\n </div>\n\n</div>\n'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/playlist/list/tpl/playlist_bar.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="playlist-header">\n <ul class="player-toggle">\n <li class="kodi">')),d(t.gettext("Kodi")),d(b('</li>\n <li class="local">')),d(t.gettext("Local")),d(b('</li>\n </ul>\n <div class="playlist-menu dropdown">\n <i data-toggle="dropdown" class="menu-toggle"></i>\n <ul class="dropdown-menu pull-right">\n <li class="dropdown-header">')),d(t.gettext("Current playlist")),d(b('</li>\n <li><a href="#" class="clear-playlist">')),d(t.gettext("Clear playlist")),d(b('</a></li>\n <li><a href="#" class="refresh-playlist">')),d(t.gettext("Refresh playlist")),d(b('</a></li>\n <li class="dropdown-header">')),d(t.gettext("Kodi")),d(b('</li>\n <li><a href="#" class="party-mode">')),d(t.gettext("Party mode")),d(b(' <i class="mdi-navigation-check"></i></a></li>\n <li><a href="#" class="save-playlist">')),d(t.gettext("Save Kodi playlist")),d(b('</a></li>\n </li>\n </ul>\n </div>\n</div>\n<div class="playlists-wrapper">\n <div class="kodi-playlists">\n <ul class="media-toggle">\n <li class="audio">')),d(t.gettext("Audio")),d(b('</li>\n <li class="video">')),d(t.gettext("Video")),d(b('</li>\n </ul>\n <div class="kodi-playlist"></div>\n </div>\n <div class="local-playlists">\n <div class="local-playlist"></div>\n </div>\n</div>\n'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/playlist/list/tpl/playlist_item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="item-inner item-')),d(this.type),d(b('">\n <div class="artwork">\n <div class="thumb" title="')),d(this.label),d(b('" style="background-image: url(\'')),d(this.thumbnail),d(b('\')">\n <div class="mdi play"></div>\n </div>\n </div>\n <div class="meta">\n <div class="title"><a href="#')),d(this.url),d(b('" title="')),d(this.label),d(b('">')),d(this.label),d(b("</a></div>\n ")),null!=this.subtitle&&(d(b('\n <div class="subtitle">')),d(b(this.subtitle)),d(b("</div>\n "))),d(b('\n </div>\n <div class="remove"></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/playlist/show/tpl/landing.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="playlist-page playlist-page__empty set-page">\n <h3>')),d(t.gettext("Now playing - Playlists")),d(b("</h3>\n <p>")),d(t.gettext("Switch between Kodi and local playback via the tabs. You can toggle visibility with the arrow in the top right")),d(b("</p>\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/pvr/list/tpl/channel.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);
-return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="play">\n <div class="thumb">\n <img src="')),d(this.thumbnail),d(b('" />\n </div>\n <div class="meta">\n <strong>')),d(this.label),d(b("</strong>\n </div>\n</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/search/list/tpl/search_layout.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="search-inner">\n <div class="entity-set entity-set-movie"></div>\n <div class="entity-set entity-set-tvshow"></div>\n <div class="entity-set entity-set-artist"></div>\n <div class="entity-set entity-set-album"></div>\n <div class="entity-set entity-set-song"></div>\n <div class="entity-set entity-set-loading"></div>\n <div class="entity-set entity-set-addons"></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/search/list/tpl/search_set.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<h2 class="set-header"></h2>\n<div class="set-results"></div>\n<div class="more"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/search/show/tpl/landing.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="search-page search-page__empty set-page">\n <h3>')),d(t.gettext("Enter your search above")),d(b("</h3>\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/settings/show/tpl/settings_sidebar.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="settings-sidebar">\n <div class="settings-sidebar--section local-nav nav-sub"></div>\n <div class="settings-sidebar--section kodi-nav"></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/shell/show/tpl/homepage.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div id="homepage"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/shell/show/tpl/shell.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div id="shell">\n\n <a id="logo" href="#"></a>\n\n <div id="nav-bar"></div>\n\n <div id="header">\n\n <h1 id="page-title">\n <span class="context"></span>\n <span class="title"></span>\n </h1>\n\n <ul class="mobile-menu">\n <li><a href="#remote" class="mobile-menu--link__remote remote-toggle"><i></i></a></li>\n <li><a href="#search" class="mobile-menu--link__search"><i></i></a></li>\n <li><a href="#playlist" class="mobile-menu--link__playlist"><i></i></a></li>\n </ul>\n\n <div id="search-region">\n <input id="search" title="Search">\n <span id="do-search"></span>\n </div>\n\n </div>\n\n <div id="main">\n\n <div id="sidebar-one"></div>\n\n <div id="content">')),d(t.gettext("Loading things...")),d(b('</div>\n\n </div>\n\n <div id="sidebar-two">\n <div class="playlist-toggle-open"></div>\n <div id="playlist-summary"></div>\n <div id="playlist-bar"></div>\n </div>\n\n <div id="remote"></div>\n\n <div id="player-wrapper">\n <footer id="player-kodi"></footer>\n <footer id="player-local"></footer>\n </div>\n\n <div class="player-menu-wrapper">\n <ul class="player-menu">\n <li class="video-scan">')),d(t.gettext("Scan video library")),d(b('</li>\n <li class="audio-scan">')),d(t.gettext("Scan audio library")),d(b('</li>\n <li class="send-input">')),d(t.gettext("Send text to Kodi")),d(b('</li>\n <li class="goto-lab">')),d(t.gettext("The lab")),d(b('</li>\n <li class="about">')),d(t.gettext("About Chorus")),d(b('</li>\n </ul>\n </div>\n\n</div>\n\n<div id="fanart"></div>\n<div id="fanart-overlay"></div>\n\n<div id="snackbar-container"></div>\n\n<div class="modal fade" id="modal-window">\n <div class="modal-dialog">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n <h4 class="modal-title"></h4>\n </div>\n <div class="modal-body"></div>\n <div class="modal-footer"></div>\n </div>\n </div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/song/list/tpl/song.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<td class="cell-first">\n <div class="thumb" style="background-image: url(\'')),d(this.thumbnail),d(b('\')">\n </div>\n <div class="track">')),d(this.track),d(b('</div>\n <div class="mdi play"></div>\n</td>\n<td class="cell-label song-title"><span class="crop">')),d(this.label),d(b('</span></td>\n<td class="cell-label song-artist"><a class="crop" href="#music/artist/')),d(this.artistid),d(b('">')),d(this.artist),d(b('</a></td>\n<td class="cell-last">\n <li class="thumbed-up"></li>\n <div class="duration">')),d(this.displayDuration),d(b('</div>\n <ul class="actions">\n <li class="mdi thumbs"></li>\n <li class="mdi add"></li>\n <li class="menu dropdown">\n <i data-toggle="dropdown" class="mdi"></i>\n <ul class="dropdown-menu pull-right"></ul>\n </li>\n </ul>\n</td>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/thumbs/list/tpl/thumbs_layout.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="thumbs-inner">\n <div class="entity-set entity-set-movie"></div>\n <div class="entity-set entity-set-tvshow"></div>\n <div class="entity-set entity-set-artist"></div>\n <div class="entity-set entity-set-album"></div>\n <div class="entity-set entity-set-song"></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/thumbs/list/tpl/thumbs_set.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<h2 class="set-header"></h2>\n<div class="set-results"></div>\n<div class="more"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/tvshow/episode/tpl/content.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('\n<div class="section-content">\n <h2>')),d(t.gettext("Synopsis")),d(b("</h2>\n <p>")),d(this.plot),d(b("</p>\n</div>\n\n")),this.cast.length>0&&(d(b('\n <div class="section-content">\n <h2>')),d(t.gettext("Full cast")),d(b('</h2>\n <div class="region-cast"></div>\n </div>\n'))),d(b("\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/tvshow/episode/tpl/details_meta.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){var a,c,e,f;if(d(b('<div class="region-details-top">\n ')),null!=this.showtitle&&d(b("\n\n ")),d(b('\n <div class="region-details-title">\n <h2>\n <span class="title">')),d(this.label),d(b('</span>\n <span class="sub show-title"><a href="#')),d(this.url.split("/",2).join("/")),d(b('">')),d(this.showtitle),d(b('</a></span>\n <span class="sub">S')),d(this.season),d(b(" E")),d(this.episode),d(b('</span>\n </h2>\n </div>\n <div class="region-details-rating">\n ')),d(this.rating),d(b(' <i></i>\n </div>\n</div>\n<div class="region-details-meta-below">\n\n <div class="region-details-subtext">\n\n <div class="runtime">\n ')),d(helpers.global.formatTime(helpers.global.secToTime(this.runtime))),d(b('\n </div>\n\n </div>\n\n <ul class="meta">\n <li><label>')),d(t.gettext("Season")),d(b(':</label> <span><a href="#tvshow/')),d(this.tvshowid),d(b("/")),d(this.season),d(b('">')),d(t.gettext("Season")),d(b(" ")),d(this.season),d(b("</a></span></li>\n ")),this.director.length>0&&(d(b("\n <li><label>")),d(t.ngettext("Director","Directors",this.director.length)),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","director",this.director))),d(b("</span></li>\n "))),d(b("\n ")),this.writer.length>0&&(d(b("\n <li><label>")),d(t.ngettext("Writer","Writers",this.writer.length)),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","writer",this.writer))),d(b("</span></li>\n "))),d(b("\n ")),this.cast.length>0&&(d(b("\n <li><label>")),d(t.gettext("Cast")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","cast",_.pluck(this.cast,"name")))),d(b("</span></li>\n "))),d(b('\n </ul>\n\n <ul class="streams">\n ')),this.streamdetails.video.length>0&&(d(b("\n <li><label>")),d(t.gettext("Video")),d(b(":</label> <span>")),d(_.pluck(this.streamdetails.video,"label").join(", ")),d(b("</span></li>\n "))),d(b("\n ")),this.streamdetails.audio.length>0&&(d(b("\n <li><label>")),d(t.gettext("Audio")),d(b(":</label> <span>")),d(_.pluck(this.streamdetails.audio,"label").join(", ")),d(b("</span></li>\n "))),d(b("\n ")),this.streamdetails.subtitle.length>0&&""!==this.streamdetails.subtitle[0].label){for(d(b("\n <li><label>")),d(t.ngettext("Subtitle","Subtitles",this.streamdetails.subtitle.length)),d(b(':</label>\n <span class="dropdown"><span data-toggle="dropdown">')),d(_.first(_.pluck(this.streamdetails.subtitle,"label"))),d(b('</span>\n <ul class="dropdown-menu">\n ')),e=this.streamdetails.subtitle,a=0,c=e.length;c>a;a++)f=e[a],d(b("\n <li>")),d(f.label),d(b("</li>\n "));d(b("\n </ul>\n </span>\n </li>\n "))}d(b('\n </ul>\n\n <ul class="inline-links">\n <li class="btn-flat-play play">')),d(t.gettext("Play")),d(b('</li>\n <li class="btn-flat-add add">')),d(t.gettext("Queue")),d(b('</li>\n <li class="btn-flat-stream stream">')),d(t.gettext("Stream")),d(b('</li>\n <li class="btn-flat-download download">')),d(t.gettext("Download")),d(b('</li>\n <li class="btn-flat-watched watched">\n ')),d(t.gettext("set")),d(b(' <span class="action-watched">')),d(t.gettext("watched")),d(b('</span><span class="action-unwatched">')),d(t.gettext("unwatched")),d(b("</span>\n </li>\n </ul>\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/tvshow/landing/tpl/landing.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("<h3>")),d(t.gettext("Recently added")),d(b('</h3>\n<div class="landing-section region-recently-added"></div> '))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/tvshow/season/tpl/details_meta.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="region-details-top">\n <div class="region-details-title">\n <h2>\n <span class="title">')),d(t.gettext("Season")),d(b(" ")),d(this.season),d(b('</span>\n <span class="sub"><a href="#tvshow/')),d(this.tvshowid),d(b('">')),d(this.label),d(b('</a></span>\n </h2>\n </div>\n <div class="region-details-rating">\n ')),d(this.rating),d(b(' <i></i>\n </div>\n</div>\n<div class="region-details-meta-below">\n\n <ul class="meta">\n ')),this.genre.length>0&&(d(b("\n <li><label>")),d(t.gettext("genre")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","genre",this.genre))),d(b("</span></li>\n "))),d(b("\n ")),this.cast.length>0&&(d(b("\n <li><label>")),d(t.gettext("cast")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","cast",_.pluck(this.cast,"name")))),d(b("</span></li>\n "))),d(b("\n ")),this.studio.length>0&&(d(b("\n <li><label>")),d(t.gettext("studio")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","studio",this.studio))),d(b("</span></li>\n "))),d(b("\n ")),this.mpaa&&(d(b("\n <li><label>")),d(t.gettext("rated")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","mpaa",[this.mpaa]))),d(b("</span></li>\n "))),d(b("\n <li><label>")),d(t.gettext("episodes")),d(b(':</label> <span><span class="episode-total">')),d(this.episode),d(b("</span> ")),d(t.gettext("total")),d(b(' (<span class="episode-unwatched">')),d(this.unwatched),d(b("</span> ")),d(t.gettext("unwatched")),d(b(')</span></li>\n </ul>\n\n <div class="description">')),d(this.plot),d(b('</div>\n\n <ul class="inline-links">\n <li class="btn-flat-play play">')),d(t.gettext("Play")),d(b('</li>\n <li class="btn-flat-add add">')),d(t.gettext("Queue")),d(b('</li>\n <li class="btn-flat-watched watched">\n ')),d(t.gettext("set")),d(b(' <span class="action-watched">')),d(t.gettext("watched")),d(b('</span><span class="action-unwatched">')),d(t.gettext("unwatched")),d(b("</span>\n </li>\n </ul>\n\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/tvshow/show/tpl/details_meta.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="region-details-top">\n <div class="region-details-title">\n <h2><span class="title">')),d(this.label),d(b('</span> <span class="sub">')),d(this.year),d(b('</span></h2>\n </div>\n <div class="region-details-rating">\n ')),d(this.rating),d(b(' <i></i>\n </div>\n</div>\n<div class="region-details-meta-below">\n\n <ul class="meta">\n ')),this.genre.length>0&&(d(b("\n <li><label>")),d(t.gettext("genre")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","genre",this.genre))),d(b("</span></li>\n "))),d(b("\n ")),this.cast.length>0&&(d(b("\n <li><label>")),d(t.gettext("cast")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","cast",_.pluck(this.cast,"name")))),d(b("</span></li>\n "))),d(b("\n ")),this.studio.length>0&&(d(b("\n <li><label>")),d(t.gettext("studio")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","studio",this.studio))),d(b("</span></li>\n "))),d(b("\n ")),this.mpaa&&(d(b("\n <li><label>")),d(t.gettext("rated")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","mpaa",[this.mpaa]))),d(b("</span></li>\n "))),d(b("\n <li><label>")),d(t.gettext("episodes")),d(b(':</label> <span><span class="episode-total">')),d(this.episode),d(b("</span> ")),d(t.gettext("total")),d(b(' (<span class="episode-unwatched">')),d(this.unwatched),d(b("</span> ")),d(t.gettext("unwatched")),d(b(')</span></li>\n </ul>\n\n <div class="description">')),d(this.plot),d(b('</div>\n\n <ul class="inline-links">\n <li class="btn-flat-play play">')),d(t.gettext("Play")),d(b('</li>\n <li class="btn-flat-add add">')),d(t.gettext("Queue")),d(b('</li>\n <li class="btn-flat-watched watched">\n ')),d(t.gettext("set")),d(b(' <span class="action-watched">')),d(t.gettext("watched")),d(b('</span><span class="action-unwatched">')),d(t.gettext("unwatched")),d(b("</span>\n </li>\n </ul>\n\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["components/form/tpl/form.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="form-inner">\n <div class="form-content-region"></div>\n <footer>\n <ul class="inline-list">\n <li>\n <button type="submit" data-form-button="submit" class="btn btn-primary form-save">Save</button>\n </li>\n <li class="response">\n\n </li>\n </ul>\n </footer>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["components/form/tpl/form_item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){this.title&&(d(b('\n <label class="control-label">')),d(b(this.title)),d(b("</label>\n"))),d(b("\n\n")),"markup"===this.type||"button"===this.type?(d(b("\n ")),d(b(this.element)),d(b("\n"))):(d(b('\n <div class="element">\n ')),"checkbox"!==this.type?(d(b("\n ")),d(b(this.element)),d(b("\n "))):(d(b('\n <div class="togglebutton">\n <label>')),d(b(this.element)),d(b("</label>\n </div>\n "))),d(b("\n ")),this.description&&(d(b('\n <div class="help-block description">')),d(b(this.description)),d(b("</div>\n "))),d(b("\n </div>\n"))),d(b("\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["components/form/tpl/form_item_group.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){this.title&&(d(b('\n <h3 class="group-title">')),this.icon&&(d(b('<i class="')),d(b(this.icon)),d(b('"></i> '))),d(b(this.title)),d(b("</h3>\n"))),d(b('\n<div class="form-items"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/card/tpl/card.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){var a,c,e;if(d(b('<div class="card-')),d(this.type),d(b('">\n <div class="artwork">\n <a href="#')),d(this.url),d(b('" class="thumb" title="')),d(helpers.global.stripTags(this.label)),d(b('" style="background-image: url(\'')),d(this.thumbnail),d(b('\')"></a>\n <div class="mdi play"></div>\n ')),("channeltv"===this.type||"channelradio"===this.type)&&d(b('\n <div class="mdi record"></div>\n ')),d(b('\n </div>\n <div class="meta">\n <div class="title"><a href="#')),d(this.url),d(b('" title="')),d(helpers.global.stripTags(this.label)),d(b('">')),d(b(this.label)),d(b("</a></div>\n ")),null!=this.subtitle&&(d(b('\n <div class="subtitle">')),d(b(this.subtitle)),d(b("</div>\n "))),d(b("\n </div>\n ")),this.actions){d(b('\n <ul class="actions">\n ')),c=this.actions;for(a in c)e=c[a],d(b('<li class="mdi ')),d(a),d(b('" title="')),d(e),d(b('"></li>'));d(b("\n </ul>\n "))}d(b("\n ")),this.menu&&d(b('\n <div class="dropdown">\n <i data-toggle="dropdown" class="mdi"></i>\n <ul class="dropdown-menu"></ul>\n </div>\n ')),d(b("\n ")),this.progress=null!=this.progress?this.progress:0,d(b('\n <div class="entity-progress"><div class="current-progress" style="width: ')),d(this.progress),d(b('%" title="')),d(this.progress),d(b("% ")),d(t.gettext("complete")),d(b('"></div></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/card/tpl/card_placeholder.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("<i></i>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/empty/tpl/empty_page.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="empty--page">\n ')),this.title&&(d(b('\n <h2 class="empty--page-title">')),d(title),d(b("</h2>\n "))),d(b("\n\n ")),this.content&&(d(b('\n <div class="empty--page-content">')),d(this.content),d(b("</div>\n "))),d(b("\n</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/empty/tpl/empty_results.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="empty-result">\n <h2>No results found</h2>\n <p>Have you done a library scan?</p>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/layouts/tpl/layout_details_header.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="layout-container details-header">\n\n <div class="region-details-side"></div>\n\n <div class="region-details-meta-wrapper"><div class="region-details-meta">\n\n <div class="region-details-title"><span class="title"></span> <span class="sub"></span></div>\n\n <div class="region-details-meta-below">\n <div class="region-details-subtext"></div>\n <div class="description"></div>\n </div>\n\n </div></div>\n\n <div class="region-details-fanart"><div class="gradient"></div></div>\n\n</div>\n'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/layouts/tpl/layout_with_header.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="layout-container with-header">\n\n <header class="region-header"></header>\n\n <div class="region-content-wrapper">\n <div class="entity-progress"><div class="current-progress" style="width: ')),d(this.progress),d(b('%" title="')),d(this.progress),d(b("% ")),d(t.gettext("complete")),d(b('"></div></div>\n <section class="region-content"></section>\n </div>\n\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/layouts/tpl/layout_with_sidebar_first.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="layout-container with-sidebar-first">\n\n <div class="region-first-toggle"></div>\n <section class="region-first"></section>\n\n <section class="region-content-wrapper">\n <div class="region-content-top"></div>\n <div class="region-content"></div>\n </section>\n\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())};;var tr,
+}this._hasPushState?b.$(window).on("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!f?b.$(window).on("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=d;var h=this.location;if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot())return this.fragment=this.getFragment(null,!0),this.location.replace(this.root+"#"+this.fragment),!0;this._hasPushState&&this.atRoot()&&h.hash&&(this.fragment=this.getHash().replace(E,""),this.history.replaceState({},document.title,this.root+this.fragment))}return this.options.silent?void 0:this.loadUrl()},stop:function(){b.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),D.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();return b===this.fragment&&this.iframe&&(b=this.getFragment(this.getHash(this.iframe))),b===this.fragment?!1:(this.iframe&&this.navigate(b),void this.loadUrl())},loadUrl:function(a){return a=this.fragment=this.getFragment(a),c.any(this.handlers,function(b){return b.route.test(a)?(b.callback(a),!0):void 0})},navigate:function(a,b){if(!D.started)return!1;b&&b!==!0||(b={trigger:!!b});var c=this.root+(a=this.getFragment(a||""));if(a=a.replace(I,""),this.fragment!==a){if(this.fragment=a,""===a&&"/"!==c&&(c=c.slice(0,-1)),this._hasPushState)this.history[b.replace?"replaceState":"pushState"]({},document.title,c);else{if(!this._wantsHashChange)return this.location.assign(c);this._updateHash(this.location,a,b.replace),this.iframe&&a!==this.getFragment(this.getHash(this.iframe))&&(b.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,a,b.replace))}return b.trigger?this.loadUrl(a):void 0}},_updateHash:function(a,b,c){if(c){var d=a.href.replace(/(javascript:|#).*$/,"");a.replace(d+"#"+b)}else a.hash="#"+b}}),b.history=new D;var J=function(a,b){var d,e=this;d=a&&c.has(a,"constructor")?a.constructor:function(){return e.apply(this,arguments)},c.extend(d,e,b);var f=function(){this.constructor=d};return f.prototype=e.prototype,d.prototype=new f,a&&c.extend(d.prototype,a),d.__super__=e.prototype,d};m.extend=o.extend=y.extend=t.extend=D.extend=J;var K=function(){throw new Error('A "url" property or function must be specified')},L=function(a,b){var c=b.error;b.error=function(d){c&&c(a,d,b),a.trigger("error",a,d,b)}};return b}),"object"!=typeof JSON&&(JSON={}),function(){"use strict";function f(a){return 10>a?"0"+a:a}function quote(a){return escapable.lastIndex=0,escapable.test(a)?'"'+a.replace(escapable,function(a){var b=meta[a];return"string"==typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function str(a,b){var c,d,e,f,g,h=gap,i=b[a];switch(i&&"object"==typeof i&&"function"==typeof i.toJSON&&(i=i.toJSON(a)),"function"==typeof rep&&(i=rep.call(b,a,i)),typeof i){case"string":return quote(i);case"number":return isFinite(i)?String(i):"null";case"boolean":case"null":return String(i);case"object":if(!i)return"null";if(gap+=indent,g=[],"[object Array]"===Object.prototype.toString.apply(i)){for(f=i.length,c=0;f>c;c+=1)g[c]=str(c,i)||"null";return e=0===g.length?"[]":gap?"[\n"+gap+g.join(",\n"+gap)+"\n"+h+"]":"["+g.join(",")+"]",gap=h,e}if(rep&&"object"==typeof rep)for(f=rep.length,c=0;f>c;c+=1)"string"==typeof rep[c]&&(d=rep[c],e=str(d,i),e&&g.push(quote(d)+(gap?": ":":")+e));else for(d in i)Object.prototype.hasOwnProperty.call(i,d)&&(e=str(d,i),e&&g.push(quote(d)+(gap?": ":":")+e));return e=0===g.length?"{}":gap?"{\n"+gap+g.join(",\n"+gap)+"\n"+h+"}":"{"+g.join(",")+"}",gap=h,e}}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var cx,escapable,gap,indent,meta,rep;"function"!=typeof JSON.stringify&&(escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,meta={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},JSON.stringify=function(a,b,c){var d;if(gap="",indent="","number"==typeof c)for(d=0;c>d;d+=1)indent+=" ";else"string"==typeof c&&(indent=c);if(rep=b,b&&"function"!=typeof b&&("object"!=typeof b||"number"!=typeof b.length))throw new Error("JSON.stringify");return str("",{"":a})}),"function"!=typeof JSON.parse&&(cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,JSON.parse=function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&"object"==typeof e)for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&(d=walk(e,c),void 0!==d?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;if(text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})),/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}(),function(a){"function"==typeof require&&"undefined"!=typeof module&&module.exports?module.exports=a(require("underscore")):"function"==typeof define?define(["underscore"],a):this.Cocktail=a(_)}(function(a){var b={};b.mixins={},b.mixin=function(c){var d=a.chain(arguments).toArray().rest().flatten().value(),e=c.prototype||c,f={};return a.each(d,function(c){a.isString(c)&&(c=b.mixins[c]),a.each(c,function(b,c){if(a.isFunction(b)){if(e[c]===b)return;e[c]&&(f[c]=f.hasOwnProperty(c)?f[c]:[e[c]],f[c].push(b)),e[c]=b}else a.isArray(b)?e[c]=a.union(b,e[c]||[]):a.isObject(b)?e[c]=a.extend({},b,e[c]||{}):c in e||(e[c]=b)})}),a.each(f,function(b,c){e[c]=function(){var c,d=this,e=arguments;return a.each(b,function(b){var f=a.isFunction(b)?b.apply(d,e):b;c="undefined"==typeof f?c:f}),c}}),c};var c;return b.patch=function(d){c=d.Model.extend;var e=function(a,d){var e=c.call(this,a,d),f=e.prototype.mixins;return f&&e.prototype.hasOwnProperty("mixins")&&b.mixin(e,f),e};a.each([d.Model,d.Collection,d.Router,d.View],function(c){c.mixin=function(){b.mixin(this,a.toArray(arguments))},c.extend=e})},b.unpatch=function(b){a.each([b.Model,b.Collection,b.Router,b.View],function(a){a.mixin=void 0,a.extend=c})},b});var saveAs=saveAs||function(a){"use strict";if(!("undefined"==typeof a||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var b=a.document,c=function(){return a.URL||a.webkitURL||a},d=b.createElementNS("http://www.w3.org/1999/xhtml","a"),e="download"in d,f=function(a){var b=new MouseEvent("click");a.dispatchEvent(b)},g=/constructor/i.test(a.HTMLElement)||a.safari,h=/CriOS\/[\d]+/.test(navigator.userAgent),i=function(b){(a.setImmediate||a.setTimeout)(function(){throw b},0)},j="application/octet-stream",k=4e4,l=function(a){var b=function(){"string"==typeof a?c().revokeObjectURL(a):a.remove()};setTimeout(b,k)},m=function(a,b,c){b=[].concat(b);for(var d=b.length;d--;){var e=a["on"+b[d]];if("function"==typeof e)try{e.call(a,c||a)}catch(f){i(f)}}},n=function(a){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob([String.fromCharCode(65279),a],{type:a.type}):a},o=function(b,i,k){k||(b=n(b));var o,p=this,q=b.type,r=q===j,s=function(){m(p,"writestart progress write writeend".split(" "))},t=function(){if((h||r&&g)&&a.FileReader){var d=new FileReader;return d.onloadend=function(){var b=h?d.result:d.result.replace(/^data:[^;]*;/,"data:attachment/file;"),c=a.open(b,"_blank");c||(a.location.href=b),b=void 0,p.readyState=p.DONE,s()},d.readAsDataURL(b),void(p.readyState=p.INIT)}if(o||(o=c().createObjectURL(b)),r)a.location.href=o;else{var e=a.open(o,"_blank");e||(a.location.href=o)}p.readyState=p.DONE,s(),l(o)};return p.readyState=p.INIT,e?(o=c().createObjectURL(b),void setTimeout(function(){d.href=o,d.download=i,f(d),s(),l(o),p.readyState=p.DONE})):void t()},p=o.prototype,q=function(a,b,c){return new o(a,b||a.name||"download",c)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(a,b,c){return b=b||a.name||"download",c||(a=n(a)),navigator.msSaveOrOpenBlob(a,b)}:(p.abort=function(){},p.readyState=p.INIT=0,p.WRITING=1,p.DONE=2,p.error=p.onwritestart=p.onprogress=p.onwrite=p.onabort=p.onerror=p.onwriteend=null,q)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);"undefined"!=typeof module&&module.exports?module.exports.saveAs=saveAs:"undefined"!=typeof define&&null!==define&&null!==define.amd&&define("FileSaver.js",function(){return saveAs}),function(a,b){if("object"==typeof exports)module.exports=b(require("underscore"),require("backbone"));else if("function"==typeof define&&define.amd)define(["underscore","backbone"],b);else{for(var c="FilteredCollection",d=c.split("."),e=a,f=0;f<d.length-1;f++)void 0===e[d[f]]&&(e[d[f]]={}),e=e[d[f]];e[d[d.length-1]]=b(a._,a.Backbone)}}(this,function(a,b){function c(c){return{underscore:a,backbone:b}[c]}var d=function(a){function b(a){var c=b.cache[a];if(!c){var d={};c=b.cache[a]={id:a,exports:d},b.modules[a].call(d,c,d)}return c.exports}return b.cache=[],b.modules=[function(a,d){function e(){this._filterResultCache={}}function f(a){for(var b in this._filterResultCache)this._filterResultCache.hasOwnProperty(b)&&delete this._filterResultCache[b][a]}function g(a,b){this._filters[a]&&f.call(this,a),this._filters[a]=b,this.trigger("filtered:add",a)}function h(a){delete this._filters[a],f.call(this,a),this.trigger("filtered:remove",a)}function i(a){this._filterResultCache[a.cid]||(this._filterResultCache[a.cid]={});var b=this._filterResultCache[a.cid];for(var c in this._filters)if(this._filters.hasOwnProperty(c)&&(b.hasOwnProperty(c)||(b[c]=this._filters[c].fn(a)),!b[c]))return!1;return!0}function j(){var a=[];this._superset&&(a=this._superset.filter(p.bind(i,this))),this._collection.reset(a),this.length=this._collection.length}function k(a){if(this._filterResultCache[a.cid]={},i.call(this,a)){if(!this._collection.get(a.cid)){for(var b=this.superset().indexOf(a),c=null,d=b-1;d>=0;d-=1)if(this.contains(this.superset().at(d))){c=this.indexOf(this.superset().at(d))+1;break}c=c||0,this._collection.add(a,{at:c})}}else this._collection.get(a.cid)&&this._collection.remove(a);this.length=this._collection.length}function l(a){this._filterResultCache[a.cid]={},i.call(this,a)||this._collection.get(a.cid)&&this._collection.remove(a)}function m(a,b,c){"change:"===a.slice(0,7)&&l.call(this,arguments[1])}function n(a){this.contains(a)&&this._collection.remove(a),this.length=this._collection.length}function o(a){this._superset=a,this._collection=new q.Collection(a.toArray()),r(this._collection,this),this.resetFilters(),this.listenTo(this._superset,"reset sort",j),this.listenTo(this._superset,"add change",k),this.listenTo(this._superset,"remove",n),this.listenTo(this._superset,"all",m)}var p=c("underscore"),q=c("backbone"),r=b(1),s=b(2),t={defaultFilterName:"__default",filterBy:function(a,b){return b||(b=a,a=this.defaultFilterName),g.call(this,a,s(b)),j.call(this),this},removeFilter:function(a){return a||(a=this.defaultFilterName),h.call(this,a),j.call(this),this},resetFilters:function(){return this._filters={},e.call(this),this.trigger("filtered:reset"),j.call(this),this},superset:function(){return this._superset},refilter:function(a){return"object"==typeof a&&a.cid?k.call(this,a):(e.call(this),j.call(this)),this},getFilters:function(){return p.keys(this._filters)},hasFilter:function(a){return p.contains(this.getFilters(),a)},destroy:function(){this.stopListening(),this._collection.reset([]),this._superset=this._collection,this.length=0,this.trigger("filtered:destroy")}};p.extend(o.prototype,t,q.Events),a.exports=o},function(a,b){function d(a,b){function c(){b.length=a.length}function d(c){var d=e.toArray(arguments),f="change"===c||"change:"===c.slice(0,7);"reset"===c&&(b.models=a.models),e.contains(h,c)?(e.contains(["add","remove","destroy"],c)?d[2]=b:e.contains(["reset","sort"],c)&&(d[1]=b),b.trigger.apply(this,d)):f&&b.contains(d[1])&&b.trigger.apply(this,d)}var i={};return e.each(e.functions(f.Collection.prototype),function(b){e.contains(g,b)||(i[b]=function(){return a[b].apply(a,arguments)})}),e.extend(b,f.Events,i),b.listenTo(a,"all",c),b.listenTo(a,"all",d),b.models=a.models,c(),b}var e=c("underscore"),f=c("backbone"),g=["_onModelEvent","_prepareModel","_removeReference","_reset","add","initialize","sync","remove","reset","set","push","pop","unshift","shift","sort","parse","fetch","create","model","off","on","listenTo","listenToOnce","bind","trigger","once","stopListening"],h=["add","remove","reset","sort","destroy","sync","request","error"];a.exports=d},function(a,b){function d(a,b){return function(c){return c.get(a)===b}}function e(a,b){return function(c){return b(c.get(a))}}function f(a,b){return i.isArray(b)||(b=null),{fn:a,keys:b}}function g(a){var b=i.keys(a),c=i.map(b,function(b){var c=a[b];return i.isFunction(c)?e(b,c):d(b,c)}),g=function(a){for(var b=0;b<c.length;b++)if(!c[b](a))return!1;return!0};return f(g,b)}function h(a,b){return i.isFunction(a)?f(a,b):i.isObject(a)?g(a):void 0}var i=c("underscore");a.exports=h}],b(0)}();return d}),function(a,b){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(a,c){return b(a,c)});else if("undefined"!=typeof exports){var c=require("backbone"),d=require("underscore");module.exports=b(c,d)}else b(a.Backbone,a._)}(this,function(a,b){"use strict";var c=a.ChildViewContainer;return a.ChildViewContainer=function(a,b){var c=function(a){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),b.each(a,this.add,this)};b.extend(c.prototype,{add:function(a,b){var c=a.cid;return this._views[c]=a,a.model&&(this._indexByModel[a.model.cid]=c),b&&(this._indexByCustom[b]=c),this._updateLength(),this},findByModel:function(a){return this.findByModelCid(a.cid)},findByModelCid:function(a){var b=this._indexByModel[a];return this.findByCid(b)},findByCustom:function(a){var b=this._indexByCustom[a];return this.findByCid(b)},findByIndex:function(a){return b.values(this._views)[a]},findByCid:function(a){return this._views[a]},remove:function(a){var c=a.cid;return a.model&&delete this._indexByModel[a.model.cid],b.any(this._indexByCustom,function(a,b){return a===c?(delete this._indexByCustom[b],!0):void 0},this),delete this._views[c],this._updateLength(),this},call:function(a){this.apply(a,b.tail(arguments))},apply:function(a,c){b.each(this._views,function(d){b.isFunction(d[a])&&d[a].apply(d,c||[])})},_updateLength:function(){this.length=b.size(this._views)}});var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck","reduce"];return b.each(d,function(a){c.prototype[a]=function(){var c=b.values(this._views),d=[c].concat(b.toArray(arguments));return b[a].apply(b,d)}}),c}(a,b),a.ChildViewContainer.VERSION="0.1.6",a.ChildViewContainer.noConflict=function(){return a.ChildViewContainer=c,this},a.ChildViewContainer}),function(a,b){"function"==typeof define&&define.amd?define(["underscore","backbone","jquery"],function(c,d,e){return a.Backbone=b(c,d,e)}):"undefined"!=typeof exports&&"undefined"!=typeof require?module.exports=b(require("underscore"),require("backbone"),require("jquery")):a.Backbone=b(a._,a.Backbone,a.jQuery)}(this,function(a,b,c){function d(b,d){if(b&&a.isObject(b)){if(a.isFunction(b.getCacheKey))return b.getCacheKey(d);b=d&&d.url?d.url:a.isFunction(b.url)?b.url():b.url}else if(a.isFunction(b))return b(d);return d&&d.data?"string"==typeof d.data?b+"?"+d.data:b+"?"+c.param(d.data):b}function e(a,c,d){c=c||{};var e=b.fetchCache.getCacheKey(a,c),f=!1,g=c.lastSync||(new Date).getTime(),h=!1;e&&c.cache!==!1&&(c.cache||c.prefill)&&(c.expires!==!1&&(f=(new Date).getTime()+1e3*(c.expires||300)),c.prefillExpires!==!1&&(h=(new Date).getTime()+1e3*(c.prefillExpires||300)),b.fetchCache._cache[e]={expires:f,lastSync:g,prefillExpires:h,value:d},b.fetchCache.setLocalStorage())}function f(c,e){return a.isFunction(c)?c=c():c&&a.isObject(c)&&(c=d(c,e)),b.fetchCache._cache[c]}function g(a,b){return f(a).lastSync}function h(c,e){a.isFunction(c)?c=c():c&&a.isObject(c)&&(c=d(c,e)),delete b.fetchCache._cache[c],b.fetchCache.setLocalStorage()}function i(){b.fetchCache._cache={}}function j(){if(n&&b.fetchCache.localStorage)try{localStorage.setItem(b.fetchCache.getLocalStorageKey(),JSON.stringify(b.fetchCache._cache))}catch(a){var c=a.code||a.number||a.message;if(22!==c&&1014!==c)throw a;this._deleteCacheWithPriority()}}function k(){if(n&&b.fetchCache.localStorage){var a=localStorage.getItem(b.fetchCache.getLocalStorageKey())||"{}";b.fetchCache._cache=JSON.parse(a)}}function l(a){return window.setTimeout(a,0)}var m={modelFetch:b.Model.prototype.fetch,modelSync:b.Model.prototype.sync,collectionFetch:b.Collection.prototype.fetch},n=function(){var a="undefined"!=typeof window.localStorage;if(a)try{localStorage.setItem("test_support","test_support"),localStorage.removeItem("test_support")}catch(b){a=!1}return a}();return b.fetchCache=b.fetchCache||{},b.fetchCache._cache=b.fetchCache._cache||{},b.fetchCache.enabled=!0,b.fetchCache.priorityFn=function(a,b){return a&&a.expires&&b&&b.expires?a.expires-b.expires:a},b.fetchCache._prioritize=function(){var b=a.values(this._cache).sort(this.priorityFn),c=a.indexOf(a.values(this._cache),b[0]);return a.keys(this._cache)[c]},b.fetchCache._deleteCacheWithPriority=function(){b.fetchCache._cache[this._prioritize()]=null,delete b.fetchCache._cache[this._prioritize()],b.fetchCache.setLocalStorage()},b.fetchCache.getLocalStorageKey=function(){return"backboneCache"},"undefined"==typeof b.fetchCache.localStorage&&(b.fetchCache.localStorage=!0),b.Model.prototype.fetch=function(d){function e(){return d.prefill&&(!d.prefillExpires||k)}function g(){d.parse&&(n=q.parse(n,d)),q.set(n,d),a.isFunction(d.prefillSuccess)&&d.prefillSuccess.call(p,q,n,d),q.trigger("cachesync",q,n,d),q.trigger("sync",q,n,d),e()?o.notifyWith(p,[q]):(a.isFunction(d.success)&&d.success.call(p,q,n,d),o.resolveWith(p,[q]))}if(!b.fetchCache.enabled)return m.modelFetch.apply(this,arguments);d=a.defaults(d||{},{parse:!0});var h=b.fetchCache.getCacheKey(this,d),i=f(h),j=!1,k=!1,n=!1,o=new c.Deferred,p=d.context||this,q=this;if(i&&(j=i.expires,j=j&&i.expires<(new Date).getTime(),k=i.prefillExpires,k=k&&i.prefillExpires<(new Date).getTime(),n=i.value),!j&&(d.cache||d.prefill)&&n&&(null==d.async&&(d.async=!0),d.async?l(g):g(),!e()))return o.promise();var r=m.modelFetch.apply(this,arguments);return"undefined"!=typeof r&&(r.done(a.bind(o.resolve,p,this)).done(a.bind(b.fetchCache.setCache,null,this,d)).fail(a.bind(o.reject,p,this)),o.abort=r.abort),o.promise()},b.Model.prototype.sync=function(a,c,d){if("read"===a||!b.fetchCache.enabled)return m.modelSync.apply(this,arguments);var e,f,g=c.collection,i=[];for(i.push(b.fetchCache.getCacheKey(c,d)),g&&i.push(b.fetchCache.getCacheKey(g)),e=0,f=i.length;f>e;e++)h(i[e]);return m.modelSync.apply(this,arguments)},b.Collection.prototype.fetch=function(d){function e(){return d.prefill&&(!d.prefillExpires||k)}function g(){q[d.reset?"reset":"set"](n,d),a.isFunction(d.prefillSuccess)&&d.prefillSuccess.call(p,q),q.trigger("cachesync",q,n,d),q.trigger("sync",q,n,d),e()?o.notifyWith(p,[q]):(a.isFunction(d.success)&&d.success.call(p,q,n,d),o.resolveWith(p,[q]))}if(!b.fetchCache.enabled)return m.collectionFetch.apply(this,arguments);d=a.defaults(d||{},{parse:!0});var h=b.fetchCache.getCacheKey(this,d),i=f(h),j=!1,k=!1,n=!1,o=new c.Deferred,p=d.context||this,q=this;if(i&&(j=i.expires,j=j&&i.expires<(new Date).getTime(),k=i.prefillExpires,k=k&&i.prefillExpires<(new Date).getTime(),n=i.value),!j&&(d.cache||d.prefill)&&n&&(null==d.async&&(d.async=!0),d.async?l(g):g(),!e()))return o.promise();var r=m.collectionFetch.apply(this,arguments);return"undefined"!=typeof r&&(r.done(a.bind(o.resolve,p,this)).done(a.bind(b.fetchCache.setCache,null,this,d)).fail(a.bind(o.reject,p,this)),o.abort=r.abort),o.promise()},k(),b.fetchCache._superMethods=m,b.fetchCache.setCache=e,b.fetchCache.getCache=f,b.fetchCache.getCacheKey=d,b.fetchCache.getLastSync=g,b.fetchCache.clearItem=h,b.fetchCache.reset=i,b.fetchCache.setLocalStorage=j,b.fetchCache.getLocalStorage=k,b}),function(a,b){"object"==typeof exports&&"function"==typeof require?module.exports=b(require("backbone")):"function"==typeof define&&define.amd?define(["backbone"],function(c){return b(c||a.Backbone)}):b(Backbone)}(this,function(a){function b(){return(65536*(1+Math.random())|0).toString(16).substring(1)}function c(){return b()+b()+"-"+b()+"-"+b()+"-"+b()+"-"+b()+b()+b()}function d(a){return a===Object(a)}function e(a,b){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1}function f(a,b){for(var c in b)a[c]=b[c];return a}function g(a,b){if(null==a)return void 0;var c=a[b];return"function"==typeof c?a[b]():c}return a.LocalStorage=window.Store=function(a,b){if(!this.localStorage)throw"Backbone.localStorage: Environment does not support localStorage.";this.name=a,this.serializer=b||{serialize:function(a){return d(a)?JSON.stringify(a):a},deserialize:function(a){return a&&JSON.parse(a)}};var c=this.localStorage().getItem(this.name);this.records=c&&c.split(",")||[]},f(a.LocalStorage.prototype,{save:function(){this.localStorage().setItem(this.name,this.records.join(","))},create:function(a){return a.id||0===a.id||(a.id=c(),a.set(a.idAttribute,a.id)),this.localStorage().setItem(this._itemName(a.id),this.serializer.serialize(a)),this.records.push(a.id.toString()),this.save(),this.find(a)},update:function(a){this.localStorage().setItem(this._itemName(a.id),this.serializer.serialize(a));var b=a.id.toString();return e(this.records,b)||(this.records.push(b),this.save()),this.find(a)},find:function(a){return this.serializer.deserialize(this.localStorage().getItem(this._itemName(a.id)))},findAll:function(){for(var a,b,c=[],d=0;d<this.records.length;d++)a=this.records[d],b=this.serializer.deserialize(this.localStorage().getItem(this._itemName(a))),null!=b&&c.push(b);return c},destroy:function(a){this.localStorage().removeItem(this._itemName(a.id));for(var b=a.id.toString(),c=0;c<this.records.length;c++)this.records[c]===b&&this.records.splice(c,1);return this.save(),a},localStorage:function(){return localStorage},_clear:function(){var a=this.localStorage(),b=new RegExp("^"+this.name+"-");a.removeItem(this.name);for(var c in a)b.test(c)&&a.removeItem(c);this.records.length=0},_storageSize:function(){return this.localStorage().length},_itemName:function(a){return this.name+"-"+a}}),a.LocalStorage.sync=window.Store.sync=a.localSync=function(b,c,d){var e,f,h=g(c,"localStorage")||g(c.collection,"localStorage"),i=a.$?a.$.Deferred&&a.$.Deferred():a.Deferred&&a.Deferred();try{switch(b){case"read":e=void 0!=c.id?h.find(c):h.findAll();break;case"create":e=h.create(c);break;case"update":e=h.update(c);break;case"delete":e=h.destroy(c)}}catch(j){f=22===j.code&&0===h._storageSize()?"Private browsing is unsupported":j.message}return e?(d&&d.success&&("0.9.10"===a.VERSION?d.success(c,e,d):d.success(e)),i&&i.resolve(e)):(f=f?f:"Record Not Found",d&&d.error&&("0.9.10"===a.VERSION?d.error(c,f,d):d.error(f)),i&&i.reject(f)),d&&d.complete&&d.complete(e),i&&i.promise()},a.ajaxSync=a.sync,a.getSyncMethod=function(b,c){var d=c&&c.ajaxSync;return d||!g(b,"localStorage")&&!g(b.collection,"localStorage")?a.ajaxSync:a.localSync},a.sync=function(b,c,d){return a.getSyncMethod(c,d).apply(this,[b,c,d])},a.LocalStorage}),function(a,b){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(c,d){return a.Marionette=a.Mn=b(a,c,d)});else if("undefined"!=typeof exports){var c=require("backbone"),d=require("underscore");module.exports=b(a,c,d)}else a.Marionette=a.Mn=b(a,a.Backbone,a._)}(this,function(a,b,c){"use strict";!function(a,b){var c=a.ChildViewContainer;return a.ChildViewContainer=function(a,b){var c=function(a){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),b.each(a,this.add,this)};b.extend(c.prototype,{add:function(a,b){var c=a.cid;return this._views[c]=a,a.model&&(this._indexByModel[a.model.cid]=c),b&&(this._indexByCustom[b]=c),this._updateLength(),this},findByModel:function(a){return this.findByModelCid(a.cid)},findByModelCid:function(a){var b=this._indexByModel[a];return this.findByCid(b)},findByCustom:function(a){var b=this._indexByCustom[a];return this.findByCid(b)},findByIndex:function(a){return b.values(this._views)[a]},findByCid:function(a){return this._views[a]},remove:function(a){var c=a.cid;return a.model&&delete this._indexByModel[a.model.cid],b.any(this._indexByCustom,function(a,b){return a===c?(delete this._indexByCustom[b],!0):void 0},this),delete this._views[c],this._updateLength(),this},call:function(a){this.apply(a,b.tail(arguments))},apply:function(a,c){b.each(this._views,function(d){b.isFunction(d[a])&&d[a].apply(d,c||[])})},_updateLength:function(){this.length=b.size(this._views)}});var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return b.each(d,function(a){c.prototype[a]=function(){var c=b.values(this._views),d=[c].concat(b.toArray(arguments));return b[a].apply(b,d)}}),c}(a,b),a.ChildViewContainer.VERSION="0.1.5",a.ChildViewContainer.noConflict=function(){return a.ChildViewContainer=c,this},a.ChildViewContainer}(b,c),function(a,b){var c=a.Wreqr,d=a.Wreqr={};return a.Wreqr.VERSION="1.3.1",a.Wreqr.noConflict=function(){return a.Wreqr=c,this},d.Handlers=function(a,b){var c=function(a){this.options=a,this._wreqrHandlers={},b.isFunction(this.initialize)&&this.initialize(a)};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events,{setHandlers:function(a){b.each(a,function(a,c){var d=null;b.isObject(a)&&!b.isFunction(a)&&(d=a.context,a=a.callback),this.setHandler(c,a,d)},this)},setHandler:function(a,b,c){var d={callback:b,context:c};this._wreqrHandlers[a]=d,this.trigger("handler:add",a,b,c)},hasHandler:function(a){return!!this._wreqrHandlers[a]},getHandler:function(a){var b=this._wreqrHandlers[a];if(b)return function(){var a=Array.prototype.slice.apply(arguments);return b.callback.apply(b.context,a)}},removeHandler:function(a){delete this._wreqrHandlers[a]},removeAllHandlers:function(){this._wreqrHandlers={}}}),c}(a,b),d.CommandStorage=function(){var c=function(a){this.options=a,this._commands={},b.isFunction(this.initialize)&&this.initialize(a)};return b.extend(c.prototype,a.Events,{getCommands:function(a){var b=this._commands[a];return b||(b={command:a,instances:[]},this._commands[a]=b),b},addCommand:function(a,b){var c=this.getCommands(a);c.instances.push(b)},clearCommands:function(a){var b=this.getCommands(a);b.instances=[]}}),c}(),d.Commands=function(a){return a.Handlers.extend({storageType:a.CommandStorage,constructor:function(b){this.options=b||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this);var c=Array.prototype.slice.call(arguments);a.Handlers.prototype.constructor.apply(this,c)},execute:function(a,b){a=arguments[0],b=Array.prototype.slice.call(arguments,1),this.hasHandler(a)?this.getHandler(a).apply(this,b):this.storage.addCommand(a,b)},_executeCommands:function(a,c,d){var e=this.storage.getCommands(a);b.each(e.instances,function(a){c.apply(d,a)}),this.storage.clearCommands(a)},_initializeStorage:function(a){var c,d=a.storageType||this.storageType;c=b.isFunction(d)?new d:d,this.storage=c}})}(d),d.RequestResponse=function(a){return a.Handlers.extend({request:function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);return this.hasHandler(a)?this.getHandler(a).apply(this,b):void 0}})}(d),d.EventAggregator=function(a,b){var c=function(){};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events),c}(a,b),d.Channel=function(c){var d=function(b){this.vent=new a.Wreqr.EventAggregator,this.reqres=new a.Wreqr.RequestResponse,this.commands=new a.Wreqr.Commands,this.channelName=b};return b.extend(d.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(a,b){return this._connect("vent",a,b),this},connectCommands:function(a,b){return this._connect("commands",a,b),this},connectRequests:function(a,b){return this._connect("reqres",a,b),this},_connect:function(a,c,d){if(c){d=d||this;var e="vent"===a?"on":"setHandler";b.each(c,function(c,f){this[a][e](f,b.bind(c,d))},this)}}}),d}(d),d.radio=function(a){var c=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};b.extend(c.prototype,{channel:function(a){if(!a)throw new Error("Channel must receive a name");return this._getChannel(a)},_getChannel:function(b){var c=this._channels[b];return c||(c=new a.Channel(b),this._channels[b]=c),c},_proxyMethods:function(){b.each(["vent","commands","reqres"],function(a){b.each(d[a],function(b){this[a][b]=e(this,a,b)},this)},this)}});var d={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},e=function(a,b,c){return function(d){var e=a._getChannel(d)[b],f=Array.prototype.slice.call(arguments,1);return e[c].apply(e,f)}};return new c}(d),a.Wreqr}(b,c);var d=a.Marionette,e=b.Marionette={};e.VERSION="2.3.1",e.noConflict=function(){return a.Marionette=d,this},b.Marionette=e,e.Deferred=b.$.Deferred,e.extend=b.Model.extend,e.isNodeAttached=function(a){return b.$.contains(document.documentElement,a)},e.getOption=function(a,b){return a&&b?a.options&&void 0!==a.options[b]?a.options[b]:a[b]:void 0},e.proxyGetOption=function(a){return e.getOption(this,a)},e._getValue=function(a,b,d){return c.isFunction(a)&&(a=a.apply(b,d)),a},e.normalizeMethods=function(a){return c.reduce(a,function(a,b,d){return c.isFunction(b)||(b=this[b]),b&&(a[d]=b),a},{},this)},e.normalizeUIString=function(a,b){return a.replace(/@ui\.[a-zA-Z_$0-9]*/g,function(a){return b[a.slice(4)]})},e.normalizeUIKeys=function(a,b){return c.reduce(a,function(a,c,d){var f=e.normalizeUIString(d,b);return a[f]=c,a},{})},e.normalizeUIValues=function(a,b){return c.each(a,function(d,f){c.isString(d)&&(a[f]=e.normalizeUIString(d,b))}),a},e.actAsCollection=function(a,b){var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];c.each(d,function(d){a[d]=function(){var a=c.values(c.result(this,b)),e=[a].concat(c.toArray(arguments));return c[d].apply(c,e)}})};var f=e.deprecate=function(a,b){c.isObject(a)&&(a=a.prev+" is going to be removed in the future. Please use "+a.next+" instead."+(a.url?" See: "+a.url:"")),void 0!==b&&b||f._cache[a]||(f._warn("Deprecation warning: "+a),f._cache[a]=!0)};f._warn="undefined"!=typeof console&&(console.warn||console.log)||function(){},f._cache={},e._triggerMethod=function(){function a(a,b,c){return c.toUpperCase()}var b=/(^|:)(\w)/gi;return function(d,e,f){var g=arguments.length<3;g&&(f=e,e=f[0]);var h,i="on"+e.replace(b,a),j=d[i];return c.isFunction(j)&&(h=j.apply(d,g?c.rest(f):f)),c.isFunction(d.trigger)&&(g+f.length>1?d.trigger.apply(d,g?f:[e].concat(c.rest(f,0))):d.trigger(e)),h}}(),e.triggerMethod=function(a){return e._triggerMethod(this,arguments)},
+e.triggerMethodOn=function(a){var b=c.isFunction(a.triggerMethod)?a.triggerMethod:e.triggerMethod;return b.apply(a,c.rest(arguments))},e.MonitorDOMRefresh=function(a){function b(){a._isShown=!0,f()}function d(){a._isRendered=!0,f()}function f(){a._isShown&&a._isRendered&&e.isNodeAttached(a.el)&&c.isFunction(a.triggerMethod)&&a.triggerMethod("dom:refresh")}a.on({show:b,render:d})},function(a){function b(b,d,e,f){var g=f.split(/\s+/);c.each(g,function(c){var f=b[c];if(!f)throw new a.Error('Method "'+c+'" was configured as an event handler, but does not exist.');b.listenTo(d,e,f)})}function d(a,b,c,d){a.listenTo(b,c,d)}function e(a,b,d,e){var f=e.split(/\s+/);c.each(f,function(c){var e=a[c];a.stopListening(b,d,e)})}function f(a,b,c,d){a.stopListening(b,c,d)}function g(b,d,e,f,g){if(d&&e){if(!c.isObject(e))throw new a.Error({message:"Bindings must be an object or function.",url:"marionette.functions.html#marionettebindentityevents"});e=a._getValue(e,b),c.each(e,function(a,e){c.isFunction(a)?f(b,d,e,a):g(b,d,e,a)})}}a.bindEntityEvents=function(a,c,e){g(a,c,e,d,b)},a.unbindEntityEvents=function(a,b,c){g(a,b,c,f,e)},a.proxyBindEntityEvents=function(b,c){return a.bindEntityEvents(this,b,c)},a.proxyUnbindEntityEvents=function(b,c){return a.unbindEntityEvents(this,b,c)}}(e);var g=["description","fileName","lineNumber","name","message","number"];return e.Error=e.extend.call(Error,{urlRoot:"http://marionettejs.com/docs/v"+e.VERSION+"/",constructor:function(a,b){c.isObject(a)?(b=a,a=b.message):b||(b={});var d=Error.call(this,a);c.extend(this,c.pick(d,g),c.pick(b,g)),this.captureStackTrace(),b.url&&(this.url=this.urlRoot+b.url)},captureStackTrace:function(){Error.captureStackTrace&&Error.captureStackTrace(this,e.Error)},toString:function(){return this.name+": "+this.message+(this.url?" See: "+this.url:"")}}),e.Error.extend=e.extend,e.Callbacks=function(){this._deferred=e.Deferred(),this._callbacks=[]},c.extend(e.Callbacks.prototype,{add:function(a,b){var d=c.result(this._deferred,"promise");this._callbacks.push({cb:a,ctx:b}),d.then(function(c){b&&(c.context=b),a.call(c.context,c.options)})},run:function(a,b){this._deferred.resolve({options:a,context:b})},reset:function(){var a=this._callbacks;this._deferred=e.Deferred(),this._callbacks=[],c.each(a,function(a){this.add(a.cb,a.ctx)},this)}}),e.Controller=function(a){this.options=a||{},c.isFunction(this.initialize)&&this.initialize(this.options)},e.Controller.extend=e.extend,c.extend(e.Controller.prototype,b.Events,{destroy:function(){return e._triggerMethod(this,"before:destroy",arguments),e._triggerMethod(this,"destroy",arguments),this.stopListening(),this.off(),this},triggerMethod:e.triggerMethod,getOption:e.proxyGetOption}),e.Object=function(a){this.options=c.extend({},c.result(this,"options"),a),this.initialize.apply(this,arguments)},e.Object.extend=e.extend,c.extend(e.Object.prototype,b.Events,{initialize:function(){},destroy:function(){this.triggerMethod("before:destroy"),this.triggerMethod("destroy"),this.stopListening()},triggerMethod:e.triggerMethod,getOption:e.proxyGetOption,bindEntityEvents:e.proxyBindEntityEvents,unbindEntityEvents:e.proxyUnbindEntityEvents}),e.Region=e.Object.extend({constructor:function(a){if(this.options=a||{},this.el=this.getOption("el"),this.el=this.el instanceof b.$?this.el[0]:this.el,!this.el)throw new e.Error({name:"NoElError",message:'An "el" must be specified for a region.'});this.$el=this.getEl(this.el),e.Object.call(this,a)},show:function(a,b){if(this._ensureElement()){this._ensureViewIsIntact(a);var c=b||{},d=a!==this.currentView,f=!!c.preventDestroy,g=!!c.forceShow,h=!!this.currentView,i=d&&!f,j=d||g;if(h&&this.triggerMethod("before:swapOut",this.currentView,this,b),this.currentView&&delete this.currentView._parent,i?this.empty():h&&j&&this.currentView.off("destroy",this.empty,this),j){a.once("destroy",this.empty,this),a.render(),a._parent=this,h&&this.triggerMethod("before:swap",a,this,b),this.triggerMethod("before:show",a,this,b),e.triggerMethodOn(a,"before:show",a,this,b),h&&this.triggerMethod("swapOut",this.currentView,this,b);var k=e.isNodeAttached(this.el),l=[],m=c.triggerBeforeAttach||this.triggerBeforeAttach,n=c.triggerAttach||this.triggerAttach;return k&&m&&(l=this._displayedViews(a),this._triggerAttach(l,"before:")),this.attachHtml(a),this.currentView=a,k&&n&&(l=this._displayedViews(a),this._triggerAttach(l)),h&&this.triggerMethod("swap",a,this,b),this.triggerMethod("show",a,this,b),e.triggerMethodOn(a,"show",a,this,b),this}return this}},triggerBeforeAttach:!0,triggerAttach:!0,_triggerAttach:function(a,b){var d=(b||"")+"attach";c.each(a,function(a){e.triggerMethodOn(a,d,a,this)},this)},_displayedViews:function(a){return c.union([a],c.result(a,"_getNestedViews")||[])},_ensureElement:function(){if(c.isObject(this.el)||(this.$el=this.getEl(this.el),this.el=this.$el[0]),!this.$el||0===this.$el.length){if(this.getOption("allowMissingEl"))return!1;throw new e.Error('An "el" '+this.$el.selector+" must exist in DOM")}return!0},_ensureViewIsIntact:function(a){if(!a)throw new e.Error({name:"ViewNotValid",message:"The view passed is undefined and therefore invalid. You must pass a view instance to show."});if(a.isDestroyed)throw new e.Error({name:"ViewDestroyedError",message:'View (cid: "'+a.cid+'") has already been destroyed and cannot be used.'})},getEl:function(a){return b.$(a,e._getValue(this.options.parentEl,this))},attachHtml:function(a){this.$el.contents().detach(),this.el.appendChild(a.el)},empty:function(){var a=this.currentView;if(a)return a.off("destroy",this.empty,this),this.triggerMethod("before:empty",a),this._destroyView(),this.triggerMethod("empty",a),delete this.currentView,this},_destroyView:function(){var a=this.currentView;a.destroy&&!a.isDestroyed?a.destroy():a.remove&&(a.remove(),a.isDestroyed=!0)},attachView:function(a){return this.currentView=a,this},hasView:function(){return!!this.currentView},reset:function(){return this.empty(),this.$el&&(this.el=this.$el.selector),delete this.$el,this}},{buildRegion:function(a,b){if(c.isString(a))return this._buildRegionFromSelector(a,b);if(a.selector||a.el||a.regionClass)return this._buildRegionFromObject(a,b);if(c.isFunction(a))return this._buildRegionFromRegionClass(a);throw new e.Error({message:"Improper region configuration type.",url:"marionette.region.html#region-configuration-types"})},_buildRegionFromSelector:function(a,b){return new b({el:a})},_buildRegionFromObject:function(a,b){var d=a.regionClass||b,e=c.omit(a,"selector","regionClass");return a.selector&&!e.el&&(e.el=a.selector),new d(e)},_buildRegionFromRegionClass:function(a){return new a}}),e.RegionManager=e.Controller.extend({constructor:function(a){this._regions={},e.Controller.call(this,a),this.addRegions(this.getOption("regions"))},addRegions:function(a,b){return a=e._getValue(a,this,arguments),c.reduce(a,function(a,d,e){return c.isString(d)&&(d={selector:d}),d.selector&&(d=c.defaults({},d,b)),a[e]=this.addRegion(e,d),a},{},this)},addRegion:function(a,b){var c;return c=b instanceof e.Region?b:e.Region.buildRegion(b,e.Region),this.triggerMethod("before:add:region",a,c),c._parent=this,this._store(a,c),this.triggerMethod("add:region",a,c),c},get:function(a){return this._regions[a]},getRegions:function(){return c.clone(this._regions)},removeRegion:function(a){var b=this._regions[a];return this._remove(a,b),b},removeRegions:function(){var a=this.getRegions();return c.each(this._regions,function(a,b){this._remove(b,a)},this),a},emptyRegions:function(){var a=this.getRegions();return c.invoke(a,"empty"),a},destroy:function(){return this.removeRegions(),e.Controller.prototype.destroy.apply(this,arguments)},_store:function(a,b){this._regions[a]=b,this._setLength()},_remove:function(a,b){this.triggerMethod("before:remove:region",a,b),b.empty(),b.stopListening(),delete b._parent,delete this._regions[a],this._setLength(),this.triggerMethod("remove:region",a,b)},_setLength:function(){this.length=c.size(this._regions)}}),e.actAsCollection(e.RegionManager.prototype,"_regions"),e.TemplateCache=function(a){this.templateId=a},c.extend(e.TemplateCache,{templateCaches:{},get:function(a){var b=this.templateCaches[a];return b||(b=new e.TemplateCache(a),this.templateCaches[a]=b),b.load()},clear:function(){var a,b=c.toArray(arguments),d=b.length;if(d>0)for(a=0;d>a;a++)delete this.templateCaches[b[a]];else this.templateCaches={}}}),c.extend(e.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var a=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(a),this.compiledTemplate},loadTemplate:function(a){var c=b.$(a).html();if(!c||0===c.length)throw new e.Error({name:"NoTemplateError",message:'Could not find template: "'+a+'"'});return c},compileTemplate:function(a){return c.template(a)}}),e.Renderer={render:function(a,b){if(!a)throw new e.Error({name:"TemplateNotFoundError",message:"Cannot render the template since its false, null or undefined."});var d=c.isFunction(a)?a:e.TemplateCache.get(a);return d(b)}},e.View=b.View.extend({isDestroyed:!1,constructor:function(a){c.bindAll(this,"render"),a=e._getValue(a,this),this.options=c.extend({},c.result(this,"options"),a),this._behaviors=e.Behaviors(this),b.View.apply(this,arguments),e.MonitorDOMRefresh(this),this.on("show",this.onShowCalled)},getTemplate:function(){return this.getOption("template")},serializeModel:function(a){return a.toJSON.apply(a,c.rest(arguments))},mixinTemplateHelpers:function(a){a=a||{};var b=this.getOption("templateHelpers");return b=e._getValue(b,this),c.extend(a,b)},normalizeUIKeys:function(a){var b=c.result(this,"_uiBindings");return e.normalizeUIKeys(a,b||c.result(this,"ui"))},normalizeUIValues:function(a){var b=c.result(this,"ui"),d=c.result(this,"_uiBindings");return e.normalizeUIValues(a,d||b)},configureTriggers:function(){if(this.triggers){var a=this.normalizeUIKeys(c.result(this,"triggers"));return c.reduce(a,function(a,b,c){return a[c]=this._buildViewTrigger(b),a},{},this)}},delegateEvents:function(a){return this._delegateDOMEvents(a),this.bindEntityEvents(this.model,this.getOption("modelEvents")),this.bindEntityEvents(this.collection,this.getOption("collectionEvents")),c.each(this._behaviors,function(a){a.bindEntityEvents(this.model,a.getOption("modelEvents")),a.bindEntityEvents(this.collection,a.getOption("collectionEvents"))},this),this},_delegateDOMEvents:function(a){var d=e._getValue(a||this.events,this);d=this.normalizeUIKeys(d),c.isUndefined(a)&&(this.events=d);var f={},g=c.result(this,"behaviorEvents")||{},h=this.configureTriggers(),i=c.result(this,"behaviorTriggers")||{};c.extend(f,g,d,h,i),b.View.prototype.delegateEvents.call(this,f)},undelegateEvents:function(){return b.View.prototype.undelegateEvents.apply(this,arguments),this.unbindEntityEvents(this.model,this.getOption("modelEvents")),this.unbindEntityEvents(this.collection,this.getOption("collectionEvents")),c.each(this._behaviors,function(a){a.unbindEntityEvents(this.model,a.getOption("modelEvents")),a.unbindEntityEvents(this.collection,a.getOption("collectionEvents"))},this),this},onShowCalled:function(){},_ensureViewIsIntact:function(){if(this.isDestroyed)throw new e.Error({name:"ViewDestroyedError",message:'View (cid: "'+this.cid+'") has already been destroyed and cannot be used.'})},destroy:function(){if(!this.isDestroyed){var a=c.toArray(arguments);return this.triggerMethod.apply(this,["before:destroy"].concat(a)),this.isDestroyed=!0,this.triggerMethod.apply(this,["destroy"].concat(a)),this.unbindUIElements(),this.remove(),c.invoke(this._behaviors,"destroy",a),this}},bindUIElements:function(){this._bindUIElements(),c.invoke(this._behaviors,this._bindUIElements)},_bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var a=c.result(this,"_uiBindings");this.ui={},c.each(a,function(a,b){this.ui[b]=this.$(a)},this)}},unbindUIElements:function(){this._unbindUIElements(),c.invoke(this._behaviors,this._unbindUIElements)},_unbindUIElements:function(){this.ui&&this._uiBindings&&(c.each(this.ui,function(a,b){delete this.ui[b]},this),this.ui=this._uiBindings,delete this._uiBindings)},_buildViewTrigger:function(a){var b=c.isObject(a),d=c.defaults({},b?a:{},{preventDefault:!0,stopPropagation:!0}),e=b?d.event:a;return function(a){a&&(a.preventDefault&&d.preventDefault&&a.preventDefault(),a.stopPropagation&&d.stopPropagation&&a.stopPropagation());var b={view:this,model:this.model,collection:this.collection};this.triggerMethod(e,b)}},setElement:function(){var a=b.View.prototype.setElement.apply(this,arguments);return c.invoke(this._behaviors,"proxyViewProperties",this),a},triggerMethod:function(){for(var a=e._triggerMethod,b=a(this,arguments),c=this._behaviors,d=0,f=c&&c.length;f>d;d++)a(c[d],arguments);return b},_getImmediateChildren:function(){return[]},_getNestedViews:function(){var a=this._getImmediateChildren();return a.length?c.reduce(a,function(a,b){return b._getNestedViews?a.concat(b._getNestedViews()):a},a):a},normalizeMethods:e.normalizeMethods,getOption:e.proxyGetOption,bindEntityEvents:e.proxyBindEntityEvents,unbindEntityEvents:e.proxyUnbindEntityEvents}),e.ItemView=e.View.extend({constructor:function(){e.View.apply(this,arguments)},serializeData:function(){if(!this.model&&!this.collection)return{};var a=[this.model||this.collection];return arguments.length&&a.push.apply(a,arguments),this.model?this.serializeModel.apply(this,a):{items:this.serializeCollection.apply(this,a)}},serializeCollection:function(a){return a.toJSON.apply(a,c.rest(arguments))},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderTemplate(),this.bindUIElements(),this.triggerMethod("render",this),this},_renderTemplate:function(){var a=this.getTemplate();if(a!==!1){if(!a)throw new e.Error({name:"UndefinedTemplateError",message:"Cannot render the template since it is null or undefined."});var b=this.serializeData();b=this.mixinTemplateHelpers(b);var c=e.Renderer.render(a,b,this);return this.attachElContent(c),this}},attachElContent:function(a){return this.$el.html(a),this}}),e.CollectionView=e.View.extend({childViewEventPrefix:"childview",constructor:function(a){var b=a||{};c.isUndefined(this.sort)&&(this.sort=c.isUndefined(b.sort)?!0:b.sort),this.once("render",this._initialEvents),this._initChildViewStorage(),e.View.apply(this,arguments),this.initRenderBuffer()},initRenderBuffer:function(){this.elBuffer=document.createDocumentFragment(),this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){this.isBuffering=!1,this._triggerBeforeShowBufferedChildren(),this.attachBuffer(this,this.elBuffer),this._triggerShowBufferedChildren(),this.initRenderBuffer()},_triggerBeforeShowBufferedChildren:function(){this._isShown&&c.each(this._bufferedChildren,c.partial(this._triggerMethodOnChild,"before:show"))},_triggerShowBufferedChildren:function(){this._isShown&&(c.each(this._bufferedChildren,c.partial(this._triggerMethodOnChild,"show")),this._bufferedChildren=[])},_triggerMethodOnChild:function(a,b){e.triggerMethodOn(b,a)},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this.render),this.sort&&this.listenTo(this.collection,"sort",this._sortViews))},_onCollectionAdd:function(a){this.destroyEmptyView();var b=this.getChildView(a),c=this.collection.indexOf(a);this.addChild(a,b,c)},_onCollectionRemove:function(a){var b=this.children.findByModel(a);this.removeChildView(b),this.checkEmpty()},onShowCalled:function(){this.children.each(c.partial(this._triggerMethodOnChild,"show"))},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderChildren(),this.triggerMethod("render",this),this},resortView:function(){this.render()},_sortViews:function(){var a=this.collection.find(function(a,b){var c=this.children.findByModel(a);return!c||c._index!==b},this);a&&this.resortView()},_emptyViewIndex:-1,_renderChildren:function(){this.destroyEmptyView(),this.destroyChildren(),this.isEmpty(this.collection)?this.showEmptyView():(this.triggerMethod("before:render:collection",this),this.startBuffering(),this.showCollection(),this.endBuffering(),this.triggerMethod("render:collection",this))},showCollection:function(){var a;this.collection.each(function(b,c){a=this.getChildView(b),this.addChild(b,a,c)},this)},showEmptyView:function(){var a=this.getEmptyView();if(a&&!this._showingEmptyView){this.triggerMethod("before:render:empty"),this._showingEmptyView=!0;var c=new b.Model;this.addEmptyView(c,a),this.triggerMethod("render:empty")}},destroyEmptyView:function(){this._showingEmptyView&&(this.triggerMethod("before:remove:empty"),this.destroyChildren(),delete this._showingEmptyView,this.triggerMethod("remove:empty"))},getEmptyView:function(){return this.getOption("emptyView")},addEmptyView:function(a,b){var d=this.getOption("emptyViewOptions")||this.getOption("childViewOptions");c.isFunction(d)&&(d=d.call(this,a,this._emptyViewIndex));var f=this.buildChildView(a,b,d);f._parent=this,this.proxyChildEvents(f),this._isShown&&e.triggerMethodOn(f,"before:show"),this.children.add(f),this.renderChildView(f,this._emptyViewIndex),this._isShown&&e.triggerMethodOn(f,"show")},getChildView:function(a){var b=this.getOption("childView");if(!b)throw new e.Error({name:"NoChildViewError",message:'A "childView" must be specified'});return b},addChild:function(a,b,c){var d=this.getOption("childViewOptions");d=e._getValue(d,this,[a,c]);var f=this.buildChildView(a,b,d);return this._updateIndices(f,!0,c),this._addChildView(f,c),f._parent=this,f},_updateIndices:function(a,b,c){this.sort&&(b&&(a._index=c),this.children.each(function(c){c._index>=a._index&&(c._index+=b?1:-1)}))},_addChildView:function(a,b){this.proxyChildEvents(a),this.triggerMethod("before:add:child",a),this.children.add(a),this.renderChildView(a,b),this._isShown&&!this.isBuffering&&e.triggerMethodOn(a,"show"),this.triggerMethod("add:child",a)},renderChildView:function(a,b){return a.render(),this.attachHtml(this,a,b),a},buildChildView:function(a,b,d){var e=c.extend({model:a},d);return new b(e)},removeChildView:function(a){return a&&(this.triggerMethod("before:remove:child",a),a.destroy?a.destroy():a.remove&&a.remove(),delete a._parent,this.stopListening(a),this.children.remove(a),this.triggerMethod("remove:child",a),this._updateIndices(a,!1)),a},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},attachBuffer:function(a,b){a.$el.append(b)},attachHtml:function(a,b,c){a.isBuffering?(a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b)):a._insertBefore(b,c)||a._insertAfter(b)},_insertBefore:function(a,b){var c,d=this.sort&&b<this.children.length-1;return d&&(c=this.children.find(function(a){return a._index===b+1})),c?(c.$el.before(a.el),!0):!1},_insertAfter:function(a){this.$el.append(a.el)},_initChildViewStorage:function(){this.children=new b.ChildViewContainer},destroy:function(){return this.isDestroyed?void 0:(this.triggerMethod("before:destroy:collection"),this.destroyChildren(),this.triggerMethod("destroy:collection"),e.View.prototype.destroy.apply(this,arguments))},destroyChildren:function(){var a=this.children.map(c.identity);return this.children.each(this.removeChildView,this),this.checkEmpty(),a},proxyChildEvents:function(a){var b=this.getOption("childViewEventPrefix");this.listenTo(a,"all",function(){var d=c.toArray(arguments),e=d[0],f=this.normalizeMethods(c.result(this,"childEvents"));d[0]=b+":"+e,d.splice(1,0,a),"undefined"!=typeof f&&c.isFunction(f[e])&&f[e].apply(this,d.slice(1)),this.triggerMethod.apply(this,d)},this)},_getImmediateChildren:function(){return c.values(this.children._views)}}),e.CompositeView=e.CollectionView.extend({constructor:function(){e.CollectionView.apply(this,arguments)},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this._renderChildren),this.sort&&this.listenTo(this.collection,"sort",this._sortViews))},getChildView:function(a){var b=this.getOption("childView")||this.constructor;return b},serializeData:function(){var a={};return this.model&&(a=c.partial(this.serializeModel,this.model).apply(this,arguments)),a},render:function(){return this._ensureViewIsIntact(),this.isRendered=!0,this.resetChildViewContainer(),this.triggerMethod("before:render",this),this._renderTemplate(),this._renderChildren(),this.triggerMethod("render",this),this},_renderChildren:function(){this.isRendered&&e.CollectionView.prototype._renderChildren.call(this)},_renderTemplate:function(){var a={};a=this.serializeData(),a=this.mixinTemplateHelpers(a),this.triggerMethod("before:render:template");var b=this.getTemplate(),c=e.Renderer.render(b,a,this);this.attachElContent(c),this.bindUIElements(),this.triggerMethod("render:template")},attachElContent:function(a){return this.$el.html(a),this},attachBuffer:function(a,b){var c=this.getChildViewContainer(a);c.append(b)},_insertAfter:function(a){var b=this.getChildViewContainer(this,a);b.append(a.el)},getChildViewContainer:function(a,b){if("$childViewContainer"in a)return a.$childViewContainer;var c,d=e.getOption(a,"childViewContainer");if(d){var f=e._getValue(d,a);if(c="@"===f.charAt(0)&&a.ui?a.ui[f.substr(4)]:a.$(f),c.length<=0)throw new e.Error({name:"ChildViewContainerMissingError",message:'The specified "childViewContainer" was not found: '+a.childViewContainer})}else c=a.$el;return a.$childViewContainer=c,c},resetChildViewContainer:function(){this.$childViewContainer&&delete this.$childViewContainer}}),e.LayoutView=e.ItemView.extend({regionClass:e.Region,constructor:function(a){a=a||{},this._firstRender=!0,this._initializeRegions(a),e.ItemView.call(this,a)},render:function(){return this._ensureViewIsIntact(),this._firstRender?this._firstRender=!1:this._reInitializeRegions(),e.ItemView.prototype.render.apply(this,arguments)},destroy:function(){return this.isDestroyed?this:(this.regionManager.destroy(),e.ItemView.prototype.destroy.apply(this,arguments))},addRegion:function(a,b){var c={};return c[a]=b,this._buildRegions(c)[a]},addRegions:function(a){return this.regions=c.extend({},this.regions,a),this._buildRegions(a)},removeRegion:function(a){return delete this.regions[a],this.regionManager.removeRegion(a)},getRegion:function(a){return this.regionManager.get(a)},getRegions:function(){return this.regionManager.getRegions()},_buildRegions:function(a){var b={regionClass:this.getOption("regionClass"),parentEl:c.partial(c.result,this,"el")};return this.regionManager.addRegions(a,b)},_initializeRegions:function(a){var b;this._initRegionManager(),b=e._getValue(this.regions,this,[a])||{};var d=this.getOption.call(a,"regions");d=e._getValue(d,this,[a]),c.extend(b,d),b=this.normalizeUIValues(b),this.addRegions(b)},_reInitializeRegions:function(){this.regionManager.invoke("reset")},getRegionManager:function(){return new e.RegionManager},_initRegionManager:function(){this.regionManager=this.getRegionManager(),this.regionManager._parent=this,this.listenTo(this.regionManager,"before:add:region",function(a){this.triggerMethod("before:add:region",a)}),this.listenTo(this.regionManager,"add:region",function(a,b){this[a]=b,this.triggerMethod("add:region",a,b)}),this.listenTo(this.regionManager,"before:remove:region",function(a){this.triggerMethod("before:remove:region",a)}),this.listenTo(this.regionManager,"remove:region",function(a,b){delete this[a],this.triggerMethod("remove:region",a,b)})},_getImmediateChildren:function(){return c.chain(this.regionManager.getRegions()).pluck("currentView").compact().value()}}),e.Behavior=e.Object.extend({constructor:function(a,b){this.view=b,this.defaults=c.result(this,"defaults")||{},this.options=c.extend({},this.defaults,a),e.Object.apply(this,arguments)},$:function(){return this.view.$.apply(this.view,arguments)},destroy:function(){this.stopListening()},proxyViewProperties:function(a){this.$el=a.$el,this.el=a.el}}),e.Behaviors=function(a,b){function c(a,d){return b.isObject(a.behaviors)?(d=c.parseBehaviors(a,d||b.result(a,"behaviors")),c.wrap(a,d,b.keys(f)),d):{}}function d(a,c){this._view=a,this._viewUI=b.result(a,"ui"),this._behaviors=c,this._triggers={}}var e=/^(\S+)\s*(.*)$/,f={behaviorTriggers:function(a,b){var c=new d(this,b);return c.buildBehaviorTriggers()},behaviorEvents:function(c,d){var f={},g=this._uiBindings||b.result(this,"ui");return b.each(d,function(c,d){var h={},i=b.clone(b.result(c,"events"))||{},j=c._uiBindings||b.result(c,"ui"),k=b.extend({},g,j);i=a.normalizeUIKeys(i,k);var l=0;b.each(i,function(a,f){var g=f.match(e),i=g[1]+"."+[this.cid,d,l++," "].join(""),j=g[2],k=i+j,m=b.isFunction(a)?a:c[a];h[k]=b.bind(m,c)},this),f=b.extend(f,h)},this),f}};return b.extend(c,{behaviorsLookup:function(){throw new a.Error({message:"You must define where your behaviors are stored.",url:"marionette.behaviors.html#behaviorslookup"})},getBehaviorClass:function(b,d){return b.behaviorClass?b.behaviorClass:a._getValue(c.behaviorsLookup,this,[b,d])[d]},parseBehaviors:function(a,d){return b.chain(d).map(function(d,e){var f=c.getBehaviorClass(d,e),g=new f(d,a),h=c.parseBehaviors(a,b.result(g,"behaviors"));return[g].concat(h)}).flatten().value()},wrap:function(a,c,d){b.each(d,function(d){a[d]=b.partial(f[d],a[d],c)})}}),b.extend(d.prototype,{buildBehaviorTriggers:function(){return b.each(this._behaviors,this._buildTriggerHandlersForBehavior,this),this._triggers},_buildTriggerHandlersForBehavior:function(c,d){var e=b.extend({},this._viewUI,b.result(c,"ui")),f=b.clone(b.result(c,"triggers"))||{};f=a.normalizeUIKeys(f,e),b.each(f,b.bind(this._setHandlerForBehavior,this,c,d))},_setHandlerForBehavior:function(a,b,c,d){var e=d.replace(/^\S+/,function(a){return a+".behaviortriggers"+b});this._triggers[e]=this._view._buildViewTrigger(c)}}),c}(e,c),e.AppRouter=b.Router.extend({constructor:function(a){this.options=a||{},b.Router.apply(this,arguments);var c=this.getOption("appRoutes"),d=this._getController();this.processAppRoutes(d,c),this.on("route",this._processOnRoute,this)},appRoute:function(a,b){var c=this._getController();this._addAppRoute(c,a,b)},_processOnRoute:function(a,b){if(c.isFunction(this.onRoute)){var d=c.invert(this.getOption("appRoutes"))[a];this.onRoute(a,d,b)}},processAppRoutes:function(a,b){if(b){var d=c.keys(b).reverse();c.each(d,function(c){this._addAppRoute(a,c,b[c])},this)}},_getController:function(){return this.getOption("controller")},_addAppRoute:function(a,b,d){var f=a[d];if(!f)throw new e.Error('Method "'+d+'" was not found on the controller');this.route(b,d,c.bind(f,a))},getOption:e.proxyGetOption,triggerMethod:e.triggerMethod,bindEntityEvents:e.proxyBindEntityEvents,unbindEntityEvents:e.proxyUnbindEntityEvents}),e.Application=e.Object.extend({constructor:function(a){this._initializeRegions(a),this._initCallbacks=new e.Callbacks,this.submodules={},c.extend(this,a),this._initChannel(),e.Object.call(this,a)},execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(a){this._initCallbacks.add(a)},start:function(a){this.triggerMethod("before:start",a),this._initCallbacks.run(a,this),this.triggerMethod("start",a)},addRegions:function(a){return this._regionManager.addRegions(a)},emptyRegions:function(){return this._regionManager.emptyRegions()},removeRegion:function(a){return this._regionManager.removeRegion(a)},getRegion:function(a){return this._regionManager.get(a)},getRegions:function(){return this._regionManager.getRegions()},module:function(a,b){var d=e.Module.getClass(b),f=c.toArray(arguments);return f.unshift(this),d.create.apply(d,f)},getRegionManager:function(){return new e.RegionManager},_initializeRegions:function(a){var b=c.isFunction(this.regions)?this.regions(a):this.regions||{};this._initRegionManager();var d=e.getOption(a,"regions");return c.isFunction(d)&&(d=d.call(this,a)),c.extend(b,d),this.addRegions(b),this},_initRegionManager:function(){this._regionManager=this.getRegionManager(),this._regionManager._parent=this,this.listenTo(this._regionManager,"before:add:region",function(){e._triggerMethod(this,"before:add:region",arguments)}),this.listenTo(this._regionManager,"add:region",function(a,b){this[a]=b,e._triggerMethod(this,"add:region",arguments)}),this.listenTo(this._regionManager,"before:remove:region",function(){e._triggerMethod(this,"before:remove:region",arguments)}),this.listenTo(this._regionManager,"remove:region",function(a){delete this[a],e._triggerMethod(this,"remove:region",arguments)})},_initChannel:function(){this.channelName=c.result(this,"channelName")||"global",this.channel=c.result(this,"channel")||b.Wreqr.radio.channel(this.channelName),this.vent=c.result(this,"vent")||this.channel.vent,this.commands=c.result(this,"commands")||this.channel.commands,this.reqres=c.result(this,"reqres")||this.channel.reqres}}),e.Module=function(a,b,d){this.moduleName=a,this.options=c.extend({},this.options,d),this.initialize=d.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=b,c.isFunction(this.initialize)&&this.initialize(a,b,this.options)},e.Module.extend=e.extend,c.extend(e.Module.prototype,b.Events,{startWithParent:!0,initialize:function(){},addInitializer:function(a){this._initializerCallbacks.add(a)},addFinalizer:function(a){this._finalizerCallbacks.add(a)},start:function(a){this._isInitialized||(c.each(this.submodules,function(b){b.startWithParent&&b.start(a)}),this.triggerMethod("before:start",a),this._initializerCallbacks.run(a,this),this._isInitialized=!0,this.triggerMethod("start",a))},stop:function(){this._isInitialized&&(this._isInitialized=!1,this.triggerMethod("before:stop"),c.invoke(this.submodules,"stop"),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),this.triggerMethod("stop"))},addDefinition:function(a,b){this._runModuleDefinition(a,b)},_runModuleDefinition:function(a,d){if(a){var f=c.flatten([this,this.app,b,e,b.$,c,d]);a.apply(this,f)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new e.Callbacks,this._finalizerCallbacks=new e.Callbacks},triggerMethod:e.triggerMethod}),c.extend(e.Module,{create:function(a,b,d){var e=a,f=c.rest(arguments,3);b=b.split(".");var g=b.length,h=[];return h[g-1]=d,c.each(b,function(b,c){var g=e;e=this._getModule(g,b,a,d),this._addModuleDefinition(g,e,h[c],f)},this),e},_getModule:function(a,b,d,e,f){var g=c.extend({},e),h=this.getClass(e),i=a[b];return i||(i=new h(b,d,g),a[b]=i,a.submodules[b]=i),i},getClass:function(a){var b=e.Module;return a?a.prototype instanceof b?a:a.moduleClass||b:b},_addModuleDefinition:function(a,b,c,d){var e=this._getDefine(c),f=this._getStartWithParent(c,b);e&&b.addDefinition(e,d),this._addStartWithParent(a,b,f)},_getStartWithParent:function(a,b){var d;return c.isFunction(a)&&a.prototype instanceof e.Module?(d=b.constructor.prototype.startWithParent,c.isUndefined(d)?!0:d):c.isObject(a)?(d=a.startWithParent,c.isUndefined(d)?!0:d):!0},_getDefine:function(a){return!c.isFunction(a)||a.prototype instanceof e.Module?c.isObject(a)?a.define:null:a},_addStartWithParent:function(a,b,c){b.startWithParent=b.startWithParent&&c,b.startWithParent&&!b.startWithParentIsConfigured&&(b.startWithParentIsConfigured=!0,a.addInitializer(function(a){b.startWithParent&&b.start(a)}))}}),e}),function(a){"function"==typeof define&&define.amd?define(["backbone","underscore"],a):"object"==typeof exports?module.exports=a(require("backbone"),require("underscore")):a(window.Backbone,window._)}(function(a,b){var c=a.Router.prototype.route,d=function(){};b.extend(a.Router.prototype,{before:d,after:d,route:function(a,e,f){f||(f=this[e]);var g=b.bind(function(){
+var c,e=[a,b.toArray(arguments)];if(c=b.isFunction(this.before)?this.before:"undefined"!=typeof this.before[a]?this.before[a]:d,c.apply(this,e)!==!1){f&&f.apply(this,arguments);var g;g=b.isFunction(this.after)?this.after:"undefined"!=typeof this.after[a]?this.after[a]:d,g.apply(this,e)}},this);return c.call(this,a,e,g)}})}),function(a,b,c,d,e,f,g){"use strict";"object"==typeof d?e.exports=f(c("underscore"),c("backbone"),c("jquery")):"function"==typeof b&&b.amd?b(["underscore","backbone","jquery"],function(b,c,d){return b=b===g?a._:b,c=c===g?a.Backbone:c,d=d===g?a.$:d,a.Backbone=f(b,c,d)}):a.returnExportsGlobal=f(a._,a.Backbone,a.$)}(this,this.define,this.require,this.exports,this.module,function(a,b,c,d){"use strict";var e=function(b){this.options=b!==d?b:{},this.namespaceDelimiter=b!==d&&b.namespaceDelimiter!==d?b.namespaceDelimiter:this.namespaceDelimiter,this.contentType=b!==d&&b.contentType!==d?b.contentType:this.contentType,a.bindAll(this)},f=b.Model.prototype.constructor,g=b.sync,h={};return e.prototype={options:{},charset:"iso-8859-1",namespace:"",namespaceDelimiter:"/",contentType:"application/json",url:null,responseID:null,exceptions:{404:{code:-1,message:"404"},500:{code:-2,message:"500"},typeMissmatch:{code:-3,message:"Type missmatch"},badResponseId:{code:-4,message:"Bad response ID"},noResponse:{code:-5,message:"No response"},noDefError:{code:-6,message:"No error defined"},renderError:function(a,b){return{code:b!==d?-7:b,message:a?"No error defined":a}}},onSuccess:function(b,c,e){if(a.isFunction(b)===!0){if(null===e||e===d)return this.handleExceptions(this.exceptions.noResponse),this;null!==e&&c!==String(e.id)&&this.handleExceptions(this.exceptions.badResponseId),b.apply(this,[e.result,e.error])}else this.onError(e)},onError:function(a,b){return null===b||b===d?(this.handleExceptions(this.exceptions.noResponse),this):void(null!==b.error&&d!==b.error?this.handleExceptions(b.error):this.handleExceptions(this.exceptions.noDefError))},query:function(b,e,f){var g=String((new Date).getTime()),h=null;return this.responseID=g,h=(a.isArray(e)||a.isObject(e))&&a.isString(b)?c.ajax({contentType:this.contentType+"; charset="+this.charset,type:"POST",dataType:"json",url:this.url,data:JSON.stringify({jsonrpc:"2.0",method:this.namespace+this.namespaceDelimiter+b,id:g,params:e}),statusCode:{404:a.bind(function(){this.handleExceptions(this.exceptions[404])},this),500:a.bind(function(){this.handleExceptions(this.exceptions[500])},this)},success:a.bind(function(a,b,c){null!==a&&a.error!==d?this.onError(f,a,b,c):this.onSuccess(f,g,a,b,c)},this),error:a.bind(function(a,b,c){404!==a.status&&500!==a.status&&this.onError(f,a,b,c)},this)}):this.handleExceptions(this.exceptions.typeMissmatch)},checkMethods:function(c,e,f,g,i,j,k){var l=this,m=this.options&&this.options.useNamedParameters===!0,n=null,o=!1,p=null,q=[],r={},s=null,t=f;return m=f.options&&f.options.useNamedParameters?f.options.useNamedParameters:m,m&&(q={},a.isFunction(f.args)&&(t=f.args())),g="delete"===g?"remove":g,a.isArray(f.methods[g])||a.isFunction(f.methods[g])?(a.isFunction(f.methods[g])?(a.isString(h[f.get("_rpcId")])||a.each(h[f.get("_rpcId")],function(a,b){f.get(b)!==a&&(r[b]=!0)}),h[f.get("_rpcId")]=f.toJSON(),n=a.bind(f.methods[g],f)(r,i)):n=f.methods[g],a.isArray(n[0])&&(o=!0),o!==!0?(s=a.clone(n),p=s.shift(),s.length>0?a.each(s,function(c){""===c?a.isArray(q)&&q.push(""):f instanceof b.Collection?t!==d&&t[c]!==d?q=l.addParam(q,t,c,a.isFunction(t[c]),!1):i[c]!==d&&(q=l.addParam(q,i,c,!1,!1)):f.get(c)!==d?q=l.addParam(q,f,c,!1,!0):i[c]!==d&&(q=l.addParam(q,i,c,!1,!1))}):q=a.isArray(q)?[]:{},c(p,q,j,k)):(a.each(n,function(b){var d=a.clone(b);return p=null,q=[],p=d.shift(),a.each(d,function(a){q.push(f.get(a))}),c(p,q,j,k)}),null)):this.handleExceptions(this.exceptions.typeMissmatch)},addParam:function(b,c,e,f,g){var h;return h=g?c.get(e):f?c[e]():c[e],a.isArray(b)?b.push(h):h!==d&&(b[e]=h),b},invoke:function(c,e,f){var g={success:function(b){e.trigger("called:"+c,e,b),f!==d&&a.isFunction(f.success)&&f.success(e,b)},error:function(b,e){b.trigger("error",b,e),b.trigger("error:"+c,b,e),f!==d&&a.isFunction(f.error)&&f.error(b,e)}};return b.sync(c,e,g),this},defaultExceptionHandler:function(a){throw"Error code: "+a.code+" - message: "+a.message},handleExceptions:function(b){var c=a.isFunction(this.options.exceptionHandler)?this.options.exceptionHandler:this.defaultExceptionHandler;return c.call(this,b),this}},b.Rpc=e,b.Model=b.Model.extend({constructor:function(b){this.rpc!==d&&a.isFunction(this.rpc.invoke)===!0&&this.methods!==d&&a.each(this.methods,a.bind(function(b,c){1!=={read:1,create:1,remove:1,update:1}[c]&&(this[c]=a.bind(function(a){return this.rpc.invoke(c,this,a),this},this))},this)),f.apply(this,arguments)}}),b.sync=function(c){var e=null,f=function(g,i,j){var k=function(c,e){return null!==e&&e!==d?(j.error(i,e),this):(i instanceof b.Collection&&c!==d&&null!==c&&("object"==typeof c[0]?a.each(c,function(b,d){b._rpcId=a.uniqueId("rpc_"),c[d]=b,h[b._rpcId]=b}):a.each(c,function(a,b){h[b]=a})),i instanceof b.Model&&c!==d&&null!==c&&(c._rpcId=a.uniqueId("rpc_"),h[c._rpcId]=c),(c===d||null===c)&&(c=[]),i.parsers!==d&&i.parsers[g]!==d&&a.isFunction(i.parsers[g])&&i.parsers[g].apply(i,[c]),void j.success(c))},l=function(a){j.error(i,a)};if(i.rpc instanceof c){if(e=i.rpc,e.url=a.isFunction(i.url)?i.url():i.url,a.isString(i.namespace)===!0&&(e.namespace=i.namespace),i.methods===d)throw"Backbone.Rpc Error: No Method(s) given!";return"object"!=typeof i.params&&(i.params={}),e.checkMethods(e.query,i.params,i,g,j,k,l)}return f.previous.apply(i,arguments)};return f.previous=g,f}(e),b}),function(a,b){if("function"==typeof define&&define.amd)define(["underscore","backbone","jquery"],function(a,c,d){return b(a,c,d)});else if("undefined"!=typeof exports){var c=require("underscore"),d=require("backbone"),e=require("jquery");module.exports=b(c,d,e)}else b(a._,a.Backbone,a.jQuery)}(this,function(a,b,c){"use strict";var d=b.Syphon,e=b.Syphon={};e.VERSION="0.5.0",e.noConflict=function(){return b.Syphon=d,this},e.ignoredTypes=["button","submit","reset","fieldset"],e.serialize=function(b,d){var e={},h=i(d),k=f(b,h);return a.each(k,function(a){var b=c(a),d=g(b),f=h.keyExtractors.get(d),i=f(b),k=h.inputReaders.get(d),l=k(b),m=h.keyAssignmentValidators.get(d);if(m(b,i,l)){var n=h.keySplitter(i);e=j(e,n,l)}}),e},e.deserialize=function(b,d,e){var h=i(e),j=f(b,h),l=k(h,d);a.each(j,function(a){var b=c(a),d=g(b),e=h.keyExtractors.get(d),f=e(b),i=h.inputWriters.get(d),j=l[f];i(b,j)})};var f=function(b,d){var e=h(b),f=e.elements;return f=a.reject(f,function(b){var e,f=g(b),h=d.keyExtractors.get(f),i=h(c(b)),j=a.include(d.ignoredTypes,f),k=a.include(d.include,i),l=a.include(d.exclude,i);return e=k?!1:d.include?!0:l||j})},g=function(a){var b,d=c(a),e=d[0].tagName,f=e;return"input"===e.toLowerCase()&&(b=d.attr("type"),f=b?b:"text"),f.toLowerCase()},h=function(b){return a.isUndefined(b.$el)&&"form"===b.tagName.toLowerCase()?b:b.$el.is("form")?b.el:b.$("form")[0]},i=function(b){var c=a.clone(b)||{};return c.ignoredTypes=a.clone(e.ignoredTypes),c.inputReaders=c.inputReaders||e.InputReaders,c.inputWriters=c.inputWriters||e.InputWriters,c.keyExtractors=c.keyExtractors||e.KeyExtractors,c.keySplitter=c.keySplitter||e.KeySplitter,c.keyJoiner=c.keyJoiner||e.KeyJoiner,c.keyAssignmentValidators=c.keyAssignmentValidators||e.KeyAssignmentValidators,c},j=function(b,c,d){if(!c)return b;var e=c.shift();return b[e]||(b[e]=a.isArray(e)?[]:{}),0===c.length&&(a.isArray(b[e])?b[e].push(d):b[e]=d),c.length>0&&j(b[e],c,d),b},k=function(b,c,d){var e={};return a.each(c,function(c,f){var g={};d&&(f=b.keyJoiner(d,f)),a.isArray(c)?(f+="[]",g[f]=c):a.isObject(c)?g=k(b,c,f):g[f]=c,a.extend(e,g)}),e},l=e.TypeRegistry=function(){this.registeredTypes={}};l.extend=b.Model.extend,a.extend(l.prototype,{get:function(a){return this.registeredTypes[a]||this.registeredTypes["default"]},register:function(a,b){this.registeredTypes[a]=b},registerDefault:function(a){this.registeredTypes["default"]=a},unregister:function(a){this.registeredTypes[a]&&delete this.registeredTypes[a]}});var m=e.KeyExtractorSet=l.extend(),n=e.KeyExtractors=new m;n.registerDefault(function(a){return a.prop("name")||""});var o=e.InputReaderSet=l.extend(),p=e.InputReaders=new o;p.registerDefault(function(a){return a.val()}),p.register("checkbox",function(a){return a.prop("checked")});var q=e.InputWriterSet=l.extend(),r=e.InputWriters=new q;r.registerDefault(function(a,b){a.val(b)}),r.register("checkbox",function(a,b){a.prop("checked",b)}),r.register("radio",function(a,b){a.prop("checked",a.val()===b.toString())});var s=e.KeyAssignmentValidatorSet=l.extend(),t=e.KeyAssignmentValidators=new s;return t.registerDefault(function(){return!0}),t.register("radio",function(a,b,c){return a.prop("checked")}),e.KeySplitter=function(a){var b,c=a.match(/[^\[\]]+/g);return a.indexOf("[]")===a.length-2&&(b=c.pop(),c.push([b])),c},e.KeyJoiner=function(a,b){return a+"["+b+"]"},b.Syphon}),function(a,b){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(a,c){return b(a,c)});else if("undefined"!=typeof exports){var c=require("backbone"),d=require("underscore");module.exports=b(c,d)}else b(a.Backbone,a._)}(this,function(a,b){"use strict";var c=a.Wreqr,d=a.Wreqr={};return a.Wreqr.VERSION="1.3.2",a.Wreqr.noConflict=function(){return a.Wreqr=c,this},d.Handlers=function(a,b){var c=function(a){this.options=a,this._wreqrHandlers={},b.isFunction(this.initialize)&&this.initialize(a)};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events,{setHandlers:function(a){b.each(a,function(a,c){var d=null;b.isObject(a)&&!b.isFunction(a)&&(d=a.context,a=a.callback),this.setHandler(c,a,d)},this)},setHandler:function(a,b,c){var d={callback:b,context:c};this._wreqrHandlers[a]=d,this.trigger("handler:add",a,b,c)},hasHandler:function(a){return!!this._wreqrHandlers[a]},getHandler:function(a){var b=this._wreqrHandlers[a];if(b)return function(){return b.callback.apply(b.context,arguments)}},removeHandler:function(a){delete this._wreqrHandlers[a]},removeAllHandlers:function(){this._wreqrHandlers={}}}),c}(a,b),d.CommandStorage=function(){var c=function(a){this.options=a,this._commands={},b.isFunction(this.initialize)&&this.initialize(a)};return b.extend(c.prototype,a.Events,{getCommands:function(a){var b=this._commands[a];return b||(b={command:a,instances:[]},this._commands[a]=b),b},addCommand:function(a,b){var c=this.getCommands(a);c.instances.push(b)},clearCommands:function(a){var b=this.getCommands(a);b.instances=[]}}),c}(),d.Commands=function(a,b){return a.Handlers.extend({storageType:a.CommandStorage,constructor:function(b){this.options=b||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this),a.Handlers.prototype.constructor.apply(this,arguments)},execute:function(a){a=arguments[0];var c=b.rest(arguments);this.hasHandler(a)?this.getHandler(a).apply(this,c):this.storage.addCommand(a,c)},_executeCommands:function(a,c,d){var e=this.storage.getCommands(a);b.each(e.instances,function(a){c.apply(d,a)}),this.storage.clearCommands(a)},_initializeStorage:function(a){var c,d=a.storageType||this.storageType;c=b.isFunction(d)?new d:d,this.storage=c}})}(d,b),d.RequestResponse=function(a,b){return a.Handlers.extend({request:function(a){return this.hasHandler(a)?this.getHandler(a).apply(this,b.rest(arguments)):void 0}})}(d,b),d.EventAggregator=function(a,b){var c=function(){};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events),c}(a,b),d.Channel=function(c){var d=function(b){this.vent=new a.Wreqr.EventAggregator,this.reqres=new a.Wreqr.RequestResponse,this.commands=new a.Wreqr.Commands,this.channelName=b};return b.extend(d.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(a,b){return this._connect("vent",a,b),this},connectCommands:function(a,b){return this._connect("commands",a,b),this},connectRequests:function(a,b){return this._connect("reqres",a,b),this},_connect:function(a,c,d){if(c){d=d||this;var e="vent"===a?"on":"setHandler";b.each(c,function(c,f){this[a][e](f,b.bind(c,d))},this)}}}),d}(d),d.radio=function(a,b){var c=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};b.extend(c.prototype,{channel:function(a){if(!a)throw new Error("Channel must receive a name");return this._getChannel(a)},_getChannel:function(b){var c=this._channels[b];return c||(c=new a.Channel(b),this._channels[b]=c),c},_proxyMethods:function(){b.each(["vent","commands","reqres"],function(a){b.each(d[a],function(b){this[a][b]=e(this,a,b)},this)},this)}});var d={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},e=function(a,c,d){return function(e){var f=a._getChannel(e)[c];return f[d].apply(f,b.rest(arguments))}};return new c}(d,b),a.Wreqr});var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(a){var b,c,d,e,f,g,h,i="",j=0;for(a=Base64._utf8_encode(a);j<a.length;)b=a.charCodeAt(j++),c=a.charCodeAt(j++),d=a.charCodeAt(j++),e=b>>2,f=(3&b)<<4|c>>4,g=(15&c)<<2|d>>6,h=63&d,isNaN(c)?g=h=64:isNaN(d)&&(h=64),i=i+this._keyStr.charAt(e)+this._keyStr.charAt(f)+this._keyStr.charAt(g)+this._keyStr.charAt(h);return i},decode:function(a){var b,c,d,e,f,g,h,i="",j=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");j<a.length;)e=this._keyStr.indexOf(a.charAt(j++)),f=this._keyStr.indexOf(a.charAt(j++)),g=this._keyStr.indexOf(a.charAt(j++)),h=this._keyStr.indexOf(a.charAt(j++)),b=e<<2|f>>4,c=(15&f)<<4|g>>2,d=(3&g)<<6|h,i+=String.fromCharCode(b),64!=g&&(i+=String.fromCharCode(c)),64!=h&&(i+=String.fromCharCode(d));return i=Base64._utf8_decode(i)},_utf8_encode:function(a){a=a.replace(/\r\n/g,"\n");for(var b="",c=0;c<a.length;c++){var d=a.charCodeAt(c);128>d?b+=String.fromCharCode(d):d>127&&2048>d?(b+=String.fromCharCode(d>>6|192),b+=String.fromCharCode(63&d|128)):(b+=String.fromCharCode(d>>12|224),b+=String.fromCharCode(d>>6&63|128),b+=String.fromCharCode(63&d|128))}return b},_utf8_decode:function(a){for(var b="",c=0,d=c1=c2=0;c<a.length;)d=a.charCodeAt(c),128>d?(b+=String.fromCharCode(d),c++):d>191&&224>d?(c2=a.charCodeAt(c+1),b+=String.fromCharCode((31&d)<<6|63&c2),c+=2):(c2=a.charCodeAt(c+1),c3=a.charCodeAt(c+2),b+=String.fromCharCode((15&d)<<12|(63&c2)<<6|63&c3),c+=3);return b}};!function(a){var b={onBeforeRender:function(){this._isRendering=!0},onRender:function(){this.footer?this.footerElement=this.$el.find(this.footer)[0]:this.footerElement=null,delete this._isRendering},appendHtml:function(a,b,c){function d(b){for(var c=1,d=e(b+1);!d&&b+c+1<a.collection.length-1;)c+=1,d=e(b+c);return d}function e(b){if(!(b>=a.collection.length)){var c=a.children.findByModel(a.collection.at(b));return c}}var f=this.footerElement,g=a.itemViewContainer||a.el,h=a.itemViewContainer?$(a.itemViewContainer):a.$el;if(this._isRendering)return void(f?b.$el.insertBefore(f):h.append(b.el));var i;return 0===c?(i=d(0),void(i?b.$el.insertBefore(i.el):f?b.$el.insertBefore(f):b.$el.appendTo(g))):c==a.collection.length-1?void(f?b.$el.insertBefore(f):b.$el.appendTo(g)):(i=e(c-1),void(i?b.$el.insertAfter(i.$el):(i=d(c),i?b.$el.insertBefore(i.el):f?b.$el.insertBefore(f):b.$el.appendTo(g))))}};return a.SortedMixin=b,"function"==typeof define&&define.amd&&define([],function(){return b}),b}(window),Date.CultureInfo={name:"en-US",englishName:"English (United States)",nativeName:"English (United States)",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbreviatedDayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],shortestDayNames:["Su","Mo","Tu","We","Th","Fr","Sa"],firstLetterDayNames:["S","M","T","W","T","F","S"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],abbreviatedMonthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],amDesignator:"AM",pmDesignator:"PM",firstDayOfWeek:0,twoDigitYearMax:2029,dateElementOrder:"mdy",formatPatterns:{shortDate:"M/d/yyyy",longDate:"dddd, MMMM dd, yyyy",shortTime:"h:mm tt",longTime:"h:mm:ss tt",fullDateTime:"dddd, MMMM dd, yyyy h:mm:ss tt",sortableDateTime:"yyyy-MM-ddTHH:mm:ss",universalSortableDateTime:"yyyy-MM-dd HH:mm:ssZ",rfc1123:"ddd, dd MMM yyyy HH:mm:ss GMT",monthDay:"MMMM dd",yearMonth:"MMMM, yyyy"},regexPatterns:{jan:/^jan(uary)?/i,feb:/^feb(ruary)?/i,mar:/^mar(ch)?/i,apr:/^apr(il)?/i,may:/^may/i,jun:/^jun(e)?/i,jul:/^jul(y)?/i,aug:/^aug(ust)?/i,sep:/^sep(t(ember)?)?/i,oct:/^oct(ober)?/i,nov:/^nov(ember)?/i,dec:/^dec(ember)?/i,sun:/^su(n(day)?)?/i,mon:/^mo(n(day)?)?/i,tue:/^tu(e(s(day)?)?)?/i,wed:/^we(d(nesday)?)?/i,thu:/^th(u(r(s(day)?)?)?)?/i,fri:/^fr(i(day)?)?/i,sat:/^sa(t(urday)?)?/i,future:/^next/i,past:/^last|past|prev(ious)?/i,add:/^(\+|aft(er)?|from|hence)/i,subtract:/^(\-|bef(ore)?|ago)/i,yesterday:/^yes(terday)?/i,today:/^t(od(ay)?)?/i,tomorrow:/^tom(orrow)?/i,now:/^n(ow)?/i,millisecond:/^ms|milli(second)?s?/i,second:/^sec(ond)?s?/i,minute:/^mn|min(ute)?s?/i,hour:/^h(our)?s?/i,week:/^w(eek)?s?/i,month:/^m(onth)?s?/i,day:/^d(ay)?s?/i,year:/^y(ear)?s?/i,shortMeridian:/^(a|p)/i,longMeridian:/^(a\.?m?\.?|p\.?m?\.?)/i,timezone:/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\s*(\+|\-)\s*\d\d\d\d?)|gmt|utc)/i,ordinalSuffix:/^\s*(st|nd|rd|th)/i,timeContext:/^\s*(\:|a(?!u|p)|p)/i},timezones:[{name:"UTC",offset:"-000"},{name:"GMT",offset:"-000"},{name:"EST",offset:"-0500"},{name:"EDT",offset:"-0400"},{name:"CST",offset:"-0600"},{name:"CDT",offset:"-0500"},{name:"MST",offset:"-0700"},{name:"MDT",offset:"-0600"},{name:"PST",offset:"-0800"},{name:"PDT",offset:"-0700"}]},function(){var a=Date,b=a.prototype,c=a.CultureInfo,d=function(a,b){return b||(b=2),("000"+a).slice(-1*b)};b.clearTime=function(){return this.setHours(0),this.setMinutes(0),this.setSeconds(0),this.setMilliseconds(0),this},b.setTimeToNow=function(){var a=new Date;return this.setHours(a.getHours()),this.setMinutes(a.getMinutes()),this.setSeconds(a.getSeconds()),this.setMilliseconds(a.getMilliseconds()),this},a.today=function(){return(new Date).clearTime()},a.compare=function(a,b){if(isNaN(a)||isNaN(b))throw new Error(a+" - "+b);if(a instanceof Date&&b instanceof Date)return b>a?-1:a>b?1:0;throw new TypeError(a+" - "+b)},a.equals=function(a,b){return 0===a.compareTo(b)},a.getDayNumberFromName=function(a){for(var b=c.dayNames,d=c.abbreviatedDayNames,e=c.shortestDayNames,f=a.toLowerCase(),g=0;g<b.length;g++)if(b[g].toLowerCase()==f||d[g].toLowerCase()==f||e[g].toLowerCase()==f)return g;return-1},a.getMonthNumberFromName=function(a){for(var b=c.monthNames,d=c.abbreviatedMonthNames,e=a.toLowerCase(),f=0;f<b.length;f++)if(b[f].toLowerCase()==e||d[f].toLowerCase()==e)return f;return-1},a.isLeapYear=function(a){return a%4===0&&a%100!==0||a%400===0},a.getDaysInMonth=function(b,c){return[31,a.isLeapYear(b)?29:28,31,30,31,30,31,31,30,31,30,31][c]},a.getTimezoneAbbreviation=function(a){for(var b=c.timezones,d=0;d<b.length;d++)if(b[d].offset===a)return b[d].name;return null},a.getTimezoneOffset=function(a){for(var b=c.timezones,d=0;d<b.length;d++)if(b[d].name===a.toUpperCase())return b[d].offset;return null},b.clone=function(){return new Date(this.getTime())},b.compareTo=function(a){return Date.compare(this,a)},b.equals=function(a){return Date.equals(this,a||new Date)},b.between=function(a,b){return this.getTime()>=a.getTime()&&this.getTime()<=b.getTime()},b.isAfter=function(a){return 1===this.compareTo(a||new Date)},b.isBefore=function(a){return-1===this.compareTo(a||new Date)},b.isToday=function(){return this.isSameDay(new Date)},b.isSameDay=function(a){return this.clone().clearTime().equals(a.clone().clearTime())},b.addMilliseconds=function(a){return this.setMilliseconds(this.getMilliseconds()+a),this},b.addSeconds=function(a){return this.addMilliseconds(1e3*a)},b.addMinutes=function(a){return this.addMilliseconds(6e4*a)},b.addHours=function(a){return this.addMilliseconds(36e5*a)},b.addDays=function(a){return this.setDate(this.getDate()+a),this},b.addWeeks=function(a){return this.addDays(7*a)},b.addMonths=function(b){var c=this.getDate();return this.setDate(1),this.setMonth(this.getMonth()+b),this.setDate(Math.min(c,a.getDaysInMonth(this.getFullYear(),this.getMonth()))),this},b.addYears=function(a){return this.addMonths(12*a)},b.add=function(a){if("number"==typeof a)return this._orient=a,this;var b=a;return b.milliseconds&&this.addMilliseconds(b.milliseconds),b.seconds&&this.addSeconds(b.seconds),b.minutes&&this.addMinutes(b.minutes),b.hours&&this.addHours(b.hours),b.weeks&&this.addWeeks(b.weeks),b.months&&this.addMonths(b.months),b.years&&this.addYears(b.years),b.days&&this.addDays(b.days),this};var e,f,g;b.getWeek=function(){var a,b,c,d,h,i,j,k,l,m;return e=e?e:this.getFullYear(),f=f?f:this.getMonth()+1,g=g?g:this.getDate(),2>=f?(a=e-1,b=(a/4|0)-(a/100|0)+(a/400|0),c=((a-1)/4|0)-((a-1)/100|0)+((a-1)/400|0),l=b-c,h=0,i=g-1+31*(f-1)):(a=e,b=(a/4|0)-(a/100|0)+(a/400|0),c=((a-1)/4|0)-((a-1)/100|0)+((a-1)/400|0),l=b-c,h=l+1,i=g+(153*(f-3)+2)/5+58+l),j=(a+b)%7,d=(i+j-h)%7,k=i+3-d|0,m=0>k?53-((j-l)/5|0):k>364+l?1:(k/7|0)+1,e=f=g=null,m},b.getISOWeek=function(){return e=this.getUTCFullYear(),f=this.getUTCMonth()+1,g=this.getUTCDate(),d(this.getWeek())},b.setWeek=function(a){return this.moveToDayOfWeek(1).addWeeks(a-this.getWeek())},a._validate=function(a,b,c,d){if("undefined"==typeof a)return!1;if("number"!=typeof a)throw new TypeError(a+" is not a Number.");if(b>a||a>c)throw new RangeError(a+" is not a valid value for "+d+".");return!0},a.validateMillisecond=function(b){return a._validate(b,0,999,"millisecond")},a.validateSecond=function(b){return a._validate(b,0,59,"second")},a.validateMinute=function(b){return a._validate(b,0,59,"minute")},a.validateHour=function(b){return a._validate(b,0,23,"hour")},a.validateDay=function(b,c,d){return a._validate(b,1,a.getDaysInMonth(c,d),"day")},a.validateMonth=function(b){return a._validate(b,0,11,"month")},a.validateYear=function(b){return a._validate(b,0,9999,"year")},b.set=function(b){return a.validateMillisecond(b.millisecond)&&this.addMilliseconds(b.millisecond-this.getMilliseconds()),a.validateSecond(b.second)&&this.addSeconds(b.second-this.getSeconds()),a.validateMinute(b.minute)&&this.addMinutes(b.minute-this.getMinutes()),a.validateHour(b.hour)&&this.addHours(b.hour-this.getHours()),a.validateMonth(b.month)&&this.addMonths(b.month-this.getMonth()),a.validateYear(b.year)&&this.addYears(b.year-this.getFullYear()),a.validateDay(b.day,this.getFullYear(),this.getMonth())&&this.addDays(b.day-this.getDate()),b.timezone&&this.setTimezone(b.timezone),b.timezoneOffset&&this.setTimezoneOffset(b.timezoneOffset),b.week&&a._validate(b.week,0,53,"week")&&this.setWeek(b.week),this},b.moveToFirstDayOfMonth=function(){return this.set({day:1})},b.moveToLastDayOfMonth=function(){return this.set({day:a.getDaysInMonth(this.getFullYear(),this.getMonth())})},b.moveToNthOccurrence=function(a,b){var c=0;if(b>0)c=b-1;else if(-1===b)return this.moveToLastDayOfMonth(),this.getDay()!==a&&this.moveToDayOfWeek(a,-1),this;return this.moveToFirstDayOfMonth().addDays(-1).moveToDayOfWeek(a,1).addWeeks(c)},b.moveToDayOfWeek=function(a,b){var c=(a-this.getDay()+7*(b||1))%7;return this.addDays(0===c?c+=7*(b||1):c)},b.moveToMonth=function(a,b){var c=(a-this.getMonth()+12*(b||1))%12;return this.addMonths(0===c?c+=12*(b||1):c)},b.getOrdinalNumber=function(){return Math.ceil((this.clone().clearTime()-new Date(this.getFullYear(),0,1))/864e5)+1},b.getTimezone=function(){return a.getTimezoneAbbreviation(this.getUTCOffset())},b.setTimezoneOffset=function(a){var b=this.getTimezoneOffset(),c=-6*Number(a)/10;return this.addMinutes(c-b)},b.setTimezone=function(b){return this.setTimezoneOffset(a.getTimezoneOffset(b))},b.hasDaylightSavingTime=function(){return Date.today().set({month:0,day:1}).getTimezoneOffset()!==Date.today().set({month:6,day:1}).getTimezoneOffset()},b.isDaylightSavingTime=function(){return this.hasDaylightSavingTime()&&(new Date).getTimezoneOffset()===Date.today().set({month:6,day:1}).getTimezoneOffset()},b.getUTCOffset=function(){var a,b=-10*this.getTimezoneOffset()/6;return 0>b?(a=(b-1e4).toString(),a.charAt(0)+a.substr(2)):(a=(b+1e4).toString(),"+"+a.substr(1))},b.getElapsed=function(a){return(a||new Date)-this},b.toISOString||(b.toISOString=function(){function a(a){return 10>a?"0"+a:a}return'"'+this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+'Z"'}),b._toString=b.toString,b.toString=function(a){var b=this;if(a&&1==a.length){var e=c.formatPatterns;switch(b.t=b.toString,a){case"d":return b.t(e.shortDate);case"D":return b.t(e.longDate);case"F":return b.t(e.fullDateTime);case"m":return b.t(e.monthDay);case"r":return b.t(e.rfc1123);case"s":return b.t(e.sortableDateTime);case"t":return b.t(e.shortTime);case"T":return b.t(e.longTime);case"u":return b.t(e.universalSortableDateTime);case"y":return b.t(e.yearMonth)}}var f=function(a){switch(1*a){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}};return a?a.replace(/(\\)?(dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|S)/g,function(a){if("\\"===a.charAt(0))return a.replace("\\","");switch(b.h=b.getHours,a){case"hh":return d(b.h()<13?0===b.h()?12:b.h():b.h()-12);case"h":return b.h()<13?0===b.h()?12:b.h():b.h()-12;case"HH":return d(b.h());case"H":return b.h();case"mm":return d(b.getMinutes());case"m":return b.getMinutes();case"ss":return d(b.getSeconds());case"s":return b.getSeconds();case"yyyy":return d(b.getFullYear(),4);case"yy":return d(b.getFullYear());case"dddd":return c.dayNames[b.getDay()];case"ddd":return c.abbreviatedDayNames[b.getDay()];case"dd":return d(b.getDate());case"d":return b.getDate();case"MMMM":return c.monthNames[b.getMonth()];case"MMM":return c.abbreviatedMonthNames[b.getMonth()];case"MM":return d(b.getMonth()+1);case"M":return b.getMonth()+1;case"t":return b.h()<12?c.amDesignator.substring(0,1):c.pmDesignator.substring(0,1);case"tt":return b.h()<12?c.amDesignator:c.pmDesignator;case"S":return f(b.getDate());default:return a}}):this._toString()}}(),function(){var a=Date,b=a.prototype,c=a.CultureInfo,d=Number.prototype;b._orient=1,b._nth=null,b._is=!1,b._same=!1,b._isSecond=!1,d._dateElement="day",b.next=function(){return this._orient=1,this},a.next=function(){return a.today().next()},b.last=b.prev=b.previous=function(){return this._orient=-1,this},a.last=a.prev=a.previous=function(){return a.today().last()},b.is=function(){return this._is=!0,this},b.same=function(){return this._same=!0,this._isSecond=!1,this},b.today=function(){return this.same().day()},b.weekday=function(){return this._is?(this._is=!1,!this.is().sat()&&!this.is().sun()):!1},b.at=function(b){return"string"==typeof b?a.parse(this.toString("d")+" "+b):this.set(b)},d.fromNow=d.after=function(a){var b={};return b[this._dateElement]=this,(a?a.clone():new Date).add(b)},d.ago=d.before=function(a){var b={};return b[this._dateElement]=-1*this,(a?a.clone():new Date).add(b)};var e,f="sunday monday tuesday wednesday thursday friday saturday".split(/\s/),g="january february march april may june july august september october november december".split(/\s/),h="Millisecond Second Minute Hour Day Week Month Year".split(/\s/),i="Milliseconds Seconds Minutes Hours Date Week Month FullYear".split(/\s/),j="final first second third fourth fifth".split(/\s/);b.toObject=function(){for(var a={},b=0;b<h.length;b++)a[h[b].toLowerCase()]=this["get"+i[b]]();return a},a.fromObject=function(a){return a.week=null,Date.today().set(a)};for(var k=function(b){return function(){if(this._is)return this._is=!1,this.getDay()==b;if(null!==this._nth){this._isSecond&&this.addSeconds(-1*this._orient),this._isSecond=!1;var c=this._nth;this._nth=null;var d=this.clone().moveToLastDayOfMonth();if(this.moveToNthOccurrence(b,c),this>d)throw new RangeError(a.getDayName(b)+" does not occur "+c+" times in the month of "+a.getMonthName(d.getMonth())+" "+d.getFullYear()+".");return this}return this.moveToDayOfWeek(b,this._orient)}},l=function(b){return function(){var d=a.today(),e=b-d.getDay();return 0===b&&1===c.firstDayOfWeek&&0!==d.getDay()&&(e+=7),d.addDays(e)}},m=0;m<f.length;m++)a[f[m].toUpperCase()]=a[f[m].toUpperCase().substring(0,3)]=m,a[f[m]]=a[f[m].substring(0,3)]=l(m),b[f[m]]=b[f[m].substring(0,3)]=k(m);for(var n=function(a){return function(){return this._is?(this._is=!1,this.getMonth()===a):this.moveToMonth(a,this._orient)}},o=function(b){return function(){return a.today().set({month:b,day:1})}},p=0;p<g.length;p++)a[g[p].toUpperCase()]=a[g[p].toUpperCase().substring(0,3)]=p,a[g[p]]=a[g[p].substring(0,3)]=o(p),b[g[p]]=b[g[p].substring(0,3)]=n(p);for(var q=function(a){return function(){if(this._isSecond)return this._isSecond=!1,this;if(this._same){this._same=this._is=!1;for(var b=this.toObject(),c=(arguments[0]||new Date).toObject(),d="",e=a.toLowerCase(),f=h.length-1;f>-1;f--){if(d=h[f].toLowerCase(),b[d]!=c[d])return!1;if(e==d)break}return!0}return"s"!=a.substring(a.length-1)&&(a+="s"),this["add"+a](this._orient)}},r=function(a){return function(){return this._dateElement=a,this}},s=0;s<h.length;s++)e=h[s].toLowerCase(),b[e]=b[e+"s"]=q(h[s]),d[e]=d[e+"s"]=r(e);b._ss=q("Second");for(var t=function(a){return function(b){return this._same?this._ss(arguments[0]):b||0===b?this.moveToNthOccurrence(b,a):(this._nth=a,2!==a||void 0!==b&&null!==b?this:(this._isSecond=!0,this.addSeconds(this._orient)))}},u=0;u<j.length;u++)b[j[u]]=t(0===u?-1:u)}(),function(){Date.Parsing={Exception:function(a){this.message="Parse error at '"+a.substring(0,10)+" ...'"}};for(var a=Date.Parsing,b=a.Operators={rtoken:function(b){return function(c){var d=c.match(b);if(d)return[d[0],c.substring(d[0].length)];throw new a.Exception(c)}},token:function(a){return function(a){return b.rtoken(new RegExp("^s*"+a+"s*"))(a)}},stoken:function(a){return b.rtoken(new RegExp("^"+a))},until:function(a){return function(b){for(var c=[],d=null;b.length;){try{d=a.call(this,b)}catch(e){c.push(d[0]),b=d[1];continue}break}return[c,b]}},many:function(a){return function(b){for(var c=[],d=null;b.length;){try{d=a.call(this,b)}catch(e){return[c,b]}c.push(d[0]),b=d[1]}return[c,b]}},optional:function(a){return function(b){var c=null;try{c=a.call(this,b)}catch(d){return[null,b]}return[c[0],c[1]]}},not:function(b){return function(c){try{b.call(this,c)}catch(d){return[null,c]}throw new a.Exception(c)}},ignore:function(a){return a?function(b){var c=null;return c=a.call(this,b),[null,c[1]]}:null},product:function(){for(var a=arguments[0],c=Array.prototype.slice.call(arguments,1),d=[],e=0;e<a.length;e++)d.push(b.each(a[e],c));return d},cache:function(b){var c={},d=null;return function(e){try{d=c[e]=c[e]||b.call(this,e)}catch(f){d=c[e]=f}if(d instanceof a.Exception)throw d;return d}},any:function(){var b=arguments;return function(c){for(var d=null,e=0;e<b.length;e++)if(null!=b[e]){try{d=b[e].call(this,c)}catch(f){d=null}if(d)return d}throw new a.Exception(c)}},each:function(){var b=arguments;return function(c){for(var d=[],e=null,f=0;f<b.length;f++)if(null!=b[f]){try{e=b[f].call(this,c)}catch(g){throw new a.Exception(c)}d.push(e[0]),c=e[1]}return[d,c]}},all:function(){var a=arguments,b=b;return b.each(b.optional(a))},sequence:function(c,d,e){return d=d||b.rtoken(/^\s*/),e=e||null,1==c.length?c[0]:function(b){for(var f=null,g=null,h=[],i=0;i<c.length;i++){try{f=c[i].call(this,b)}catch(j){break}h.push(f[0]);try{g=d.call(this,f[1])}catch(k){g=null;break}b=g[1]}if(!f)throw new a.Exception(b);if(g)throw new a.Exception(g[1]);if(e)try{f=e.call(this,f[1])}catch(l){throw new a.Exception(f[1])}return[h,f?f[1]:b]}},between:function(a,c,d){d=d||a;var e=b.each(b.ignore(a),c,b.ignore(d));
+return function(a){var b=e.call(this,a);return[[b[0][0],r[0][2]],b[1]]}},list:function(a,c,d){return c=c||b.rtoken(/^\s*/),d=d||null,a instanceof Array?b.each(b.product(a.slice(0,-1),b.ignore(c)),a.slice(-1),b.ignore(d)):b.each(b.many(b.each(a,b.ignore(c))),px,b.ignore(d))},set:function(c,d,e){return d=d||b.rtoken(/^\s*/),e=e||null,function(f){for(var g=null,h=null,i=null,j=null,k=[[],f],l=!1,m=0;m<c.length;m++){i=null,h=null,g=null,l=1==c.length;try{g=c[m].call(this,f)}catch(n){continue}if(j=[[g[0]],g[1]],g[1].length>0&&!l)try{i=d.call(this,g[1])}catch(o){l=!0}else l=!0;if(l||0!==i[1].length||(l=!0),!l){for(var p=[],q=0;q<c.length;q++)m!=q&&p.push(c[q]);h=b.set(p,d).call(this,i[1]),h[0].length>0&&(j[0]=j[0].concat(h[0]),j[1]=h[1])}if(j[1].length<k[1].length&&(k=j),0===k[1].length)break}if(0===k[0].length)return k;if(e){try{i=e.call(this,k[1])}catch(r){throw new a.Exception(k[1])}k[1]=i[1]}return k}},forward:function(a,b){return function(c){return a[b].call(this,c)}},replace:function(a,b){return function(c){var d=a.call(this,c);return[b,d[1]]}},process:function(a,b){return function(c){var d=a.call(this,c);return[b.call(this,d[0]),d[1]]}},min:function(b,c){return function(d){var e=c.call(this,d);if(e[0].length<b)throw new a.Exception(d);return e}}},c=function(a){return function(){var b=null,c=[];if(arguments.length>1?b=Array.prototype.slice.call(arguments):arguments[0]instanceof Array&&(b=arguments[0]),!b)return a.apply(null,arguments);for(var d=0,e=b.shift();d<e.length;d++)return b.unshift(e[d]),c.push(a.apply(null,b)),b.shift(),c}},d="optional not ignore cache".split(/\s/),e=0;e<d.length;e++)b[d[e]]=c(b[d[e]]);for(var f=function(a){return function(){return arguments[0]instanceof Array?a.apply(null,arguments[0]):a.apply(null,arguments)}},g="each any all".split(/\s/),h=0;h<g.length;h++)b[g[h]]=f(b[g[h]])}(),function(){var a=Date,b=(a.prototype,a.CultureInfo),c=function(a){for(var b=[],d=0;d<a.length;d++)a[d]instanceof Array?b=b.concat(c(a[d])):a[d]&&b.push(a[d]);return b};a.Grammar={},a.Translator={hour:function(a){return function(){this.hour=Number(a)}},minute:function(a){return function(){this.minute=Number(a)}},second:function(a){return function(){this.second=Number(a)}},meridian:function(a){return function(){this.meridian=a.slice(0,1).toLowerCase()}},timezone:function(a){return function(){var b=a.replace(/[^\d\+\-]/g,"");b.length?this.timezoneOffset=Number(b):this.timezone=a.toLowerCase()}},day:function(a){var b=a[0];return function(){this.day=Number(b.match(/\d+/)[0])}},month:function(a){return function(){this.month=3==a.length?"jan feb mar apr may jun jul aug sep oct nov dec".indexOf(a)/4:Number(a)-1}},year:function(a){return function(){var c=Number(a);this.year=a.length>2?c:c+(c+2e3<b.twoDigitYearMax?2e3:1900)}},rday:function(a){return function(){switch(a){case"yesterday":this.days=-1;break;case"tomorrow":this.days=1;break;case"today":this.days=0;break;case"now":this.days=0,this.now=!0}}},finishExact:function(b){b=b instanceof Array?b:[b];for(var c=0;c<b.length;c++)b[c]&&b[c].call(this);var d=new Date;if(!this.hour&&!this.minute||this.month||this.year||this.day||(this.day=d.getDate()),this.year||(this.year=d.getFullYear()),this.month||0===this.month||(this.month=d.getMonth()),this.day||(this.day=1),this.hour||(this.hour=0),this.minute||(this.minute=0),this.second||(this.second=0),this.meridian&&this.hour&&("p"==this.meridian&&this.hour<12?this.hour=this.hour+12:"a"==this.meridian&&12==this.hour&&(this.hour=0)),this.day>a.getDaysInMonth(this.year,this.month))throw new RangeError(this.day+" is not a valid value for days.");var e=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second);return this.timezone?e.set({timezone:this.timezone}):this.timezoneOffset&&e.set({timezoneOffset:this.timezoneOffset}),e},finish:function(b){if(b=b instanceof Array?c(b):[b],0===b.length)return null;for(var d=0;d<b.length;d++)"function"==typeof b[d]&&b[d].call(this);var e=a.today();if(this.now&&!this.unit&&!this.operator)return new Date;this.now&&(e=new Date);var f,g,h,i=!!(this.days&&null!==this.days||this.orient||this.operator);if(h="past"==this.orient||"subtract"==this.operator?-1:1,this.now||-1=="hour minute second".indexOf(this.unit)||e.setTimeToNow(),(this.month||0===this.month)&&-1!="year day hour minute second".indexOf(this.unit)&&(this.value=this.month+1,this.month=null,i=!0),!i&&this.weekday&&!this.day&&!this.days){var j=Date[this.weekday]();this.day=j.getDate(),this.month||(this.month=j.getMonth()),this.year=j.getFullYear()}if(i&&this.weekday&&"month"!=this.unit&&(this.unit="day",f=a.getDayNumberFromName(this.weekday)-e.getDay(),g=7,this.days=f?(f+h*g)%g:h*g),this.month&&"day"==this.unit&&this.operator&&(this.value=this.month+1,this.month=null),null!=this.value&&null!=this.month&&null!=this.year&&(this.day=1*this.value),this.month&&!this.day&&this.value&&(e.set({day:1*this.value}),i||(this.day=1*this.value)),this.month||!this.value||"month"!=this.unit||this.now||(this.month=this.value,i=!0),i&&(this.month||0===this.month)&&"year"!=this.unit&&(this.unit="month",f=this.month-e.getMonth(),g=12,this.months=f?(f+h*g)%g:h*g,this.month=null),this.unit||(this.unit="day"),!this.value&&this.operator&&null!==this.operator&&this[this.unit+"s"]&&null!==this[this.unit+"s"]?this[this.unit+"s"]=this[this.unit+"s"]+("add"==this.operator?1:-1)+(this.value||0)*h:(null==this[this.unit+"s"]||null!=this.operator)&&(this.value||(this.value=1),this[this.unit+"s"]=this.value*h),this.meridian&&this.hour&&("p"==this.meridian&&this.hour<12?this.hour=this.hour+12:"a"==this.meridian&&12==this.hour&&(this.hour=0)),this.weekday&&!this.day&&!this.days){var j=Date[this.weekday]();this.day=j.getDate(),j.getMonth()!==e.getMonth()&&(this.month=j.getMonth())}return!this.month&&0!==this.month||this.day||(this.day=1),this.orient||this.operator||"week"!=this.unit||!this.value||this.day||this.month?(i&&this.timezone&&this.day&&this.days&&(this.day=this.days),i?e.add(this):e.set(this)):Date.today().setWeek(this.value)}};var d,e=a.Parsing.Operators,f=a.Grammar,g=a.Translator;f.datePartDelimiter=e.rtoken(/^([\s\-\.\,\/\x27]+)/),f.timePartDelimiter=e.stoken(":"),f.whiteSpace=e.rtoken(/^\s*/),f.generalDelimiter=e.rtoken(/^(([\s\,]|at|@|on)+)/);var h={};f.ctoken=function(a){var c=h[a];if(!c){for(var d=b.regexPatterns,f=a.split(/\s+/),g=[],i=0;i<f.length;i++)g.push(e.replace(e.rtoken(d[f[i]]),f[i]));c=h[a]=e.any.apply(null,g)}return c},f.ctoken2=function(a){return e.rtoken(b.regexPatterns[a])},f.h=e.cache(e.process(e.rtoken(/^(0[0-9]|1[0-2]|[1-9])/),g.hour)),f.hh=e.cache(e.process(e.rtoken(/^(0[0-9]|1[0-2])/),g.hour)),f.H=e.cache(e.process(e.rtoken(/^([0-1][0-9]|2[0-3]|[0-9])/),g.hour)),f.HH=e.cache(e.process(e.rtoken(/^([0-1][0-9]|2[0-3])/),g.hour)),f.m=e.cache(e.process(e.rtoken(/^([0-5][0-9]|[0-9])/),g.minute)),f.mm=e.cache(e.process(e.rtoken(/^[0-5][0-9]/),g.minute)),f.s=e.cache(e.process(e.rtoken(/^([0-5][0-9]|[0-9])/),g.second)),f.ss=e.cache(e.process(e.rtoken(/^[0-5][0-9]/),g.second)),f.hms=e.cache(e.sequence([f.H,f.m,f.s],f.timePartDelimiter)),f.t=e.cache(e.process(f.ctoken2("shortMeridian"),g.meridian)),f.tt=e.cache(e.process(f.ctoken2("longMeridian"),g.meridian)),f.z=e.cache(e.process(e.rtoken(/^((\+|\-)\s*\d\d\d\d)|((\+|\-)\d\d\:?\d\d)/),g.timezone)),f.zz=e.cache(e.process(e.rtoken(/^((\+|\-)\s*\d\d\d\d)|((\+|\-)\d\d\:?\d\d)/),g.timezone)),f.zzz=e.cache(e.process(f.ctoken2("timezone"),g.timezone)),f.timeSuffix=e.each(e.ignore(f.whiteSpace),e.set([f.tt,f.zzz])),f.time=e.each(e.optional(e.ignore(e.stoken("T"))),f.hms,f.timeSuffix),f.d=e.cache(e.process(e.each(e.rtoken(/^([0-2]\d|3[0-1]|\d)/),e.optional(f.ctoken2("ordinalSuffix"))),g.day)),f.dd=e.cache(e.process(e.each(e.rtoken(/^([0-2]\d|3[0-1])/),e.optional(f.ctoken2("ordinalSuffix"))),g.day)),f.ddd=f.dddd=e.cache(e.process(f.ctoken("sun mon tue wed thu fri sat"),function(a){return function(){this.weekday=a}})),f.M=e.cache(e.process(e.rtoken(/^(1[0-2]|0\d|\d)/),g.month)),f.MM=e.cache(e.process(e.rtoken(/^(1[0-2]|0\d)/),g.month)),f.MMM=f.MMMM=e.cache(e.process(f.ctoken("jan feb mar apr may jun jul aug sep oct nov dec"),g.month)),f.y=e.cache(e.process(e.rtoken(/^(\d\d?)/),g.year)),f.yy=e.cache(e.process(e.rtoken(/^(\d\d)/),g.year)),f.yyy=e.cache(e.process(e.rtoken(/^(\d\d?\d?\d?)/),g.year)),f.yyyy=e.cache(e.process(e.rtoken(/^(\d\d\d\d)/),g.year)),d=function(){return e.each(e.any.apply(null,arguments),e.not(f.ctoken2("timeContext")))},f.day=d(f.d,f.dd),f.month=d(f.M,f.MMM),f.year=d(f.yyyy,f.yy),f.orientation=e.process(f.ctoken("past future"),function(a){return function(){this.orient=a}}),f.operator=e.process(f.ctoken("add subtract"),function(a){return function(){this.operator=a}}),f.rday=e.process(f.ctoken("yesterday tomorrow today now"),g.rday),f.unit=e.process(f.ctoken("second minute hour day week month year"),function(a){return function(){this.unit=a}}),f.value=e.process(e.rtoken(/^\d\d?(st|nd|rd|th)?/),function(a){return function(){this.value=a.replace(/\D/g,"")}}),f.expression=e.set([f.rday,f.operator,f.value,f.unit,f.orientation,f.ddd,f.MMM]),d=function(){return e.set(arguments,f.datePartDelimiter)},f.mdy=d(f.ddd,f.month,f.day,f.year),f.ymd=d(f.ddd,f.year,f.month,f.day),f.dmy=d(f.ddd,f.day,f.month,f.year),f.date=function(a){return(f[b.dateElementOrder]||f.mdy).call(this,a)},f.format=e.process(e.many(e.any(e.process(e.rtoken(/^(dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|zz?z?)/),function(b){if(f[b])return f[b];throw a.Parsing.Exception(b)}),e.process(e.rtoken(/^[^dMyhHmstz]+/),function(a){return e.ignore(e.stoken(a))}))),function(a){return e.process(e.each.apply(null,a),g.finishExact)});var i={},j=function(a){return i[a]=i[a]||f.format(a)[0]};f.formats=function(a){if(a instanceof Array){for(var b=[],c=0;c<a.length;c++)b.push(j(a[c]));return e.any.apply(null,b)}return j(a)},f._formats=f.formats(['"yyyy-MM-ddTHH:mm:ssZ"',"yyyy-MM-ddTHH:mm:ssZ","yyyy-MM-ddTHH:mm:ssz","yyyy-MM-ddTHH:mm:ss","yyyy-MM-ddTHH:mmZ","yyyy-MM-ddTHH:mmz","yyyy-MM-ddTHH:mm","ddd, MMM dd, yyyy H:mm:ss tt","ddd MMM d yyyy HH:mm:ss zzz","MMddyyyy","ddMMyyyy","Mddyyyy","ddMyyyy","Mdyyyy","dMyyyy","yyyy","Mdyy","dMyy","d"]),f._start=e.process(e.set([f.date,f.time,f.expression],f.generalDelimiter,f.whiteSpace),g.finish),f.start=function(a){try{var b=f._formats.call({},a);if(0===b[1].length)return b}catch(c){}return f._start.call({},a)},a._parse=a.parse,a.parse=function(b){var c=null;if(!b)return null;if(b instanceof Date)return b;try{c=a.Grammar.start.call({},b.replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1"))}catch(d){return null}return 0===c[1].length?c[0]:null},a.getParseFunction=function(b){var c=a.Grammar.formats(b);return function(a){var b=null;try{b=c.call({},a)}catch(d){return null}return 0===b[1].length?b[0]:null}},a.parseExact=function(b,c){return a.getParseFunction(c)(b)}}(),function(a,b){function c(a){return l.PF.compile(a||"nplurals=2; plural=(n != 1);")}function d(a,b){this._key=a,this._i18n=b}var e=Array.prototype,f=Object.prototype,g=e.slice,h=f.hasOwnProperty,i=e.forEach,j={},k={forEach:function(a,b,c){var d,e,f;if(null!==a)if(i&&a.forEach===i)a.forEach(b,c);else if(a.length===+a.length){for(d=0,e=a.length;e>d;d++)if(d in a&&b.call(c,a[d],d,a)===j)return}else for(f in a)if(h.call(a,f)&&b.call(c,a[f],f,a)===j)return},extend:function(a){return this.forEach(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a}},l=function(a){if(this.defaults={locale_data:{messages:{"":{domain:"messages",lang:"en",plural_forms:"nplurals=2; plural=(n != 1);"}}},domain:"messages",debug:!1},this.options=k.extend({},this.defaults,a),this.textdomain(this.options.domain),a.domain&&!this.options.locale_data[this.options.domain])throw new Error("Text domain set to non-existent domain: `"+a.domain+"`")};l.context_delimiter=String.fromCharCode(4),k.extend(d.prototype,{onDomain:function(a){return this._domain=a,this},withContext:function(a){return this._context=a,this},ifPlural:function(a,b){return this._val=a,this._pkey=b,this},fetch:function(a){return"[object Array]"!={}.toString.call(a)&&(a=[].slice.call(arguments,0)),(a&&a.length?l.sprintf:function(a){return a})(this._i18n.dcnpgettext(this._domain,this._context,this._key,this._pkey,this._val),a)}}),k.extend(l.prototype,{translate:function(a){return new d(a,this)},textdomain:function(a){return a?void(this._textdomain=a):this._textdomain},gettext:function(a){return this.dcnpgettext.call(this,b,b,a)},dgettext:function(a,c){return this.dcnpgettext.call(this,a,b,c)},dcgettext:function(a,c){return this.dcnpgettext.call(this,a,b,c)},ngettext:function(a,c,d){return this.dcnpgettext.call(this,b,b,a,c,d)},dngettext:function(a,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},dcngettext:function(a,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},pgettext:function(a,c){return this.dcnpgettext.call(this,b,a,c)},dpgettext:function(a,b,c){return this.dcnpgettext.call(this,a,b,c)},dcpgettext:function(a,b,c){return this.dcnpgettext.call(this,a,b,c)},npgettext:function(a,c,d,e){return this.dcnpgettext.call(this,b,a,c,d,e)},dnpgettext:function(a,b,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},dcnpgettext:function(a,b,d,e,f){e=e||d,a=a||this._textdomain;var g;if(!this.options)return g=new l,g.dcnpgettext.call(g,void 0,void 0,d,e,f);if(!this.options.locale_data)throw new Error("No locale data provided.");if(!this.options.locale_data[a])throw new Error("Domain `"+a+"` was not found.");if(!this.options.locale_data[a][""])throw new Error("No locale meta information provided.");if(!d)throw new Error("No translation key found.");var h,i,j,k=b?b+l.context_delimiter+d:d,m=this.options.locale_data,n=m[a],o=(m.messages||this.defaults.locale_data.messages)[""],p=n[""].plural_forms||n[""]["Plural-Forms"]||n[""]["plural-forms"]||o.plural_forms||o["Plural-Forms"]||o["plural-forms"];if(void 0===f)j=0;else{if("number"!=typeof f&&(f=parseInt(f,10),isNaN(f)))throw new Error("The number that was passed in is not a number.");j=c(p)(f)}if(!n)throw new Error("No domain named `"+a+"` could be found.");return h=n[k],!h||j>h.length?(this.options.missing_key_callback&&this.options.missing_key_callback(k,a),i=[d,e],this.options.debug===!0&&console.log(i[c(p)(f)]),i[c()(f)]):(i=h[j],i?i:(i=[d,e],i[c()(f)]))}});var m=function(){function a(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}function b(a,b){for(var c=[];b>0;c[--b]=a);return c.join("")}var c=function(){return c.cache.hasOwnProperty(arguments[0])||(c.cache[arguments[0]]=c.parse(arguments[0])),c.format.call(null,c.cache[arguments[0]],arguments)};return c.format=function(c,d){var e,f,g,h,i,j,k,l=1,n=c.length,o="",p=[];for(f=0;n>f;f++)if(o=a(c[f]),"string"===o)p.push(c[f]);else if("array"===o){if(h=c[f],h[2])for(e=d[l],g=0;g<h[2].length;g++){if(!e.hasOwnProperty(h[2][g]))throw m('[sprintf] property "%s" does not exist',h[2][g]);e=e[h[2][g]]}else e=h[1]?d[h[1]]:d[l++];if(/[^s]/.test(h[8])&&"number"!=a(e))throw m("[sprintf] expecting number but found %s",a(e));switch(("undefined"==typeof e||null===e)&&(e=""),h[8]){case"b":e=e.toString(2);break;case"c":e=String.fromCharCode(e);break;case"d":e=parseInt(e,10);break;case"e":e=h[7]?e.toExponential(h[7]):e.toExponential();break;case"f":e=h[7]?parseFloat(e).toFixed(h[7]):parseFloat(e);break;case"o":e=e.toString(8);break;case"s":e=(e=String(e))&&h[7]?e.substring(0,h[7]):e;break;case"u":e=Math.abs(e);break;case"x":e=e.toString(16);break;case"X":e=e.toString(16).toUpperCase()}e=/[def]/.test(h[8])&&h[3]&&e>=0?"+"+e:e,j=h[4]?"0"==h[4]?"0":h[4].charAt(1):" ",k=h[6]-String(e).length,i=h[6]?b(j,k):"",p.push(h[5]?e+i:i+e)}return p.join("")},c.cache={},c.parse=function(a){for(var b=a,c=[],d=[],e=0;b;){if(null!==(c=/^[^\x25]+/.exec(b)))d.push(c[0]);else if(null!==(c=/^\x25{2}/.exec(b)))d.push("%");else{if(null===(c=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(b)))throw"[sprintf] huh?";if(c[2]){e|=1;var f=[],g=c[2],h=[];if(null===(h=/^([a-z_][a-z_\d]*)/i.exec(g)))throw"[sprintf] huh?";for(f.push(h[1]);""!==(g=g.substring(h[0].length));)if(null!==(h=/^\.([a-z_][a-z_\d]*)/i.exec(g)))f.push(h[1]);else{if(null===(h=/^\[(\d+)\]/.exec(g)))throw"[sprintf] huh?";f.push(h[1])}c[2]=f}else e|=2;if(3===e)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";d.push(c)}b=b.substring(c[0].length)}return d},c}(),n=function(a,b){return b.unshift(a),m.apply(null,b)};l.parse_plural=function(a,b){return a=a.replace(/n/g,b),l.parse_expression(a)},l.sprintf=function(a,b){return"[object Array]"=={}.toString.call(b)?n(a,[].slice.call(b)):m.apply(this,[].slice.call(arguments))},l.prototype.sprintf=function(){return l.sprintf.apply(this,arguments)},l.PF={},l.PF.parse=function(a){var b=l.PF.extractPluralExpr(a);return l.PF.parser.parse.call(l.PF.parser,b)},l.PF.compile=function(a){function b(a){return a===!0?1:a?a:0}var c=l.PF.parse(a);return function(a){return b(l.PF.interpreter(c)(a))}},l.PF.interpreter=function(a){return function(b){switch(a.type){case"GROUP":return l.PF.interpreter(a.expr)(b);case"TERNARY":return l.PF.interpreter(a.expr)(b)?l.PF.interpreter(a.truthy)(b):l.PF.interpreter(a.falsey)(b);case"OR":return l.PF.interpreter(a.left)(b)||l.PF.interpreter(a.right)(b);case"AND":return l.PF.interpreter(a.left)(b)&&l.PF.interpreter(a.right)(b);case"LT":return l.PF.interpreter(a.left)(b)<l.PF.interpreter(a.right)(b);case"GT":return l.PF.interpreter(a.left)(b)>l.PF.interpreter(a.right)(b);case"LTE":return l.PF.interpreter(a.left)(b)<=l.PF.interpreter(a.right)(b);case"GTE":return l.PF.interpreter(a.left)(b)>=l.PF.interpreter(a.right)(b);case"EQ":return l.PF.interpreter(a.left)(b)==l.PF.interpreter(a.right)(b);case"NEQ":return l.PF.interpreter(a.left)(b)!=l.PF.interpreter(a.right)(b);case"MOD":return l.PF.interpreter(a.left)(b)%l.PF.interpreter(a.right)(b);case"VAR":return b;case"NUM":return a.val;default:throw new Error("Invalid Token found.")}}},l.PF.extractPluralExpr=function(a){a=a.replace(/^\s\s*/,"").replace(/\s\s*$/,""),/;\s*$/.test(a)||(a=a.concat(";"));var b,c=/nplurals\=(\d+);/,d=/plural\=(.*);/,e=a.match(c),f={};if(!(e.length>1))throw new Error("nplurals not found in plural_forms string: "+a);if(f.nplurals=e[1],a=a.replace(c,""),b=a.match(d),!(b&&b.length>1))throw new Error("`plural` expression not found: "+a);return b[1]},l.PF.parser=function(){var a={trace:function(){},yy:{},symbols_:{error:2,expressions:3,e:4,EOF:5,"?":6,":":7,"||":8,"&&":9,"<":10,"<=":11,">":12,">=":13,"!=":14,"==":15,"%":16,"(":17,")":18,n:19,NUMBER:20,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"?",7:":",8:"||",9:"&&",10:"<",11:"<=",12:">",13:">=",14:"!=",15:"==",16:"%",17:"(",18:")",19:"n",20:"NUMBER"},productions_:[0,[3,2],[4,5],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,1],[4,1]],performAction:function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 1:return{type:"GROUP",expr:f[h-1]};case 2:this.$={type:"TERNARY",expr:f[h-4],truthy:f[h-2],falsey:f[h]};break;case 3:this.$={type:"OR",left:f[h-2],right:f[h]};break;case 4:this.$={type:"AND",left:f[h-2],right:f[h]};break;case 5:this.$={type:"LT",left:f[h-2],right:f[h]};break;case 6:this.$={type:"LTE",left:f[h-2],right:f[h]};break;case 7:this.$={type:"GT",left:f[h-2],right:f[h]};break;case 8:this.$={type:"GTE",left:f[h-2],right:f[h]};break;case 9:this.$={type:"NEQ",left:f[h-2],right:f[h]};break;case 10:this.$={type:"EQ",left:f[h-2],right:f[h]};break;case 11:this.$={type:"MOD",left:f[h-2],right:f[h]};break;case 12:this.$={type:"GROUP",expr:f[h-1]};break;case 13:this.$={type:"VAR"};break;case 14:this.$={type:"NUM",val:Number(a)}}},table:[{3:1,4:2,17:[1,3],19:[1,4],20:[1,5]},{1:[3]},{5:[1,6],6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{4:17,17:[1,3],19:[1,4],20:[1,5]},{5:[2,13],6:[2,13],7:[2,13],8:[2,13],9:[2,13],10:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],18:[2,13]},{5:[2,14],6:[2,14],7:[2,14],8:[2,14],9:[2,14],10:[2,14],11:[2,14],12:[2,14],13:[2,14],14:[2,14],15:[2,14],16:[2,14],18:[2,14]},{1:[2,1]},{4:18,17:[1,3],19:[1,4],20:[1,5]},{4:19,17:[1,3],19:[1,4],20:[1,5]},{4:20,17:[1,3],19:[1,4],20:[1,5]},{4:21,17:[1,3],19:[1,4],20:[1,5]},{4:22,17:[1,3],19:[1,4],20:[1,5]},{4:23,17:[1,3],19:[1,4],20:[1,5]},{4:24,17:[1,3],19:[1,4],20:[1,5]},{4:25,17:[1,3],19:[1,4],20:[1,5]},{4:26,17:[1,3],19:[1,4],20:[1,5]},{4:27,17:[1,3],19:[1,4],20:[1,5]},{6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[1,28]},{6:[1,7],7:[1,29],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{5:[2,3],6:[2,3],7:[2,3],8:[2,3],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,3]},{5:[2,4],6:[2,4],7:[2,4],8:[2,4],9:[2,4],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,4]},{5:[2,5],6:[2,5],7:[2,5],8:[2,5],9:[2,5],10:[2,5],11:[2,5],12:[2,5],13:[2,5],14:[2,5],15:[2,5],16:[1,16],18:[2,5]},{5:[2,6],6:[2,6],7:[2,6],8:[2,6],9:[2,6],10:[2,6],11:[2,6],12:[2,6],13:[2,6],14:[2,6],15:[2,6],16:[1,16],18:[2,6]},{5:[2,7],6:[2,7],7:[2,7],8:[2,7],9:[2,7],10:[2,7],11:[2,7],12:[2,7],13:[2,7],14:[2,7],15:[2,7],16:[1,16],18:[2,7]},{5:[2,8],6:[2,8],7:[2,8],8:[2,8],9:[2,8],10:[2,8],11:[2,8],12:[2,8],13:[2,8],14:[2,8],15:[2,8],16:[1,16],18:[2,8]},{5:[2,9],6:[2,9],7:[2,9],8:[2,9],9:[2,9],10:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[1,16],18:[2,9]},{5:[2,10],6:[2,10],7:[2,10],8:[2,10],9:[2,10],10:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[1,16],18:[2,10]},{5:[2,11],6:[2,11],7:[2,11],8:[2,11],9:[2,11],10:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],18:[2,11]},{5:[2,12],6:[2,12],7:[2,12],8:[2,12],9:[2,12],10:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],18:[2,12]},{4:30,17:[1,3],19:[1,4],20:[1,5]},{5:[2,2],6:[1,7],7:[2,2],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,2]}],defaultActions:{6:[2,1]},parseError:function(a,b){throw new Error(a)},parse:function(a){function b(a){e.length=e.length-2*a,f.length=f.length-a,g.length=g.length-a}function c(){var a;return a=d.lexer.lex()||1,"number"!=typeof a&&(a=d.symbols_[a]||a),a}var d=this,e=[0],f=[null],g=[],h=this.table,i="",j=0,k=0,l=0,m=2,n=1;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var o=this.lexer.yylloc;g.push(o),"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var p,q,r,s,t,u,v,w,x,y={};;){if(r=e[e.length-1],this.defaultActions[r]?s=this.defaultActions[r]:(null==p&&(p=c()),s=h[r]&&h[r][p]),"undefined"==typeof s||!s.length||!s[0]){if(!l){x=[];for(u in h[r])this.terminals_[u]&&u>2&&x.push("'"+this.terminals_[u]+"'");var z="";z=this.lexer.showPosition?"Parse error on line "+(j+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+x.join(", ")+", got '"+this.terminals_[p]+"'":"Parse error on line "+(j+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(z,{text:this.lexer.match,token:this.terminals_[p]||p,line:this.lexer.yylineno,loc:o,expected:x})}if(3==l){if(p==n)throw new Error(z||"Parsing halted.");k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,p=c()}for(;;){if(m.toString()in h[r])break;if(0==r)throw new Error(z||"Parsing halted.");b(1),r=e[e.length-1]}q=p,p=m,r=e[e.length-1],s=h[r]&&h[r][m],l=3}if(s[0]instanceof Array&&s.length>1)throw new Error("Parse Error: multiple actions possible at state: "+r+", token: "+p);switch(s[0]){case 1:e.push(p),f.push(this.lexer.yytext),g.push(this.lexer.yylloc),e.push(s[1]),p=null,q?(p=q,q=null):(k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,l>0&&l--);break;case 2:if(v=this.productions_[s[1]][1],y.$=f[f.length-v],y._$={first_line:g[g.length-(v||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(v||1)].first_column,last_column:g[g.length-1].last_column},t=this.performAction.call(y,i,k,j,this.yy,s[1],f,g),"undefined"!=typeof t)return t;v&&(e=e.slice(0,-1*v*2),f=f.slice(0,-1*v),g=g.slice(0,-1*v)),e.push(this.productions_[s[1]][0]),f.push(y.$),g.push(y._$),w=h[e[e.length-2]][e[e.length-1]],e.push(w);break;case 3:return!0}}return!0}},b=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parseError)throw new Error(a);this.yy.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.match+=a,this.matched+=a;var b=a.match(/\n/);return b&&this.yylineno++,this._input=this._input.slice(1),a},unput:function(a){return this._input=a+this._input,this},more:function(){return this._more=!0,this},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c;this._more||(this.yytext="",this.match="");for(var d=this._currentRules(),e=0;e<d.length;e++)if(b=this._input.match(this.rules[d[e]]))return c=b[0].match(/\n.*/g),c&&(this.yylineno+=c.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:c?c[c.length-1].length-1:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,d[e],this.conditionStack[this.conditionStack.length-1]),a?a:void 0;return""===this._input?this.EOF:void this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return"undefined"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.performAction=function(a,b,c,d){switch(c){case 0:break;case 1:return 20;case 2:return 19;case 3:return 8;case 4:return 9;case 5:return 6;case 6:return 7;case 7:return 11;case 8:return 13;case 9:return 10;case 10:return 12;case 11:return 14;case 12:return 15;case 13:return 16;case 14:return 17;case 15:return 18;case 16:return 5;case 17:return"INVALID"}},a.rules=[/^\s+/,/^[0-9]+(\.[0-9]+)?\b/,/^n\b/,/^\|\|/,/^&&/,/^\?/,/^:/,/^<=/,/^>=/,/^</,/^>/,/^!=/,/^==/,/^%/,/^\(/,/^\)/,/^$/,/^./],a.conditions={INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}},a}();return a.lexer=b,a}(),"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=l),exports.Jed=l):("function"==typeof define&&define.amd&&define(function(){return l}),a.Jed=l)}(this),function(a){function b(a){return{jsonrpc:"2.0",method:a.method||"",params:a.params||{},id:g++}}function c(c){var d=a.isArray(c)?c.map(b):b(c);return JSON.stringify(d)}function d(a){return a.sort(e)}function e(a,b){return a.id<b.id?-1:1}function f(b,e){var f=new a.Deferred;e=e||{};var g=e.success||h,i=e.error||h;delete e.success,delete e.error;var j=a.isArray(b),k=a.extend({url:(j?b[0].url:b.url)||a.jsonrpc.defaultUrl,contentType:"application/json",dataType:"text",dataFilter:function(a,b){return JSON.parse(a)},type:"POST",processData:!1,data:c(b),success:function(a){if(j){var b=d(a);return g(b),void f.resolve(b)}if(a.hasOwnProperty("error"))return i(a.error),void f.reject(a.error);if(a.hasOwnProperty("result"))return g(a.result),void f.resolve(a.result);throw"Invalid response returned"},error:function(a,b,c){var d=null;if("timeout"===c)d={status:b,code:-32e3,message:"Request Timeout",data:null};else try{var e=JSON.parse(a.responseText);d=e.error}catch(g){d={status:b,code:-32603,message:c,data:a.responseText}}i(d),f.reject(d)}},e);return a.ajax(k),f.promise()}var g=1,h=function(){};a.extend({jsonrpc:f}),a.jsonrpc.defaultUrl="/jsonrpc"}(jQuery),!function(a,b,c,d){var e=a(b);a.fn.lazyload=function(f){function g(){var b=0;i.each(function(){var c=a(this);if(!j.skip_invisible||c.is(":visible"))if(a.abovethetop(this,j)||a.leftofbegin(this,j));else if(a.belowthefold(this,j)||a.rightoffold(this,j)){if(++b>j.failure_limit)return!1}else c.trigger("appear"),b=0})}var h,i=this,j={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:b,data_attribute:"original",skip_invisible:!0,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return f&&(d!==f.failurelimit&&(f.failure_limit=f.failurelimit,delete f.failurelimit),d!==f.effectspeed&&(f.effect_speed=f.effectspeed,delete f.effectspeed),a.extend(j,f)),h=j.container===d||j.container===b?e:a(j.container),0===j.event.indexOf("scroll")&&h.bind(j.event,function(){return g()}),this.each(function(){var b=this,c=a(b);b.loaded=!1,(c.attr("src")===d||c.attr("src")===!1)&&c.is("img")&&c.attr("src",j.placeholder),c.one("appear",function(){if(!this.loaded){if(j.appear){var d=i.length;j.appear.call(b,d,j)}a("<img />").bind("load",function(){var d=c.attr("data-"+j.data_attribute);c.hide(),c.is("img")?c.attr("src",d):c.css("background-image","url('"+d+"')"),c[j.effect](j.effect_speed),b.loaded=!0;var e=a.grep(i,function(a){return!a.loaded});if(i=a(e),j.load){var f=i.length;j.load.call(b,f,j)}}).attr("src",c.attr("data-"+j.data_attribute))}}),0!==j.event.indexOf("scroll")&&c.bind(j.event,function(){b.loaded||c.trigger("appear")})}),e.bind("resize",function(){g()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&e.bind("pageshow",function(b){b.originalEvent&&b.originalEvent.persisted&&i.each(function(){a(this).trigger("appear")})}),a(c).ready(function(){g()}),this},a.belowthefold=function(c,f){var g;return g=f.container===d||f.container===b?(b.innerHeight?b.innerHeight:e.height())+e.scrollTop():a(f.container).offset().top+a(f.container).height(),g<=a(c).offset().top-f.threshold},a.rightoffold=function(c,f){var g;return g=f.container===d||f.container===b?e.width()+e.scrollLeft():a(f.container).offset().left+a(f.container).width(),g<=a(c).offset().left-f.threshold},a.abovethetop=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollTop():a(f.container).offset().top,g>=a(c).offset().top+f.threshold+a(c).height()},a.leftofbegin=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollLeft():a(f.container).offset().left,g>=a(c).offset().left+f.threshold+a(c).width()},a.inviewport=function(b,c){return!(a.rightoffold(b,c)||a.leftofbegin(b,c)||a.belowthefold(b,c)||a.abovethetop(b,c))},a.extend(a.expr[":"],{"below-the-fold":function(b){return a.belowthefold(b,{threshold:0})},"above-the-top":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-screen":function(b){return a.rightoffold(b,{threshold:0})},"left-of-screen":function(b){return!a.rightoffold(b,{threshold:0})},"in-viewport":function(b){return a.inviewport(b,{threshold:0})},"above-the-fold":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-fold":function(b){return a.rightoffold(b,{threshold:0})},"left-of-fold":function(b){return!a.rightoffold(b,{threshold:0})}})}(jQuery,window,document),function(a){"use strict";function b(a,b){return Math.round(a/b)*b}function c(a){return"number"==typeof a&&!isNaN(a)&&isFinite(a)}function d(a){
+var b=Math.pow(10,7);return Number((Math.round(a*b)/b).toFixed(7))}function e(a,b,c){a.addClass(b),setTimeout(function(){a.removeClass(b)},c)}function f(a){return Math.max(Math.min(a,100),0)}function g(b){return a.isArray(b)?b:[b]}function h(a){var b=a.split(".");return b.length>1?b[1].length:0}function i(a,b){return 100/(b-a)}function j(a,b){return 100*b/(a[1]-a[0])}function k(a,b){return j(a,a[0]<0?b+Math.abs(a[0]):b-a[0])}function l(a,b){return b*(a[1]-a[0])/100+a[0]}function m(a,b){for(var c=1;a>=b[c];)c+=1;return c}function n(a,b,c){if(c>=a.slice(-1)[0])return 100;var d,e,f,g,h=m(c,a);return d=a[h-1],e=a[h],f=b[h-1],g=b[h],f+k([d,e],c)/i(f,g)}function o(a,b,c){if(c>=100)return a.slice(-1)[0];var d,e,f,g,h=m(c,b);return d=a[h-1],e=a[h],f=b[h-1],g=b[h],l([d,e],(c-f)*i(f,g))}function p(a,c,d,e){if(100===e)return e;var f,g,h=m(e,a);return d?(f=a[h-1],g=a[h],e-f>(g-f)/2?g:f):c[h-1]?a[h-1]+b(e-a[h-1],c[h-1]):e}function q(a,b,d){var e;if("number"==typeof b&&(b=[b]),"[object Array]"!==Object.prototype.toString.call(b))throw new Error("noUiSlider: 'range' contains invalid value.");if(e="min"===a?0:"max"===a?100:parseFloat(a),!c(e)||!c(b[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");d.xPct.push(e),d.xVal.push(b[0]),e?d.xSteps.push(isNaN(b[1])?!1:b[1]):isNaN(b[1])||(d.xSteps[0]=b[1])}function r(a,b,c){return b?void(c.xSteps[a]=j([c.xVal[a],c.xVal[a+1]],b)/i(c.xPct[a],c.xPct[a+1])):!0}function s(a,b,c,d){this.xPct=[],this.xVal=[],this.xSteps=[d||!1],this.xNumSteps=[!1],this.snap=b,this.direction=c;var e,f=[];for(e in a)a.hasOwnProperty(e)&&f.push([a[e],e]);for(f.sort(function(a,b){return a[0]-b[0]}),e=0;e<f.length;e++)q(f[e][1],f[e][0],this);for(this.xNumSteps=this.xSteps.slice(0),e=0;e<this.xNumSteps.length;e++)r(e,this.xNumSteps[e],this)}function t(a,b){if(!c(b))throw new Error("noUiSlider: 'step' is not numeric.");a.singleStep=b}function u(b,c){if("object"!=typeof c||a.isArray(c))throw new Error("noUiSlider: 'range' is not an object.");if(void 0===c.min||void 0===c.max)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");b.spectrum=new s(c,b.snap,b.dir,b.singleStep)}function v(b,c){if(c=g(c),!a.isArray(c)||!c.length||c.length>2)throw new Error("noUiSlider: 'start' option is incorrect.");b.handles=c.length,b.start=c}function w(a,b){if(a.snap=b,"boolean"!=typeof b)throw new Error("noUiSlider: 'snap' option must be a boolean.")}function x(a,b){if(a.animate=b,"boolean"!=typeof b)throw new Error("noUiSlider: 'animate' option must be a boolean.")}function y(a,b){if("lower"===b&&1===a.handles)a.connect=1;else if("upper"===b&&1===a.handles)a.connect=2;else if(b===!0&&2===a.handles)a.connect=3;else{if(b!==!1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");a.connect=0}}function z(a,b){switch(b){case"horizontal":a.ort=0;break;case"vertical":a.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function A(a,b){if(!c(b))throw new Error("noUiSlider: 'margin' option must be numeric.");if(a.margin=a.spectrum.getMargin(b),!a.margin)throw new Error("noUiSlider: 'margin' option is only supported on linear sliders.")}function B(a,b){if(!c(b))throw new Error("noUiSlider: 'limit' option must be numeric.");if(a.limit=a.spectrum.getMargin(b),!a.limit)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders.")}function C(a,b){switch(b){case"ltr":a.dir=0;break;case"rtl":a.dir=1,a.connect=[0,2,1,3][a.connect];break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function D(a,b){if("string"!=typeof b)throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var c=b.indexOf("tap")>=0,d=b.indexOf("drag")>=0,e=b.indexOf("fixed")>=0,f=b.indexOf("snap")>=0;a.events={tap:c||f,drag:d,fixed:e,snap:f}}function E(a,b){if(a.format=b,"function"==typeof b.to&&"function"==typeof b.from)return!0;throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.")}function F(b){var c,d={margin:0,limit:0,animate:!0,format:V};return c={step:{r:!1,t:t},start:{r:!0,t:v},connect:{r:!0,t:y},direction:{r:!0,t:C},snap:{r:!1,t:w},animate:{r:!1,t:x},range:{r:!0,t:u},orientation:{r:!1,t:z},margin:{r:!1,t:A},limit:{r:!1,t:B},behaviour:{r:!0,t:D},format:{r:!1,t:E}},b=a.extend({connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal"},b),a.each(c,function(a,c){if(void 0===b[a]){if(c.r)throw new Error("noUiSlider: '"+a+"' is required.");return!0}c.t(d,b[a])}),d.style=d.ort?"top":"left",d}function G(a,b,c){var d=a+b[0],e=a+b[1];return c?(0>d&&(e+=Math.abs(d)),e>100&&(d-=e-100),[f(d),f(e)]):[d,e]}function H(a){a.preventDefault();var b,c,d=0===a.type.indexOf("touch"),e=0===a.type.indexOf("mouse"),f=0===a.type.indexOf("pointer"),g=a;return 0===a.type.indexOf("MSPointer")&&(f=!0),a.originalEvent&&(a=a.originalEvent),d&&(b=a.changedTouches[0].pageX,c=a.changedTouches[0].pageY),(e||f)&&(f||void 0!==window.pageXOffset||(window.pageXOffset=document.documentElement.scrollLeft,window.pageYOffset=document.documentElement.scrollTop),b=a.clientX+window.pageXOffset,c=a.clientY+window.pageYOffset),g.points=[b,c],g.cursor=e,g}function I(b,c){var d=a("<div><div/></div>").addClass(U[2]),e=["-lower","-upper"];return b&&e.reverse(),d.children().addClass(U[3]+" "+U[3]+e[c]),d}function J(a,b,c){switch(a){case 1:b.addClass(U[7]),c[0].addClass(U[6]);break;case 3:c[1].addClass(U[6]);case 2:c[0].addClass(U[7]);case 0:b.addClass(U[6])}}function K(a,b,c){var d,e=[];for(d=0;a>d;d+=1)e.push(I(b,d).appendTo(c));return e}function L(b,c,d){return d.addClass([U[0],U[8+b],U[4+c]].join(" ")),a("<div/>").appendTo(d).addClass(U[1])}function M(b,c,d){function i(){return C[["width","height"][c.ort]]()}function j(a){var b,c=[E.val()];for(b=0;b<a.length;b+=1)E.trigger(a[b],c)}function k(a){return 1===a.length?a[0]:c.dir?a.reverse():a}function l(a){return function(b,c){E.val([a?null:c,a?c:null],!0)}}function m(b){var c=a.inArray(b,N);E[0].linkAPI&&E[0].linkAPI[b]&&E[0].linkAPI[b].change(M[c],D[c].children(),E)}function n(b,d){var e=a.inArray(b,N);return d&&d.appendTo(D[e].children()),c.dir&&c.handles>1&&(e=1===e?0:1),l(e)}function o(){var a,b;for(a=0;a<N.length;a+=1)this.linkAPI&&this.linkAPI[b=N[a]]&&this.linkAPI[b].reconfirm(b)}function p(a,b,d,e){return a=a.replace(/\s/g,S+" ")+S,b.on(a,function(a){return E.attr("disabled")?!1:E.hasClass(U[14])?!1:(a=H(a),a.calcPoint=a.points[c.ort],void d(a,e))})}function q(a,b){var c,d=b.handles||D,e=!1,f=100*(a.calcPoint-b.start)/i(),g=d[0][0]!==D[0][0]?1:0;c=G(f,b.positions,d.length>1),e=v(d[0],c[g],1===d.length),d.length>1&&(e=v(d[1],c[g?0:1],!1)||e),e&&j(["slide"])}function r(b){a("."+U[15]).removeClass(U[15]),b.cursor&&a("body").css("cursor","").off(S),Q.off(S),E.removeClass(U[12]),j(["set","change"])}function s(b,c){1===c.handles.length&&c.handles[0].children().addClass(U[15]),b.stopPropagation(),p(T.move,Q,q,{start:b.calcPoint,handles:c.handles,positions:[F[0],F[D.length-1]]}),p(T.end,Q,r,null),b.cursor&&(a("body").css("cursor",a(b.target).css("cursor")),D.length>1&&E.addClass(U[12]),a("body").on("selectstart"+S,!1))}function t(b){var d,f=b.calcPoint,g=0;b.stopPropagation(),a.each(D,function(){g+=this.offset()[c.style]}),g=g/2>f||1===D.length?0:1,f-=C.offset()[c.style],d=100*f/i(),c.events.snap||e(E,U[14],300),v(D[g],d),j(["slide","set","change"]),c.events.snap&&s(b,{handles:[D[g]]})}function u(a){var b,c;if(!a.fixed)for(b=0;b<D.length;b+=1)p(T.start,D[b].children(),s,{handles:[D[b]]});a.tap&&p(T.start,C,t,{handles:D}),a.drag&&(c=C.find("."+U[7]).addClass(U[10]),a.fixed&&(c=c.add(C.children().not(c).children())),p(T.start,c,s,{handles:D}))}function v(a,b,d){var e=a[0]!==D[0][0]?1:0,g=F[0]+c.margin,h=F[1]-c.margin,i=F[0]+c.limit,j=F[1]-c.limit;return D.length>1&&(b=e?Math.max(b,g):Math.min(b,h)),d!==!1&&c.limit&&D.length>1&&(b=e?Math.min(b,i):Math.max(b,j)),b=I.getStep(b),b=f(parseFloat(b.toFixed(7))),b===F[e]?!1:(a.css(c.style,b+"%"),a.is(":first-child")&&a.toggleClass(U[17],b>50),F[e]=b,M[e]=I.fromStepping(b),m(N[e]),!0)}function w(a,b){var d,e,f;for(c.limit&&(a+=1),d=0;a>d;d+=1)e=d%2,f=b[e],null!==f&&f!==!1&&("number"==typeof f&&(f=String(f)),f=c.format.from(f),(f===!1||isNaN(f)||v(D[e],I.toStepping(f),d===3-c.dir)===!1)&&m(N[e]))}function x(a){if(E[0].LinkIsEmitting)return this;var b,d=g(a);return c.dir&&c.handles>1&&d.reverse(),c.animate&&-1!==F[0]&&e(E,U[14],300),b=D.length>1?3:1,1===d.length&&(b=1),w(b,d),j(["set"]),this}function y(){var a,b=[];for(a=0;a<c.handles;a+=1)b[a]=c.format.to(M[a]);return k(b)}function z(){return a(this).off(S).removeClass(U.join(" ")).empty(),delete this.LinkUpdate,delete this.LinkConfirm,delete this.LinkDefaultFormatter,delete this.LinkDefaultFlag,delete this.reappend,delete this.vGet,delete this.vSet,delete this.getCurrentStep,delete this.getInfo,delete this.destroy,d}function A(){var b=a.map(F,function(a,b){var c=I.getApplicableStep(a),d=h(String(c[2])),e=M[b],f=100===a?null:c[2],g=Number((e-c[2]).toFixed(d)),i=0===a?null:g>=c[1]?c[2]:c[0]||!1;return[[i,f]]});return k(b)}function B(){return d}var C,D,E=a(b),F=[-1,-1],I=c.spectrum,M=[],N=["lower","upper"].slice(0,c.handles);if(c.dir&&N.reverse(),b.LinkUpdate=m,b.LinkConfirm=n,b.LinkDefaultFormatter=c.format,b.LinkDefaultFlag="lower",b.reappend=o,E.hasClass(U[0]))throw new Error("Slider was already initialized.");C=L(c.dir,c.ort,E),D=K(c.handles,c.dir,C),J(c.connect,E,D),u(c.events),b.vSet=x,b.vGet=y,b.destroy=z,b.getCurrentStep=A,b.getOriginalOptions=B,b.getInfo=function(){return[I,c.style,c.ort]},E.val(c.start)}function N(a){var b=F(a,this);return this.each(function(){M(this,b,a)})}function O(b){return this.each(function(){if(!this.destroy)return void a(this).noUiSlider(b);var c=a(this).val(),d=this.destroy(),e=a.extend({},d,b);a(this).noUiSlider(e),this.reappend(),d.start===e.start&&a(this).val(c)})}function P(){return this[0][arguments.length?"vSet":"vGet"].apply(this[0],arguments)}var Q=a(document),R=a.fn.val,S=".nui",T=window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"},U=["noUi-target","noUi-base","noUi-origin","noUi-handle","noUi-horizontal","noUi-vertical","noUi-background","noUi-connect","noUi-ltr","noUi-rtl","noUi-dragable","","noUi-state-drag","","noUi-state-tap","noUi-active","","noUi-stacking"];s.prototype.getMargin=function(a){return 2===this.xPct.length?j(this.xVal,a):!1},s.prototype.toStepping=function(a){return a=n(this.xVal,this.xPct,a),this.direction&&(a=100-a),a},s.prototype.fromStepping=function(a){return this.direction&&(a=100-a),d(o(this.xVal,this.xPct,a))},s.prototype.getStep=function(a){return this.direction&&(a=100-a),a=p(this.xPct,this.xSteps,this.snap,a),this.direction&&(a=100-a),a},s.prototype.getApplicableStep=function(a){var b=m(a,this.xPct),c=100===a?2:1;return[this.xNumSteps[b-2],this.xVal[b-c],this.xNumSteps[b-c]]},s.prototype.convert=function(a){return this.getStep(this.toStepping(a))};var V={to:function(a){return a.toFixed(2)},from:Number};a.fn.val=function(b){function c(a){return a.hasClass(U[0])?P:R}if(!arguments.length){var d=a(this[0]);return c(d).call(d)}var e=a.isFunction(b);return this.each(function(d){var f=b,g=a(this);e&&(f=b.call(this,d,g.val())),c(g).call(g,f)})},a.fn.noUiSlider=function(a,b){switch(a){case"step":return this[0].getCurrentStep();case"options":return this[0].getOriginalOptions()}return(b?O:N).call(this,a)}}(window.jQuery||window.Zepto),function(a){"use strict";"object"==typeof exports?a(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){"use strict";var b=function(a){if(a=a||"once","string"!=typeof a)throw new Error("The jQuery Once id parameter must be a string");return a};a.fn.once=function(c){var d="jquery-once-"+b(c);return this.filter(function(){return a(this).data(d)!==!0}).data(d,!0)},a.fn.removeOnce=function(a){return this.findOnce(a).removeData("jquery-once-"+b(a))},a.fn.findOnce=function(c){var d="jquery-once-"+b(c);return this.filter(function(){return a(this).data(d)===!0})}}),function(a){var b=a(window);a.fn.visible=function(a,c,d){if(!(this.length<1)){var e=this.length>1?this.eq(0):this,f=e.get(0),g=b.width(),h=b.height(),d=d?d:"both",i=c===!0?f.offsetWidth*f.offsetHeight:!0;if("function"==typeof f.getBoundingClientRect){var j=f.getBoundingClientRect(),k=j.top>=0&&j.top<h,l=j.bottom>0&&j.bottom<=h,m=j.left>=0&&j.left<g,n=j.right>0&&j.right<=g,o=a?k||l:k&&l,p=a?m||n:m&&n;if("both"===d)return i&&o&&p;if("vertical"===d)return i&&o;if("horizontal"===d)return i&&p}else{var q=b.scrollTop(),r=q+h,s=b.scrollLeft(),t=s+g,u=e.offset(),v=u.top,w=v+e.height(),x=u.left,y=x+e.width(),z=a===!0?w:v,A=a===!0?v:w,B=a===!0?y:x,C=a===!0?x:y;if("both"===d)return!!i&&r>=A&&z>=q&&t>=C&&B>=s;if("vertical"===d)return!!i&&r>=A&&z>=q;if("horizontal"===d)return!!i&&t>=C&&B>=s}}}}(jQuery),window.JST||(window.JST={});var prettyPrint=function(){var a={el:function(b,c){var d,e=document.createElement(b);if(c=a.merge({},c),c&&c.style){c.style;a.applyCSS(e,c.style),delete c.style}for(d in c)c.hasOwnProperty(d)&&(e[d]=c[d]);return e},applyCSS:function(a,b){for(var c in b)if(b.hasOwnProperty(c))try{a.style[c]=b[c]}catch(d){}},txt:function(a){return document.createTextNode(a)},row:function(b,c,d){d=d||"td";var e,f=a.count(b,null)+1,g=a.el("tr"),h={style:a.getStyles(d,c),colSpan:f,onmouseover:function(){var b=this.parentNode.childNodes;a.forEach(b,function(b){"td"===b.nodeName.toLowerCase()&&a.applyCSS(b,a.getStyles("td_hover",c))})},onmouseout:function(){var b=this.parentNode.childNodes;a.forEach(b,function(b){"td"===b.nodeName.toLowerCase()&&a.applyCSS(b,a.getStyles("td",c))})}};return a.forEach(b,function(b){null!==b&&(e=a.el(d,h),b.nodeType?e.appendChild(b):e.innerHTML=a.shorten(b.toString()),g.appendChild(e))}),g},hRow:function(b,c){return a.row(b,c,"th")},table:function(b,c){b=b||[];var d={thead:{style:a.getStyles("thead",c)},tbody:{style:a.getStyles("tbody",c)},table:{style:a.getStyles("table",c)}},e=a.el("table",d.table),f=a.el("thead",d.thead),g=a.el("tbody",d.tbody);return b.length&&(e.appendChild(f),f.appendChild(a.hRow(b,c))),e.appendChild(g),{node:e,tbody:g,thead:f,appendChild:function(a){this.tbody.appendChild(a)},addRow:function(b,d,e){return this.appendChild(a.row.call(a,b,d||c,e)),this}}},shorten:function(a){return a},htmlentities:function(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},merge:function(b,c){"object"!=typeof b&&(b={});for(var d in c)if(c.hasOwnProperty(d)){var e=c[d];if("object"==typeof e){b[d]=a.merge(b[d],e);continue}b[d]=e}for(var f=2,g=arguments.length;g>f;f++)a.merge(b,arguments[f]);return b},count:function(a,b){for(var c=0,d=0,e=a.length;e>d;d++)a[d]===b&&c++;return c},thead:function(a){return a.getElementsByTagName("thead")[0]},forEach:function(a,b,c){c||(c=b);for(var d=a.length,e=-1;++e<d&&c(a[e],e,a)!==!1;);return!0},type:function(a){try{if(null===a)return"null";if(void 0===a)return"undefined";var b=Object.prototype.toString.call(a).match(/\s(.+?)\]/)[1].toLowerCase();return a.nodeType?1===a.nodeType?"domelement":"domnode":/^(string|number|array|regexp|function|date|boolean)$/.test(b)?b:"object"==typeof a?a.jquery&&"string"==typeof a.jquery?"jquery":"object":a===window||a===document?"object":"default"}catch(c){return"default"}},within:function(a){return{is:function(b){for(var c in a)if(a[c]===b)return c;return""}}},common:{circRef:function(c,d,e){return a.expander("[POINTS BACK TO <strong>"+d+"</strong>]","Click to show this item anyway",function(){this.parentNode.appendChild(b(c,{maxDepth:1}))})},depthReached:function(c,d){return a.expander("[DEPTH REACHED]","Click to show this item anyway",function(){try{this.parentNode.appendChild(b(c,{maxDepth:1}))}catch(d){this.parentNode.appendChild(a.table(["ERROR OCCURED DURING OBJECT RETRIEVAL"],"error").addRow([d.message]).node)}})}},getStyles:function(c,d){return d=b.settings.styles[d]||{},a.merge({},b.settings.styles["default"][c],d[c])},expander:function(b,c,d){return a.el("a",{innerHTML:a.shorten(b)+' <b style="visibility:hidden;">[+]</b>',title:c,onmouseover:function(){this.getElementsByTagName("b")[0].style.visibility="visible"},onmouseout:function(){this.getElementsByTagName("b")[0].style.visibility="hidden"},onclick:function(){return this.style.display="none",d.call(this),!1},style:{cursor:"pointer"}})},stringify:function(b){var c,d=a.type(b),e=!0;if("array"===d)return c="[",a.forEach(b,function(b,d){c+=(0===d?"":", ")+a.stringify(b)}),c+"]";if("object"==typeof b){c="{";for(var f in b)b.hasOwnProperty(f)&&(c+=(e?"":", ")+f+":"+a.stringify(b[f]),e=!1);return c+"}"}return"regexp"===d?"/"+b.source+"/":"string"===d?'"'+b.replace(/"/g,'\\"')+'"':b.toString()},headerGradient:function(){var a=document.createElement("canvas");if(!a.getContext)return"";var b=a.getContext("2d");a.height=30,a.width=1;var c=b.createLinearGradient(0,0,0,30);c.addColorStop(0,"rgba(0,0,0,0)"),c.addColorStop(1,"rgba(0,0,0,0.25)"),b.fillStyle=c,b.fillRect(0,0,1,30);var d=a.toDataURL&&a.toDataURL();return"url("+(d||"")+")"}()},b=function(c,d){d=d||{};var e=a.merge({},b.config,d),f=a.el("div"),g=(b.config,0),h={},i=!1;b.settings=e;var j={string:function(b){return a.txt('"'+a.shorten(b.replace(/"/g,'\\"'))+'"')},number:function(b){return a.txt(b)},regexp:function(b){var c=a.table(["RegExp",null],"regexp"),d=a.table(),f=a.expander("/"+b.source+"/","Click to show more",function(){this.parentNode.appendChild(c.node)});return d.addRow(["g",b.global]).addRow(["i",b.ignoreCase]).addRow(["m",b.multiline]),c.addRow(["source","/"+b.source+"/"]).addRow(["flags",d.node]).addRow(["lastIndex",b.lastIndex]),e.expanded?c.node:f},domelement:function(b,c){var d=a.table(["DOMElement",null],"domelement"),f=["id","className","innerHTML","src","href"],g=b.nodeName||"";return d.addRow(["tag","&lt;"+g.toLowerCase()+"&gt;"]),a.forEach(f,function(c){b[c]&&d.addRow([c,a.htmlentities(b[c])])}),e.expanded?d.node:a.expander("DOMElement ("+g.toLowerCase()+")","Click to show more",function(){this.parentNode.appendChild(d.node)})},domnode:function(b){var c=a.table(["DOMNode",null],"domelement"),d=a.htmlentities((b.data||"UNDEFINED").replace(/\n/g,"\\n"));return c.addRow(["nodeType",b.nodeType+" ("+b.nodeName+")"]).addRow(["data",d]),e.expanded?c.node:a.expander("DOMNode","Click to show more",function(){this.parentNode.appendChild(c.node)})},jquery:function(a,b,c){return j.array(a,b,c,!0)},object:function(b,c,d){var f=a.within(h).is(b);if(f)return a.common.circRef(b,f,e);if(h[d||"TOP"]=b,c===e.maxDepth)return a.common.depthReached(b,e);var g=a.table(["Object",null],"object"),k=!0;for(var l in b)if(!b.hasOwnProperty||b.hasOwnProperty(l)){var m=b[l],n=a.type(m);k=!1;try{g.addRow([l,j[n](m,c+1,l)],n)}catch(o){window.console&&window.console.log&&console.log(o.message)}}k?g.addRow(["<small>[empty]</small>"]):g.thead.appendChild(a.hRow(["key","value"],"colHeader"));var p=e.expanded||i?g.node:a.expander(a.stringify(b),"Click to show more",function(){this.parentNode.appendChild(g.node)});return i=!0,p},array:function(b,c,d,f){var g=a.within(h).is(b);if(g)return a.common.circRef(b,g);if(h[d||"TOP"]=b,c===e.maxDepth)return a.common.depthReached(b);var i=f?"jQuery":"Array",k=a.table([i+"("+b.length+")",null],f?"jquery":i.toLowerCase()),l=!0,m=0;return f&&k.addRow(["selector",b.selector]),a.forEach(b,function(d,f){return e.maxArray>=0&&++m>e.maxArray?(k.addRow([f+".."+(b.length-1),j[a.type(d)]("...",c+1,f)]),!1):(l=!1,void k.addRow([f,j[a.type(d)](d,c+1,f)]))}),f||(l?k.addRow(["<small>[empty]</small>"]):k.thead.appendChild(a.hRow(["index","value"],"colHeader"))),e.expanded?k.node:a.expander(a.stringify(b),"Click to show more",function(){this.parentNode.appendChild(k.node)})},"function":function(b,c,d){var f=a.within(h).is(b);if(f)return a.common.circRef(b,f);h[d||"TOP"]=b;var g=a.table(["Function",null],"function"),i=(a.table(["Arguments"]),b.toString().match(/\((.+?)\)/)),j=b.toString().match(/\(.*?\)\s+?\{?([\S\s]+)/)[1].replace(/\}?$/,"");return g.addRow(["arguments",i?i[1].replace(/[^\w_,\s]/g,""):"<small>[none/native]</small>"]).addRow(["body",j]),e.expanded?g.node:a.expander("function(){...}","Click to see more about this function.",function(){this.parentNode.appendChild(g.node)})},date:function(b){var c=a.table(["Date",null],"date"),d=b.toString().split(/\s/);return c.addRow(["Time",d[4]]).addRow(["Date",d.slice(0,4).join("-")]),e.expanded?c.node:a.expander("Date (timestamp): "+ +b,"Click to see a little more info about this date",function(){this.parentNode.appendChild(c.node)})},"boolean":function(b){return a.txt(b.toString().toUpperCase())},undefined:function(){return a.txt("UNDEFINED")},"null":function(){return a.txt("NULL")},"default":function(){return a.txt("prettyPrint: TypeNotFound Error")}};return f.appendChild(j[e.forceObject?"object":a.type(c)](c,g)),f};return b.config={expanded:!0,forceObject:!1,maxDepth:3,maxArray:-1,styles:{array:{th:{backgroundColor:"#A4C18B",color:"white"}},"function":{th:{backgroundColor:"#D82525"}},regexp:{th:{backgroundColor:"#E2F3FB",color:"#000"}},object:{th:{backgroundColor:"#8DA3AD"}},jquery:{th:{backgroundColor:"#FBF315"}},error:{th:{backgroundColor:"red",color:"yellow"}},domelement:{th:{backgroundColor:"#F3801E"}},date:{th:{backgroundColor:"#A725D8"}},colHeader:{th:{backgroundColor:"#EEE",color:"#aaa",textTransform:"uppercase",fontSize:"80%",padding:"2px 5px"}},"default":{table:{borderCollapse:"collapse",width:"100%"},td:{padding:"5px",fontSize:"12px",backgroundColor:"rgba(255,255,255,0.5)",color:"#222",border:"1px solid #ddd",verticalAlign:"top",fontFamily:'"Consolas","Lucida Console",Courier,mono',whiteSpace:"nowrap"},td_hover:{},th:{padding:"5px",fontSize:"12px",backgroundColor:"#222",color:"#EEE",textAlign:"left",border:"1px solid #ddd",verticalAlign:"top",fontFamily:'"Consolas","Lucida Console",Courier,mono',backgroundRepeat:"repeat-x"}}}},b}();!function(a){"use strict";"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a():"undefined"!=typeof Package?Sortable=a():window.Sortable=a()}(function(){"use strict";function a(a,b){this.el=a,this.options=b=b||{};var d={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(a.nodeName)?"li":">*",ghostClass:"sortable-ghost",ignore:"a, img",filter:null,animation:0,setData:function(a,b){a.setData("Text",b.textContent)},dropBubble:!1,dragoverBubble:!1};for(var e in d)!(e in b)&&(b[e]=d[e]);var g=b.group;g&&"object"==typeof g||(g=b.group={name:g}),["pull","put"].forEach(function(a){a in g||(g[a]=!0)}),M.forEach(function(d){b[d]=c(this,b[d]||N),f(a,d.substr(2).toLowerCase(),b[d])},this),b.groups=" "+g.name+(g.put.join?" "+g.put.join(" "):"")+" ",a[F]=b;for(var h in this)"_"===h.charAt(0)&&(this[h]=c(this,this[h]));f(a,"mousedown",this._onTapStart),f(a,"touchstart",this._onTapStart),f(a,"dragover",this),f(a,"dragenter",this),Q.push(this._onDragOver),b.store&&this.sort(b.store.get(this))}function b(a){s&&s.state!==a&&(i(s,"display",a?"none":""),!a&&s.state&&t.insertBefore(s,q),s.state=a)}function c(a,b){var c=P.call(arguments,2);return b.bind?b.bind.apply(b,[a].concat(c)):function(){return b.apply(a,c.concat(P.call(arguments)))}}function d(a,b,c){if(a){c=c||H,b=b.split(".");var d=b.shift().toUpperCase(),e=new RegExp("\\s("+b.join("|")+")\\s","g");do if(">*"===d&&a.parentNode===c||(""===d||a.nodeName.toUpperCase()==d)&&(!b.length||((" "+a.className+" ").match(e)||[]).length==b.length))return a;while(a!==c&&(a=a.parentNode))}return null}function e(a){a.dataTransfer.dropEffect="move",a.preventDefault()}function f(a,b,c){a.addEventListener(b,c,!1)}function g(a,b,c){a.removeEventListener(b,c,!1)}function h(a,b,c){if(a)if(a.classList)a.classList[c?"add":"remove"](b);else{var d=(" "+a.className+" ").replace(/\s+/g," ").replace(" "+b+" ","");a.className=d+(c?" "+b:"")}}function i(a,b,c){var d=a&&a.style;if(d){if(void 0===c)return H.defaultView&&H.defaultView.getComputedStyle?c=H.defaultView.getComputedStyle(a,""):a.currentStyle&&(c=a.currentStyle),void 0===b?c:c[b];b in d||(b="-webkit-"+b),d[b]=c+("string"==typeof c?"":"px")}}function j(a,b,c){if(a){var d=a.getElementsByTagName(b),e=0,f=d.length;if(c)for(;f>e;e++)c(d[e],e);return d}return[]}function k(a){a.draggable=!1}function l(){K=!1}function m(a,b){var c=a.lastElementChild,d=c.getBoundingClientRect();return b.clientY-(d.top+d.height)>5&&c}function n(a){for(var b=a.tagName+a.className+a.src+a.href+a.textContent,c=b.length,d=0;c--;)d+=b.charCodeAt(c);return d.toString(36)}function o(a){for(var b=0;a&&(a=a.previousElementSibling);)"TEMPLATE"!==a.nodeName.toUpperCase()&&b++;return b}function p(a,b){var c,d;return function(){void 0===c&&(c=arguments,d=this,setTimeout(function(){1===c.length?a.call(d,c[0]):a.apply(d,c),c=void 0},b))}}var q,r,s,t,u,v,w,x,y,z,A,B,C,D,E={},F="Sortable"+(new Date).getTime(),G=window,H=G.document,I=G.parseInt,J=!!("draggable"in H.createElement("div")),K=!1,L=function(a,b,c,d,e,f){var g=H.createEvent("Event");g.initEvent(b,!0,!0),g.item=c||a,g.from=d||a,g.clone=s,g.oldIndex=e,g.newIndex=f,a.dispatchEvent(g)},M="onAdd onUpdate onRemove onStart onEnd onFilter onSort".split(" "),N=function(){},O=Math.abs,P=[].slice,Q=[],R=p(function(a,b,c){if(c&&b.scroll){var d,e,f,g,h=b.scrollSensitivity,i=b.scrollSpeed,j=a.clientX,k=a.clientY,l=window.innerWidth,m=window.innerHeight;if(w!==c&&(v=b.scroll,w=c,v===!0)){v=c;do if(v.offsetWidth<v.scrollWidth||v.offsetHeight<v.scrollHeight)break;while(v=v.parentNode)}v&&(d=v,e=v.getBoundingClientRect(),f=(O(e.right-j)<=h)-(O(e.left-j)<=h),g=(O(e.bottom-k)<=h)-(O(e.top-k)<=h)),f||g||(f=(h>=l-j)-(h>=j),g=(h>=m-k)-(h>=k),(f||g)&&(d=G)),(E.vx!==f||E.vy!==g||E.el!==d)&&(E.el=d,E.vx=f,E.vy=g,clearInterval(E.pid),d&&(E.pid=setInterval(function(){d===G?G.scrollTo(G.scrollX+f*i,G.scrollY+g*i):(g&&(d.scrollTop+=g*i),f&&(d.scrollLeft+=f*i))},24)))}},30);return a.prototype={constructor:a,_dragStarted:function(){t&&q&&(h(q,this.options.ghostClass,!0),a.active=this,L(t,"start",q,t,z))},_onTapStart:function(a){var b=a.type,c=a.touches&&a.touches[0],e=(c||a).target,g=e,h=this.options,i=this.el,l=h.filter;if(!("mousedown"===b&&0!==a.button||h.disabled)&&(e=d(e,h.draggable,i))){if(z=o(e),"function"==typeof l){if(l.call(this,a,e,this))return L(g,"filter",e,i,z),void a.preventDefault()}else if(l&&(l=l.split(",").some(function(a){return a=d(g,a.trim(),i),a?(L(a,"filter",e,i,z),!0):void 0})))return void a.preventDefault();if((!h.handle||d(g,h.handle,i))&&e&&!q&&e.parentNode===i){C=a,t=this.el,q=e,u=q.nextSibling,B=this.options.group,q.draggable=!0,h.ignore.split(",").forEach(function(a){j(e,a.trim(),k)}),c&&(C={target:e,clientX:c.clientX,clientY:c.clientY},this._onDragStart(C,"touch"),a.preventDefault()),f(H,"mouseup",this._onDrop),f(H,"touchend",this._onDrop),f(H,"touchcancel",this._onDrop),f(q,"dragend",this),f(t,"dragstart",this._onDragStart),J||this._onDragStart(C,!0);try{H.selection?H.selection.empty():window.getSelection().removeAllRanges()}catch(m){}}}},_emulateDragOver:function(){if(D){i(r,"display","none");var a=H.elementFromPoint(D.clientX,D.clientY),b=a,c=" "+this.options.group.name,d=Q.length;if(b)do{if(b[F]&&b[F].groups.indexOf(c)>-1){for(;d--;)Q[d]({clientX:D.clientX,clientY:D.clientY,target:a,rootEl:b});break}a=b}while(b=b.parentNode);i(r,"display","")}},_onTouchMove:function(a){if(C){var b=a.touches?a.touches[0]:a,c=b.clientX-C.clientX,d=b.clientY-C.clientY,e=a.touches?"translate3d("+c+"px,"+d+"px,0)":"translate("+c+"px,"+d+"px)";D=b,i(r,"webkitTransform",e),i(r,"mozTransform",e),i(r,"msTransform",e),i(r,"transform",e),a.preventDefault()}},_onDragStart:function(a,b){var c=a.dataTransfer,d=this.options;if(this._offUpEvents(),"clone"==B.pull&&(s=q.cloneNode(!0),i(s,"display","none"),t.insertBefore(s,q)),b){var e,g=q.getBoundingClientRect(),h=i(q);r=q.cloneNode(!0),i(r,"top",g.top-I(h.marginTop,10)),i(r,"left",g.left-I(h.marginLeft,10)),i(r,"width",g.width),i(r,"height",g.height),i(r,"opacity","0.8"),i(r,"position","fixed"),i(r,"zIndex","100000"),t.appendChild(r),e=r.getBoundingClientRect(),i(r,"width",2*g.width-e.width),i(r,"height",2*g.height-e.height),"touch"===b?(f(H,"touchmove",this._onTouchMove),f(H,"touchend",this._onDrop),f(H,"touchcancel",this._onDrop)):(f(H,"mousemove",this._onTouchMove),f(H,"mouseup",this._onDrop)),this._loopId=setInterval(this._emulateDragOver,150)}else c&&(c.effectAllowed="move",d.setData&&d.setData.call(this,c,q)),f(H,"drop",this);setTimeout(this._dragStarted,0)},_onDragOver:function(a){var c,e,f,g=this.el,h=this.options,j=h.group,k=j.put,n=B===j,o=h.sort;if(q&&(void 0!==a.preventDefault&&(a.preventDefault(),!h.dragoverBubble&&a.stopPropagation()),B&&!h.disabled&&(n?o||(f=!t.contains(q)):B.pull&&k&&(B.name===j.name||k.indexOf&&~k.indexOf(B.name)))&&(void 0===a.rootEl||a.rootEl===this.el))){if(R(a,h,this.el),K)return;if(c=d(a.target,h.draggable,g),e=q.getBoundingClientRect(),f)return b(!0),void(s||u?t.insertBefore(q,s||u):o||t.appendChild(q));if(0===g.children.length||g.children[0]===r||g===a.target&&(c=m(g,a))){if(c){if(c.animated)return;v=c.getBoundingClientRect()}b(n),g.appendChild(q),this._animate(e,q),c&&this._animate(v,c)}else if(c&&!c.animated&&c!==q&&void 0!==c.parentNode[F]){x!==c&&(x=c,y=i(c));var p,v=c.getBoundingClientRect(),w=v.right-v.left,z=v.bottom-v.top,A=/left|right|inline/.test(y.cssFloat+y.display),C=c.offsetWidth>q.offsetWidth,D=c.offsetHeight>q.offsetHeight,E=(A?(a.clientX-v.left)/w:(a.clientY-v.top)/z)>.5,G=c.nextElementSibling;K=!0,setTimeout(l,30),b(n),p=A?c.previousElementSibling===q&&!C||E&&C:G!==q&&!D||E&&D,p&&!G?g.appendChild(q):c.parentNode.insertBefore(q,p?G:c),this._animate(e,q),this._animate(v,c)}}},_animate:function(a,b){var c=this.options.animation;if(c){var d=b.getBoundingClientRect();i(b,"transition","none"),i(b,"transform","translate3d("+(a.left-d.left)+"px,"+(a.top-d.top)+"px,0)"),b.offsetWidth,i(b,"transition","all "+c+"ms"),i(b,"transform","translate3d(0,0,0)"),clearTimeout(b.animated),b.animated=setTimeout(function(){i(b,"transition",""),i(b,"transform",""),b.animated=!1},c)}},_offUpEvents:function(){g(H,"mouseup",this._onDrop),g(H,"touchmove",this._onTouchMove),g(H,"touchend",this._onDrop),g(H,"touchcancel",this._onDrop)},_onDrop:function(b){var c=this.el,d=this.options;clearInterval(this._loopId),clearInterval(E.pid),g(H,"drop",this),g(H,"mousemove",this._onTouchMove),g(c,"dragstart",this._onDragStart),this._offUpEvents(),b&&(b.preventDefault(),!d.dropBubble&&b.stopPropagation(),r&&r.parentNode.removeChild(r),q&&(g(q,"dragend",this),k(q),h(q,this.options.ghostClass,!1),t!==q.parentNode?(A=o(q),L(q.parentNode,"sort",q,t,z,A),L(t,"sort",q,t,z,A),L(q,"add",q,t,z,A),L(t,"remove",q,t,z,A)):(s&&s.parentNode.removeChild(s),q.nextSibling!==u&&(A=o(q),L(t,"update",q,t,z,A),L(t,"sort",q,t,z,A))),a.active&&L(t,"end",q,t,z,A)),t=q=r=u=s=v=w=C=D=x=y=B=a.active=null,this.save())},handleEvent:function(a){var b=a.type;"dragover"===b||"dragenter"===b?(this._onDragOver(a),e(a)):("drop"===b||"dragend"===b)&&this._onDrop(a)},toArray:function(){for(var a,b=[],c=this.el.children,e=0,f=c.length;f>e;e++)a=c[e],d(a,this.options.draggable,this.el)&&b.push(a.getAttribute("data-id")||n(a));return b},sort:function(a){var b={},c=this.el;this.toArray().forEach(function(a,e){var f=c.children[e];d(f,this.options.draggable,c)&&(b[a]=f)},this),a.forEach(function(a){b[a]&&(c.removeChild(b[a]),c.appendChild(b[a]))})},save:function(){var a=this.options.store;a&&a.set(this)},closest:function(a,b){return d(a,b||this.options.draggable,this.el)},option:function(a,b){var c=this.options;return void 0===b?c[a]:void(c[a]=b)},destroy:function(){var a=this.el,b=this.options;M.forEach(function(c){g(a,c.substr(2).toLowerCase(),b[c])}),g(a,"mousedown",this._onTapStart),g(a,"touchstart",this._onTapStart),g(a,"dragover",this),g(a,"dragenter",this),Array.prototype.forEach.call(a.querySelectorAll("[draggable]"),function(a){
+a.removeAttribute("draggable")}),Q.splice(Q.indexOf(this._onDragOver),1),this._onDrop(),this.el=null}},a.utils={on:f,off:g,css:i,find:j,bind:c,is:function(a,b){return!!d(a,b,a)},throttle:p,closest:d,toggleClass:h,dispatchEvent:L,index:o},a.version="1.1.1",a.create=function(b,c){return new a(b,c)},a}),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){"use strict";a.fn.sortable=function(b){var c;return this.each(function(){var d=a(this),e=d.data("sortable");if(e||!(b instanceof Object)&&b||(e=new Sortable(this,b),d.data("sortable",e)),e){if("widget"===b)return e;"destroy"===b?(e.destroy(),d.removeData("sortable")):b in e&&(c=e[e].apply(e,[].slice.call(arguments,1)))}}),void 0===c?this:c}});var XBBCODE=function(){function a(){i=[];var a,b,c;for(a in h)if(h.hasOwnProperty(a)){for("*"===a?i.push("\\"+a):(i.push(a),h[a].noParse&&u.push(a)),h[a].validChildLookup={},h[a].validParentLookup={},h[a].restrictParentsTo=h[a].restrictParentsTo||[],h[a].restrictChildrenTo=h[a].restrictChildrenTo||[],c=h[a].restrictChildrenTo.length,b=0;c>b;b++)h[a].validChildLookup[h[a].restrictChildrenTo[b]]=!0;for(c=h[a].restrictParentsTo.length,b=0;c>b;b++)h[a].validParentLookup[h[a].restrictParentsTo[b]]=!0}j=new RegExp("<bbcl=([0-9]+) ("+i.join("|")+")([ =][^>]*?)?>((?:.|[\\r\\n])*?)<bbcl=\\1 /\\2>","gi"),k=new RegExp("\\[("+i.join("|")+")([ =][^\\]]*?)?\\]([^\\[]*?)\\[/\\1\\]","gi"),l=new RegExp("\\[("+u.join("|")+")([ =][^\\]]*?)?\\]([\\s\\S]*?)\\[/\\1\\]","gi"),function(){for(var a=[],b=0;b<i.length;b++)"\\*"!==i[b]&&a.push("/"+i[b]);m=new RegExp("(\\[)((?:"+i.join("|")+")(?:[ =][^\\]]*?)?)(\\])","gi"),n=new RegExp("(\\[)("+a.join("|")+")(\\])","gi")}()}function b(a,c,d,e,f,g,k){k=k||[],d++;var l,m,n,o,p=new RegExp("(<bbcl="+d+" )("+i.join("|")+")([ =>])","gi"),q=new RegExp("(<bbcl="+d+" )("+i.join("|")+")([ =>])","i"),r=g.match(p)||[],s=h[a]||{};for(p.lastIndex=0,r||(g=""),n=0;n<r.length;n++)q.lastIndex=0,o=r[n].match(q)[2].toLowerCase(),s&&s.restrictChildrenTo&&s.restrictChildrenTo.length>0&&(s.validChildLookup[o]||(m='The tag "'+o+'" is not allowed as a child of the tag "'+a+'".',k.push(m))),l=h[o]||{},l.restrictParentsTo.length>0&&(l.validParentLookup[a]||(m='The tag "'+a+'" is not allowed as a parent of the tag "'+o+'".',k.push(m)));return g=g.replace(j,function(a,c,d,e,f){return k=b(d.toLowerCase(),a,c,d,e,f,k),a}),k}function c(a){return a=a.replace(/\<([^\>][^\>]*?)\>/gi,function(a,b){var c=b.match(/^bbcl=([0-9]+) /);return null===c?"<bbcl=0 "+b+">":"<"+b.replace(/^(bbcl=)([0-9]+)/,function(a,b,c){return b+(parseInt(c,10)+1)})+">"})}function d(a){return a.replace(/<bbcl=[0-9]+ \/\*>/gi,"").replace(/<bbcl=[0-9]+ /gi,"&#91;").replace(/>/gi,"&#93;")}function e(a){var b=a.text;return b=b.replace(j,v)}function f(a){for(a=a.replace(/\[(?!\*[ =\]]|list([ =][^\]]*)?\]|\/list[\]])/gi,"<"),a=a.replace(/\[(?=list([ =][^\]]*)?\]|\/list[\]])/gi,">");a!==(a=a.replace(/>list([ =][^\]]*)?\]([^>]*?)(>\/list])/gi,function(a,b,c){for(var d=a;d!==(d=d.replace(/\[\*\]([^\[]*?)(\[\*\]|>\/list])/i,function(a,b,c){return c=">/list]"===c.toLowerCase()?"</*]</list]":"</*][*]","<*]"+b+c})););return d=d.replace(/>/g,"<")})););return a=a.replace(/</g,"[")}function g(a){for(;a!==(a=a.replace(k,function(a,b,d,e){return a=a.replace(/\[/g,"<"),a=a.replace(/\]/g,">"),c(a)})););return a}var h,i,j,k,l,m,n,o={},p=/^(?:https?|file|c):(?:\/{1,3}|\\{1})[-a-zA-Z0-9:;@#%&()~_?\+=\/\\\.]*$/,q=/^(?:aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen)$/,r=/^#?[a-fA-F0-9]{6}$/,s=/[^\s@]+@[^\s@]+\.[^\s@]+/,t=/^([a-z][a-z0-9_]+|"[a-z][a-z0-9_\s]+")$/i,u=[];h={b:{openTag:function(a,b){return'<span class="xbbcode-b">'},closeTag:function(a,b){return"</span>"}},bbcode:{openTag:function(a,b){return""},closeTag:function(a,b){return""}},center:{openTag:function(a,b){return'<span class="xbbcode-center">'},closeTag:function(a,b){return"</span>"}},code:{openTag:function(a,b){return'<span class="xbbcode-code">'},closeTag:function(a,b){return"</span>"},noParse:!0},color:{openTag:function(a,b){var c=a.substr(1).toLowerCase()||"black";return q.lastIndex=0,r.lastIndex=0,q.test(c)||(r.test(c)?"#"!==c.substr(0,1)&&(c="#"+c):c="black"),'<span style="color:'+c+'">'},closeTag:function(a,b){return"</span>"}},email:{openTag:function(a,b){var c;return c=a?a.substr(1):b.replace(/<.*?>/g,""),s.lastIndex=0,s.test(c)?'<a href="mailto:'+c+'">':"<a>"},closeTag:function(a,b){return"</a>"}},face:{openTag:function(a,b){var c=a.substr(1)||"inherit";return t.lastIndex=0,t.test(c)||(c="inherit"),'<span style="font-family:'+c+'">'},closeTag:function(a,b){return"</span>"}},font:{openTag:function(a,b){var c=a.substr(1)||"inherit";return t.lastIndex=0,t.test(c)||(c="inherit"),'<span style="font-family:'+c+'">'},closeTag:function(a,b){return"</span>"}},i:{openTag:function(a,b){return'<span class="xbbcode-i">'},closeTag:function(a,b){return"</span>"}},img:{openTag:function(a,b){var c=b;return p.lastIndex=0,p.test(c)||(c=""),'<img src="'+c+'" />'},closeTag:function(a,b){return""},displayContent:!1},justify:{openTag:function(a,b){return'<span class="xbbcode-justify">'},closeTag:function(a,b){return"</span>"}},large:{openTag:function(a,b){var a=a||"",c=a.substr(1)||"inherit";return q.lastIndex=0,r.lastIndex=0,q.test(c)||(r.test(c)?"#"!==c.substr(0,1)&&(c="#"+c):c="inherit"),'<span class="xbbcode-size-36" style="color:'+c+'">'},closeTag:function(a,b){return"</span>"}},left:{openTag:function(a,b){return'<span class="xbbcode-left">'},closeTag:function(a,b){return"</span>"}},li:{openTag:function(a,b){return"<li>"},closeTag:function(a,b){return"</li>"},restrictParentsTo:["list","ul","ol"]},list:{openTag:function(a,b){return"<ul>"},closeTag:function(a,b){return"</ul>"},restrictChildrenTo:["*","li"]},noparse:{openTag:function(a,b){return""},closeTag:function(a,b){return""},noParse:!0},ol:{openTag:function(a,b){return"<ol>"},closeTag:function(a,b){return"</ol>"},restrictChildrenTo:["*","li"]},php:{openTag:function(a,b){return'<span class="xbbcode-code">'},closeTag:function(a,b){return"</span>"},noParse:!0},quote:{openTag:function(a,b){return'<blockquote class="xbbcode-blockquote">'},closeTag:function(a,b){return"</blockquote>"}},right:{openTag:function(a,b){return'<span class="xbbcode-right">'},closeTag:function(a,b){return"</span>"}},s:{openTag:function(a,b){return'<span class="xbbcode-s">'},closeTag:function(a,b){return"</span>"}},size:{openTag:function(a,b){var c=parseInt(a.substr(1),10)||0;return(4>c||c>40)&&(c=14),'<span class="xbbcode-size-'+c+'">'},closeTag:function(a,b){return"</span>"}},small:{openTag:function(a,b){var a=a||"",c=a.substr(1)||"inherit";return q.lastIndex=0,r.lastIndex=0,q.test(c)||(r.test(c)?"#"!==c.substr(0,1)&&(c="#"+c):c="inherit"),'<span class="xbbcode-size-10" style="color:'+c+'">'},closeTag:function(a,b){return"</span>"}},sub:{openTag:function(a,b){return"<sub>"},closeTag:function(a,b){return"</sub>"}},sup:{openTag:function(a,b){return"<sup>"},closeTag:function(a,b){return"</sup>"}},table:{openTag:function(a,b){return'<table class="xbbcode-table">'},closeTag:function(a,b){return"</table>"},restrictChildrenTo:["tbody","thead","tfoot","tr"]},tbody:{openTag:function(a,b){return"<tbody>"},closeTag:function(a,b){return"</tbody>"},restrictChildrenTo:["tr"],restrictParentsTo:["table"]},tfoot:{openTag:function(a,b){return"<tfoot>"},closeTag:function(a,b){return"</tfoot>"},restrictChildrenTo:["tr"],restrictParentsTo:["table"]},thead:{openTag:function(a,b){return'<thead class="xbbcode-thead">'},closeTag:function(a,b){return"</thead>"},restrictChildrenTo:["tr"],restrictParentsTo:["table"]},td:{openTag:function(a,b){return'<td class="xbbcode-td">'},closeTag:function(a,b){return"</td>"},restrictParentsTo:["tr"]},th:{openTag:function(a,b){return'<th class="xbbcode-th">'},closeTag:function(a,b){return"</th>"},restrictParentsTo:["tr"]},tr:{openTag:function(a,b){return'<tr class="xbbcode-tr">'},closeTag:function(a,b){return"</tr>"},restrictChildrenTo:["td","th"],restrictParentsTo:["table","tbody","tfoot","thead"]},u:{openTag:function(a,b){return'<span class="xbbcode-u">'},closeTag:function(a,b){return"</span>"}},ul:{openTag:function(a,b){return"<ul>"},closeTag:function(a,b){return"</ul>"},restrictChildrenTo:["*","li"]},url:{openTag:function(a,b){var c;return c=a?a.substr(1):b.replace(/<.*?>/g,""),p.lastIndex=0,p.test(c)||(c="#"),'<a href="'+c+'">'},closeTag:function(a,b){return"</a>"}},"*":{openTag:function(a,b){return"<li>"},closeTag:function(a,b){return"</li>"},restrictParentsTo:["list","ul","ol"]}},a();var v=function(a,b,c,e,f){c=c.toLowerCase();var g=h[c].noParse?d(f):f.replace(j,v),i=h[c].openTag(e,g),k=h[c].closeTag(e,g);return h[c].displayContent===!1&&(g=""),i+g+k};return o.tags=function(){return h},o.addTags=function(b){var c;for(c in b)h[c]=b[c];a()},o.process=function(a){var c={html:"",error:!1},d=[];for(a.text=a.text.replace(/</g,"&lt;"),a.text=a.text.replace(/>/g,"&gt;"),a.text=a.text.replace(m,function(a,b,c,d){return"<"+c+">"}),a.text=a.text.replace(n,function(a,b,c,d){return"<"+c+">"}),a.text=a.text.replace(/\[/g,"&#91;"),a.text=a.text.replace(/\]/g,"&#93;"),a.text=a.text.replace(/</g,"["),a.text=a.text.replace(/>/g,"]");a.text!==(a.text=a.text.replace(l,function(a,b,c,d){return d=d.replace(/\[/g,"&#91;"),d=d.replace(/\]/g,"&#93;"),c=c||"",d=d||"","["+b+c+"]"+d+"[/"+b+"]"})););return a.text=f(a.text),a.text=g(a.text),d=b("bbcode",a.text,-1,"","",a.text),c.html=e(a),(-1!==c.html.indexOf("[")||-1!==c.html.indexOf("]"))&&d.push("Some tags appear to be misaligned."),a.removeMisalignedTags&&(c.html=c.html.replace(/\[.*?\]/g,"")),a.addInLineBreaks&&(c.html='<div style="white-space:pre;">'+c.html+"</div>"),c.html=c.html.replace("&#91;","["),c.html=c.html.replace("&#93;","]"),c.error=0!==d.length,c.errorQueue=d,c},o}();+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.1",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=i?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a("body").height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.1",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.1",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.1",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c="prev"==a?-1:1,d=this.getItemIndex(b),e=(d+c)%this.$items.length;return this.$items.eq(e)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i="next"==b?"first":"last",j=this;if(!f.length){if(!this.options.wrap)return;f=this.$element.find(".item")[i]()}if(f.hasClass("active"))return this.sliding=!1;var k=f[0],l=a.Event("slide.bs.carousel",{relatedTarget:k,direction:h});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var m=a(this.$indicators.children()[this.getItemIndex(f)]);m&&m.addClass("active")}var n=a.Event("slid.bs.carousel",{relatedTarget:k,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),j.sliding=!1,setTimeout(function(){j.$element.trigger(n)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(n)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.1",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.find("> .panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.1",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.1",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.1",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.1",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),
+d.$element.show().scrollTop(0),d.options.backdrop&&d.adjustBackdrop(),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in").attr("aria-hidden",!1),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$element.find(".modal-dialog").one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a('<div class="modal-backdrop '+e+'" />').prependTo(this.$element).on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.options.backdrop&&this.adjustBackdrop(),this.adjustDialog()},c.prototype.adjustBackdrop=function(){this.$backdrop.css("height",0).css("height",this.$element[0].scrollHeight)},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){this.bodyIsOverflowing=document.body.scrollHeight>document.documentElement.clientHeight,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.tooltip",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.1",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-m<p.top?"bottom":"right"==h&&k.right+l>p.width?"left":"left"==h&&k.left-l<p.left?"right":h,f.removeClass(n).addClass(h)}var q=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(q,h);var r=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",r).emulateTransitionEnd(c.TRANSITION_DURATION):r()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=this.tip(),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.popover",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.1",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),function(a){function b(a){return"undefined"==typeof a.which?!0:"number"==typeof a.which&&a.which>0?!a.ctrlKey&&!a.metaKey&&!a.altKey&&8!=a.which:!1}a.expr[":"].notmdproc=function(b){return a(b).data("mdproc")?!1:!0},a.material={options:{input:!0,ripples:!0,checkbox:!0,togglebutton:!0,radio:!0,arrive:!0,autofill:!0,withRipples:[".btn:not(.btn-link)",".card-image",".navbar a:not(.withoutripple)",".dropdown-menu a",".nav-tabs a:not(.withoutripple)",".withripple"].join(","),inputElements:"input.form-control, textarea.form-control, select.form-control",checkboxElements:".checkbox > label > input[type=checkbox]",togglebuttonElements:".togglebutton > label > input[type=checkbox]",radioElements:".radio > label > input[type=radio]"},checkbox:function(b){a(b?b:this.options.checkboxElements).filter(":notmdproc").data("mdproc",!0).after("<span class=ripple></span><span class=check></span>")},togglebutton:function(b){a(b?b:this.options.togglebuttonElements).filter(":notmdproc").data("mdproc",!0).after("<span class=toggle></span>")},radio:function(b){a(b?b:this.options.radioElements).filter(":notmdproc").data("mdproc",!0).after("<span class=circle></span><span class=check></span>")},input:function(c){a(c?c:this.options.inputElements).filter(":notmdproc").data("mdproc",!0).each(function(){var b=a(this);if(b.wrap("<div class=form-control-wrapper></div>"),b.after("<span class=material-input></span>"),b.hasClass("floating-label")){var c=b.attr("placeholder");b.attr("placeholder",null).removeClass("floating-label"),b.after("<div class=floating-label>"+c+"</div>")}if(b.attr("data-hint")&&b.after("<div class=hint>"+b.attr("data-hint")+"</div>"),(null===b.val()||"undefined"==b.val()||""===b.val())&&b.addClass("empty"),b.parent().next().is("[type=file]")){b.parent().addClass("fileinput");var d=b.parent().next().detach();b.after(d)}}),a(document).on("change",".checkbox input[type=checkbox]",function(){a(this).blur()}).on("keydown paste",".form-control",function(c){b(c)&&a(this).removeClass("empty")}).on("keyup change",".form-control",function(){var b=a(this);""===b.val()&&b[0].checkValidity()?b.addClass("empty"):b.removeClass("empty")}).on("focus",".form-control-wrapper.fileinput",function(){a(this).find("input").addClass("focus")}).on("blur",".form-control-wrapper.fileinput",function(){a(this).find("input").removeClass("focus")}).on("change",".form-control-wrapper.fileinput [type=file]",function(){var b="";a.each(a(this)[0].files,function(a,c){console.log(c),b+=c.name+", "}),b=b.substring(0,b.length-2),b?a(this).prev().removeClass("empty"):a(this).prev().addClass("empty"),a(this).prev().val(b)})},ripples:function(b){a(b?b:this.options.withRipples).ripples()},autofill:function(){var b=setInterval(function(){a("input[type!=checkbox]").each(function(){a(this).val()&&a(this).val()!==a(this).attr("value")&&a(this).trigger("change")})},100);setTimeout(function(){clearInterval(b)},1e4);var c;a(document).on("focus","input",function(){var b=a(this).parents("form").find("input").not("[type=file]");c=setInterval(function(){b.each(function(){a(this).val()!==a(this).attr("value")&&a(this).trigger("change")})},100)}).on("blur","input",function(){clearInterval(c)})},init:function(){a.ripples&&this.options.ripples&&this.ripples(),this.options.input&&this.input(),this.options.checkbox&&this.checkbox(),this.options.togglebutton&&this.togglebutton(),this.options.radio&&this.radio(),this.options.autofill&&this.autofill(),document.arrive&&this.options.arrive&&(a(document).arrive(this.options.inputElements,function(){a.material.input(a(this))}),a(document).arrive(this.options.checkboxElements,function(){a.material.checkbox(a(this))}),a(document).arrive(this.options.radioElements,function(){a.material.radio(a(this))}),a(document).arrive(this.options.togglebuttonElements,function(){a.material.togglebutton(a(this))}))}}}(jQuery),function(a,b,c,d){"use strict";function e(b,c){g=this,this.element=a(b),this.options=a.extend({},h,c),this._defaults=h,this._name=f,this.init()}var f="ripples",g=null,h={};e.prototype.init=function(){var c=this.element;c.on("mousedown touchstart",function(d){if(g.isTouch()&&"mousedown"===d.type)return!1;c.find(".ripple-wrapper").length||c.append('<div class="ripple-wrapper"></div>');var e=c.children(".ripple-wrapper"),f=g.getRelY(e,d),h=g.getRelX(e,d);if(f||h){var i=g.getRipplesColor(),j=a("<div></div>");j.addClass("ripple").css({left:h,top:f,"background-color":i}),e.append(j),function(){return b.getComputedStyle(j[0]).opacity}(),g.rippleOn(j),setTimeout(function(){g.rippleEnd(j)},500),c.on("mouseup mouseleave touchend",function(){j.data("mousedown","off"),"off"===j.data("animating")&&g.rippleOut(j)})}})},e.prototype.getNewSize=function(a){var b=this.element;return Math.max(b.outerWidth(),b.outerHeight())/a.outerWidth()*2.5},e.prototype.getRelX=function(a,b){var c=a.offset();return g.isTouch()?(b=b.originalEvent,1!==b.touches.length?b.touches[0].pageX-c.left:!1):b.pageX-c.left},e.prototype.getRelY=function(a,b){var c=a.offset();return g.isTouch()?(b=b.originalEvent,1!==b.touches.length?b.touches[0].pageY-c.top:!1):b.pageY-c.top},e.prototype.getRipplesColor=function(){var a,c=this.element;return a=this.options&&this.options.color?this.options.color:c.data("ripple-color")?c.data("ripple-color"):b.getComputedStyle(c[0]).color},e.prototype.hasTransitionSupport=function(){var a=c.body||c.documentElement,b=a.style,e=b.transition!==d||b.WebkitTransition!==d||b.MozTransition!==d||b.MsTransition!==d||b.OTransition!==d;return e},e.prototype.isTouch=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},e.prototype.rippleEnd=function(a){a.data("animating","off"),"off"===a.data("mousedown")&&g.rippleOut(a)},e.prototype.rippleOut=function(a){a.off(),g.hasTransitionSupport()?a.addClass("ripple-out"):a.animate({opacity:0},100,function(){a.trigger("transitionend")}),a.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){a.remove()})},e.prototype.rippleOn=function(a){var b=g.getNewSize(a),c=this.element;g.hasTransitionSupport()?a.css({"-ms-transform":"scale("+b+")","-moz-transform":"scale("+b+")","-webkit-transform":"scale("+b+")",transform:"scale("+b+")"}).addClass("ripple-on").data("animating","on").data("mousedown","on"):a.animate({width:2*Math.max(c.outerWidth(),c.outerHeight()),height:2*Math.max(c.outerWidth(),c.outerHeight()),"margin-left":-1*Math.max(c.outerWidth(),c.outerHeight()),"margin-top":-1*Math.max(c.outerWidth(),c.outerHeight()),opacity:.2},500,function(){a.trigger("transitionend")})},a.fn.ripples=function(b){return this.each(function(){a.data(this,"plugin_"+f)||a.data(this,"plugin_"+f,new e(this,b))})}}(jQuery,window,document),function(a){function b(a){return"undefined"!=typeof a&&null!==a?!0:!1}a(document).ready(function(){a("body").append("<div id=snackbar-container/>")}),a(document).on("click","[data-toggle=snackbar]",function(){a(this).snackbar("toggle")}).on("click","#snackbar-container .snackbar",function(){a(this).snackbar("hide")}),a.snackbar=function(c){if(b(c)&&c===Object(c)){var d;d=b(c.id)?a("#"+c.id):a("<div/>").attr("id","snackbar"+Date.now()).attr("class","snackbar");var e=d.hasClass("snackbar-opened");b(c.style)?d.attr("class","snackbar "+c.style):d.attr("class","snackbar"),c.timeout=b(c.timeout)?c.timeout:3e3,b(c.content)&&(d.find(".snackbar-content").length?d.find(".snackbar-content").text(c.content):d.prepend("<span class=snackbar-content>"+c.content+"</span>")),b(c.id)?d.insertAfter("#snackbar-container .snackbar:last-child"):d.appendTo("#snackbar-container"),b(c.action)&&"toggle"==c.action&&(e?c.action="hide":c.action="show");var f=Date.now();d.data("animationId1",f),setTimeout(function(){d.data("animationId1")===f&&(b(c.action)&&"show"!=c.action?b(c.action)&&"hide"==c.action&&d.removeClass("snackbar-opened"):d.addClass("snackbar-opened"))},50);var g=Date.now();return d.data("animationId2",g),0!==c.timeout&&setTimeout(function(){d.data("animationId2")===g&&d.removeClass("snackbar-opened")},c.timeout),d}return!1},a.fn.snackbar=function(c){var d={};if(this.hasClass("snackbar"))return d.id=this.attr("id"),("show"===c||"hide"===c||"toggle"==c)&&(d.action=c),a.snackbar(d);b(c)&&"show"!==c&&"hide"!==c&&"toggle"!=c||(d={content:a(this).attr("data-content"),style:a(this).attr("data-style"),timeout:a(this).attr("data-timeout")}),b(c)&&(d.id=this.attr("data-snackbar-id"),("show"===c||"hide"===c||"toggle"==c)&&(d.action=c));var e=a.snackbar(d);return this.attr("data-snackbar-id",e.attr("id")),e}}(jQuery),function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){if(!d)var d={map:function(a,b){var c={};return b?a.map(function(a,d){return c.index=d,b.call(c,a)}):a.slice()},naturalOrder:function(a,b){return b>a?-1:a>b?1:0},sum:function(a,b){var c={};return a.reduce(b?function(a,d,e){return c.index=e,a+b.call(c,d)}:function(a,b){return a+b},0)},max:function(a,b){return Math.max.apply(null,b?d.map(a,b):a)}};var e=function(){function a(a,b,c){return(a<<2*j)+(b<<j)+c}function b(a){function b(){c.sort(a),d=!0}var c=[],d=!1;return{push:function(a){c.push(a),d=!1},peek:function(a){return d||b(),void 0===a&&(a=c.length-1),c[a]},pop:function(){return d||b(),c.pop()},size:function(){return c.length},map:function(a){return c.map(a)},debug:function(){return d||b(),c}}}function c(a,b,c,d,e,f,g){var h=this;h.r1=a,h.r2=b,h.g1=c,h.g2=d,h.b1=e,h.b2=f,h.histo=g}function e(){this.vboxes=new b(function(a,b){return d.naturalOrder(a.vbox.count()*a.vbox.volume(),b.vbox.count()*b.vbox.volume())})}function f(b){var c,d,e,f,g=1<<3*j,h=new Array(g);return b.forEach(function(b){d=b[0]>>k,e=b[1]>>k,f=b[2]>>k,c=a(d,e,f),h[c]=(h[c]||0)+1}),h}function g(a,b){var d,e,f,g=1e6,h=0,i=1e6,j=0,l=1e6,m=0;return a.forEach(function(a){d=a[0]>>k,e=a[1]>>k,f=a[2]>>k,g>d?g=d:d>h&&(h=d),i>e?i=e:e>j&&(j=e),l>f?l=f:f>m&&(m=f)}),new c(g,h,i,j,l,m,b)}function h(b,c){function e(a){var b,d,e,f,g,h=a+"1",i=a+"2",k=0;for(j=c[h];j<=c[i];j++)if(p[j]>o/2){for(e=c.copy(),f=c.copy(),b=j-c[h],d=c[i]-j,g=d>=b?Math.min(c[i]-1,~~(j+d/2)):Math.max(c[h],~~(j-1-b/2));!p[g];)g++;for(k=q[g];!k&&p[g-1];)k=q[--g];return e[i]=g,f[h]=e[i]+1,[e,f]}}if(c.count()){var f=c.r2-c.r1+1,g=c.g2-c.g1+1,h=c.b2-c.b1+1,i=d.max([f,g,h]);if(1==c.count())return[c.copy()];var j,k,l,m,n,o=0,p=[],q=[];if(i==f)for(j=c.r1;j<=c.r2;j++){for(m=0,k=c.g1;k<=c.g2;k++)for(l=c.b1;l<=c.b2;l++)n=a(j,k,l),m+=b[n]||0;o+=m,p[j]=o}else if(i==g)for(j=c.g1;j<=c.g2;j++){for(m=0,k=c.r1;k<=c.r2;k++)for(l=c.b1;l<=c.b2;l++)n=a(k,j,l),m+=b[n]||0;o+=m,p[j]=o}else for(j=c.b1;j<=c.b2;j++){for(m=0,k=c.r1;k<=c.r2;k++)for(l=c.g1;l<=c.g2;l++)n=a(k,l,j),m+=b[n]||0;o+=m,p[j]=o}return p.forEach(function(a,b){q[b]=o-a}),e(i==f?"r":i==g?"g":"b")}}function i(a,c){function i(a,b){for(var c,d=1,e=0;l>e;)if(c=a.pop(),c.count()){var f=h(j,c),g=f[0],i=f[1];if(!g)return;if(a.push(g),i&&(a.push(i),d++),d>=b)return;if(e++>l)return}else a.push(c),e++}if(!a.length||2>c||c>256)return!1;var j=f(a),k=0;j.forEach(function(){k++});var n=g(a,j),o=new b(function(a,b){return d.naturalOrder(a.count(),b.count())});o.push(n),i(o,m*c);for(var p=new b(function(a,b){return d.naturalOrder(a.count()*a.volume(),b.count()*b.volume())});o.size();)p.push(o.pop());i(p,c-p.size());for(var q=new e;p.size();)q.push(p.pop());return q}var j=5,k=8-j,l=1e3,m=.75;return c.prototype={volume:function(a){var b=this;return(!b._volume||a)&&(b._volume=(b.r2-b.r1+1)*(b.g2-b.g1+1)*(b.b2-b.b1+1)),b._volume},count:function(b){var c=this,d=c.histo;if(!c._count_set||b){var e,f,g,h=0;for(e=c.r1;e<=c.r2;e++)for(f=c.g1;f<=c.g2;f++)for(g=c.b1;g<=c.b2;g++)index=a(e,f,g),h+=d[index]||0;c._count=h,c._count_set=!0}return c._count},copy:function(){var a=this;return new c(a.r1,a.r2,a.g1,a.g2,a.b1,a.b2,a.histo)},avg:function(b){var c=this,d=c.histo;if(!c._avg||b){var e,f,g,h,i,k=0,l=1<<8-j,m=0,n=0,o=0;for(f=c.r1;f<=c.r2;f++)for(g=c.g1;g<=c.g2;g++)for(h=c.b1;h<=c.b2;h++)i=a(f,g,h),e=d[i]||0,k+=e,m+=e*(f+.5)*l,n+=e*(g+.5)*l,o+=e*(h+.5)*l;k?c._avg=[~~(m/k),~~(n/k),~~(o/k)]:c._avg=[~~(l*(c.r1+c.r2+1)/2),~~(l*(c.g1+c.g2+1)/2),~~(l*(c.b1+c.b2+1)/2)]}return c._avg},contains:function(a){var b=this,c=a[0]>>k;return gval=a[1]>>k,bval=a[2]>>k,c>=b.r1&&c<=b.r2&&gval>=b.g1&&gval<=b.g2&&bval>=b.b1&&bval<=b.b2}},e.prototype={push:function(a){this.vboxes.push({vbox:a,color:a.avg()})},palette:function(){return this.vboxes.map(function(a){return a.color})},size:function(){return this.vboxes.size()},map:function(a){for(var b=this.vboxes,c=0;c<b.size();c++)if(b.peek(c).vbox.contains(a))return b.peek(c).color;return this.nearest(a)},nearest:function(a){for(var b,c,d,e=this.vboxes,f=0;f<e.size();f++)c=Math.sqrt(Math.pow(a[0]-e.peek(f).color[0],2)+Math.pow(a[1]-e.peek(f).color[1],2)+Math.pow(a[2]-e.peek(f).color[2],2)),(b>c||void 0===b)&&(b=c,d=e.peek(f).color);return d},forcebw:function(){var a=this.vboxes;a.sort(function(a,b){return d.naturalOrder(d.sum(a.color),d.sum(b.color))});var b=a[0].color;b[0]<5&&b[1]<5&&b[2]<5&&(a[0].color=[0,0,0]);var c=a.length-1,e=a[c].color;e[0]>251&&e[1]>251&&e[2]>251&&(a[c].color=[255,255,255])}},{quantize:i}}();b.exports=e.quantize},{}],2:[function(a,b,c){(function(){var b,c,d,e=function(a,b){return function(){return a.apply(b,arguments)}},f=[].slice;window.Swatch=c=function(){function a(a,b){this.rgb=a,this.population=b}return a.prototype.hsl=void 0,a.prototype.rgb=void 0,a.prototype.population=1,a.yiq=0,a.prototype.getHsl=function(){return this.hsl?this.hsl:this.hsl=d.rgbToHsl(this.rgb[0],this.rgb[1],this.rgb[2])},a.prototype.getPopulation=function(){return this.population},a.prototype.getRgb=function(){return this.rgb},a.prototype.getHex=function(){return"#"+((1<<24)+(this.rgb[0]<<16)+(this.rgb[1]<<8)+this.rgb[2]).toString(16).slice(1,7)},a.prototype.getTitleTextColor=function(){return this._ensureTextColors(),this.yiq<200?"#fff":"#000"},a.prototype.getBodyTextColor=function(){return this._ensureTextColors(),this.yiq<150?"#fff":"#000"},a.prototype._ensureTextColors=function(){return this.yiq?void 0:this.yiq=(299*this.rgb[0]+587*this.rgb[1]+114*this.rgb[2])/1e3},a}(),window.Vibrant=d=function(){function d(a,d,f){this.swatches=e(this.swatches,this);var g,h,i,j,k,l,m,n,o,p,q,r;for("undefined"==typeof d&&(d=64),"undefined"==typeof f&&(f=5),m=new b(a),n=m.getImageData(),q=n.data,p=m.getPixelCount(),h=[],l=0;p>l;)o=4*l,r=q[o+0],k=q[o+1],i=q[o+2],g=q[o+3],g>=125&&(r>250&&k>250&&i>250||h.push([r,k,i])),l+=f;j=this.quantize(h,d),this._swatches=j.vboxes.map(function(a){return function(a){return new c(a.color,a.vbox.count())}}(this)),this.maxPopulation=this.findMaxPopulation,this.generateVarationColors(),this.generateEmptySwatches(),m.removeCanvas()}return d.prototype.quantize=a("quantize"),d.prototype._swatches=[],d.prototype.TARGET_DARK_LUMA=.26,d.prototype.MAX_DARK_LUMA=.45,d.prototype.MIN_LIGHT_LUMA=.55,d.prototype.TARGET_LIGHT_LUMA=.74,d.prototype.MIN_NORMAL_LUMA=.3,d.prototype.TARGET_NORMAL_LUMA=.5,d.prototype.MAX_NORMAL_LUMA=.7,d.prototype.TARGET_MUTED_SATURATION=.3,d.prototype.MAX_MUTED_SATURATION=.4,d.prototype.TARGET_VIBRANT_SATURATION=1,d.prototype.MIN_VIBRANT_SATURATION=.35,d.prototype.WEIGHT_SATURATION=3,d.prototype.WEIGHT_LUMA=6,d.prototype.WEIGHT_POPULATION=1,d.prototype.VibrantSwatch=void 0,d.prototype.MutedSwatch=void 0,d.prototype.DarkVibrantSwatch=void 0,d.prototype.DarkMutedSwatch=void 0,d.prototype.LightVibrantSwatch=void 0,d.prototype.LightMutedSwatch=void 0,d.prototype.HighestPopulation=0,d.prototype.generateVarationColors=function(){return this.VibrantSwatch=this.findColorVariation(this.TARGET_NORMAL_LUMA,this.MIN_NORMAL_LUMA,this.MAX_NORMAL_LUMA,this.TARGET_VIBRANT_SATURATION,this.MIN_VIBRANT_SATURATION,1),this.LightVibrantSwatch=this.findColorVariation(this.TARGET_LIGHT_LUMA,this.MIN_LIGHT_LUMA,1,this.TARGET_VIBRANT_SATURATION,this.MIN_VIBRANT_SATURATION,1),this.DarkVibrantSwatch=this.findColorVariation(this.TARGET_DARK_LUMA,0,this.MAX_DARK_LUMA,this.TARGET_VIBRANT_SATURATION,this.MIN_VIBRANT_SATURATION,1),this.MutedSwatch=this.findColorVariation(this.TARGET_NORMAL_LUMA,this.MIN_NORMAL_LUMA,this.MAX_NORMAL_LUMA,this.TARGET_MUTED_SATURATION,0,this.MAX_MUTED_SATURATION),this.LightMutedSwatch=this.findColorVariation(this.TARGET_LIGHT_LUMA,this.MIN_LIGHT_LUMA,1,this.TARGET_MUTED_SATURATION,0,this.MAX_MUTED_SATURATION),this.DarkMutedSwatch=this.findColorVariation(this.TARGET_DARK_LUMA,0,this.MAX_DARK_LUMA,this.TARGET_MUTED_SATURATION,0,this.MAX_MUTED_SATURATION)},d.prototype.generateEmptySwatches=function(){var a;return void 0===this.VibrantSwatch&&void 0!==this.DarkVibrantSwatch&&(a=this.DarkVibrantSwatch.getHsl(),a[2]=this.TARGET_NORMAL_LUMA,this.VibrantSwatch=new c(d.hslToRgb(a[0],a[1],a[2]),0)),void 0===this.DarkVibrantSwatch&&void 0!==this.VibrantSwatch?(a=this.VibrantSwatch.getHsl(),a[2]=this.TARGET_DARK_LUMA,this.DarkVibrantSwatch=new c(d.hslToRgb(a[0],a[1],a[2]),0)):void 0},d.prototype.findMaxPopulation=function(){var a,b,c,d,e;for(c=0,d=this._swatches,a=0,b=d.length;b>a;a++)e=d[a],c=Math.max(c,e.getPopulation());return c},d.prototype.findColorVariation=function(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o;for(j=void 0,k=0,l=this._swatches,g=0,h=l.length;h>g;g++)n=l[g],m=n.getHsl()[1],i=n.getHsl()[2],m>=e&&f>=m&&i>=b&&c>=i&&!this.isAlreadySelected(n)&&(o=this.createComparisonValue(m,d,i,a,n.getPopulation(),this.HighestPopulation),(void 0===j||o>k)&&(j=n,k=o));return j},d.prototype.createComparisonValue=function(a,b,c,d,e,f){return this.weightedMean(this.invertDiff(a,b),this.WEIGHT_SATURATION,this.invertDiff(c,d),this.WEIGHT_LUMA,e/f,this.WEIGHT_POPULATION);
+},d.prototype.invertDiff=function(a,b){return 1-Math.abs(a-b)},d.prototype.weightedMean=function(){var a,b,c,d,e,g;for(e=1<=arguments.length?f.call(arguments,0):[],b=0,c=0,a=0;a<e.length;)d=e[a],g=e[a+1],b+=d*g,c+=g,a+=2;return b/c},d.prototype.swatches=function(){return{Vibrant:this.VibrantSwatch,Muted:this.MutedSwatch,DarkVibrant:this.DarkVibrantSwatch,DarkMuted:this.DarkMutedSwatch,LightVibrant:this.LightVibrantSwatch,LightMuted:this.LightMuted}},d.prototype.isAlreadySelected=function(a){return this.VibrantSwatch===a||this.DarkVibrantSwatch===a||this.LightVibrantSwatch===a||this.MutedSwatch===a||this.DarkMutedSwatch===a||this.LightMutedSwatch===a},d.rgbToHsl=function(a,b,c){var d,e,f,g,h,i;if(a/=255,b/=255,c/=255,g=Math.max(a,b,c),h=Math.min(a,b,c),e=void 0,i=void 0,f=(g+h)/2,g===h)e=i=0;else{switch(d=g-h,i=f>.5?d/(2-g-h):d/(g+h),g){case a:e=(b-c)/d+(c>b?6:0);break;case b:e=(c-a)/d+2;break;case c:e=(a-b)/d+4}e/=6}return[e,i,f]},d.hslToRgb=function(a,b,c){var d,e,f,g,h,i;return i=void 0,e=void 0,d=void 0,f=function(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a},0===b?i=e=d=c:(h=.5>c?c*(1+b):c+b-c*b,g=2*c-h,i=f(g,h,a+1/3),e=f(g,h,a),d=f(g,h,a-1/3)),[255*i,255*e,255*d]},d}(),window.CanvasImage=b=function(){function a(a){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),document.body.appendChild(this.canvas),this.width=this.canvas.width=a.width,this.height=this.canvas.height=a.height,this.context.drawImage(a,0,0,this.width,this.height)}return a.prototype.clear=function(){return this.context.clearRect(0,0,this.width,this.height)},a.prototype.update=function(a){return this.context.putImageData(a,0,0)},a.prototype.getPixelCount=function(){return this.width*this.height},a.prototype.getImageData=function(){return this.context.getImageData(0,0,this.width,this.height)},a.prototype.removeCanvas=function(){return this.canvas.parentNode.removeChild(this.canvas)},a}()}).call(this)},{quantize:1}]},{},[2]),function(a,b){"use strict";function c(c,d){function e(a){return qa.preferFlash&&ja&&!qa.ignoreFlash&&qa.flash[a]!==b&&qa.flash[a]}function f(a){return function(b){var c,d=this._s;return d&&d._a?c=a.call(this,b):(d&&d.id?qa._wD(d.id+": Ignoring "+b.type):qa._wD(va+"Ignoring "+b.type),c=null),c}}this.setupOptions={url:c||null,flashVersion:8,debugMode:!0,debugFlash:!1,useConsole:!0,consoleOnly:!0,waitForWindowLoad:!1,bgColor:"#ffffff",useHighPerformance:!1,flashPollingInterval:null,html5PollingInterval:null,flashLoadTimeout:1e3,wmode:null,allowScriptAccess:"always",useFlashBlock:!1,useHTML5Audio:!0,html5Test:/^(probably|maybe)$/i,preferFlash:!1,noSWFCache:!1,idPrefix:"sound"},this.defaultOptions={autoLoad:!1,autoPlay:!1,from:null,loops:1,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onposition:null,onstop:null,onfailure:null,onfinish:null,multiShot:!0,multiShotEvents:!1,position:null,pan:0,stream:!0,to:null,type:null,usePolicyFile:!1,volume:100},this.flash9Options={isMovieStar:null,usePeakData:!1,useWaveformData:!1,useEQData:!1,onbufferchange:null,ondataerror:null},this.movieStarOptions={bufferTime:3,serverURL:null,onconnect:null,duration:null},this.audioFormats={mp3:{type:['audio/mpeg; codecs="mp3"',"audio/mpeg","audio/mp3","audio/MPA","audio/mpa-robust"],required:!0},mp4:{related:["aac","m4a","m4b"],type:['audio/mp4; codecs="mp4a.40.2"',"audio/aac","audio/x-m4a","audio/MP4A-LATM","audio/mpeg4-generic"],required:!1},ogg:{type:["audio/ogg; codecs=vorbis"],required:!1},opus:{type:["audio/ogg; codecs=opus","audio/opus"],required:!1},wav:{type:['audio/wav; codecs="1"',"audio/wav","audio/wave","audio/x-wav"],required:!1}},this.movieID="sm2-container",this.id=d||"sm2movie",this.debugID="soundmanager-debug",this.debugURLParam=/([#?&])debug=1/i,this.versionNumber="V2.97a.20140901",this.version=null,this.movieURL=null,this.altURL=null,this.swfLoaded=!1,this.enabled=!1,this.oMC=null,this.sounds={},this.soundIDs=[],this.muted=!1,this.didFlashBlock=!1,this.filePattern=null,this.filePatterns={flash8:/\.mp3(\?.*)?$/i,flash9:/\.mp3(\?.*)?$/i},this.features={buffering:!1,peakData:!1,waveformData:!1,eqData:!1,movieStar:!1},this.sandbox={type:null,types:{remote:"remote (domain-based) rules",localWithFile:"local with file access (no internet access)",localWithNetwork:"local with network (internet access only, no local access)",localTrusted:"local, trusted (local+internet access)"},description:null,noRemote:null,noLocal:null},this.html5={usingFlash:null},this.flash={},this.html5Only=!1,this.ignoreFlash=!1;var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,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,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa=this,ra=null,sa=null,ta="soundManager",ua=ta+": ",va="HTML5::",wa=navigator.userAgent,xa=a.location.href.toString(),ya=document,za=[],Aa=!0,Ba=!1,Ca=!1,Da=!1,Ea=!1,Fa=!1,Ga=0,Ha=["log","info","warn","error"],Ia=8,Ja=null,Ka=null,La=!1,Ma=!1,Na=0,Oa=null,Pa=[],Qa=null,Ra=Array.prototype.slice,Sa=!1,Ta=0,Ua=wa.match(/(ipad|iphone|ipod)/i),Va=wa.match(/android/i),Wa=wa.match(/msie/i),Xa=wa.match(/webkit/i),Ya=wa.match(/safari/i)&&!wa.match(/chrome/i),Za=wa.match(/opera/i),$a=wa.match(/(mobile|pre\/|xoom)/i)||Ua||Va,_a=!xa.match(/usehtml5audio/i)&&!xa.match(/sm2\-ignorebadua/i)&&Ya&&!wa.match(/silk/i)&&wa.match(/OS X 10_6_([3-7])/i),ab=a.console!==b&&console.log!==b,bb=ya.hasFocus!==b?ya.hasFocus():null,cb=Ya&&(ya.hasFocus===b||!ya.hasFocus()),db=!cb,eb=/(mp3|mp4|mpa|m4a|m4b)/i,fb=1e3,gb="about:blank",hb="data:audio/wave;base64,/UklGRiYAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQIAAAD//w==",ib=ya.location?ya.location.protocol.match(/http/i):null,jb=ib?"":"http://",kb=/^\s*audio\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|m4b|mp4v|3gp|3g2)\s*(?:$|;)/i,lb=["mpeg4","aac","flv","mov","mp4","m4v","f4v","m4a","m4b","mp4v","3gp","3g2"],mb=new RegExp("\\.("+lb.join("|")+")(\\?.*)?$","i");this.mimePattern=/^\s*audio\/(?:x-)?(?:mp(?:eg|3))\s*(?:$|;)/i,this.useAltURL=!ib,R={swfBox:"sm2-object-box",swfDefault:"movieContainer",swfError:"swf_error",swfTimedout:"swf_timedout",swfLoaded:"swf_loaded",swfUnblocked:"swf_unblocked",sm2Debug:"sm2_debug",highPerf:"high_performance",flashDebug:"flash_debug"},this.hasHTML5=function(){try{return Audio!==b&&(Za&&opera!==b&&opera.version()<10?new Audio(null):new Audio).canPlayType!==b}catch(a){return!1}}(),this.setup=function(a){var c=!qa.url;return a!==b&&Da&&Qa&&qa.ok()&&(a.flashVersion!==b||a.url!==b||a.html5Test!==b)&&V(O("setupLate")),q(a),a&&(c&&F&&a.url!==b&&qa.beginDelayedInit(),F||a.url===b||"complete"!==ya.readyState||setTimeout(D,1)),qa},this.ok=function(){return Qa?Da&&!Ea:qa.useHTML5Audio&&qa.hasHTML5},this.supported=this.ok,this.getMovie=function(b){return h(b)||ya[b]||a[b]},this.createSound=function(a,c){function d(){return h=T(h),qa.sounds[h.id]=new g(h),qa.soundIDs.push(h.id),qa.sounds[h.id]}var e,f,h,i=null;if(e=ta+".createSound(): ",f=e+O(Da?"notOK":"notReady"),!Da||!qa.ok())return V(f),!1;if(c!==b&&(a={id:a,url:c}),h=p(a),h.url=$(h.url),void 0===h.id&&(h.id=qa.setupOptions.idPrefix+Ta++),h.id.toString().charAt(0).match(/^[0-9]$/)&&qa._wD(e+O("badID",h.id),2),qa._wD(e+h.id+(h.url?" ("+h.url+")":""),1),W(h.id,!0))return qa._wD(e+h.id+" exists",1),qa.sounds[h.id];if(ba(h))i=d(),qa._wD(h.id+": Using HTML5"),i._setup_html5(h);else{if(qa.html5Only)return qa._wD(h.id+": No HTML5 support for this sound, and no Flash. Exiting."),d();if(qa.html5.usingFlash&&h.url&&h.url.match(/data\:/i))return qa._wD(h.id+": data: URIs not supported via Flash. Exiting."),d();l>8&&(null===h.isMovieStar&&(h.isMovieStar=!!(h.serverURL||(h.type?h.type.match(kb):!1)||h.url&&h.url.match(mb))),h.isMovieStar&&(qa._wD(e+"using MovieStar handling"),h.loops>1&&n("noNSLoop"))),h=U(h,e),i=d(),8===l?sa._createSound(h.id,h.loops||1,h.usePolicyFile):(sa._createSound(h.id,h.url,h.usePeakData,h.useWaveformData,h.useEQData,h.isMovieStar,h.isMovieStar?h.bufferTime:!1,h.loops||1,h.serverURL,h.duration||null,h.autoPlay,!0,h.autoLoad,h.usePolicyFile),h.serverURL||(i.connected=!0,h.onconnect&&h.onconnect.apply(i))),h.serverURL||!h.autoLoad&&!h.autoPlay||i.load(h)}return!h.serverURL&&h.autoPlay&&i.play(),i},this.destroySound=function(a,b){if(!W(a))return!1;var c,d=qa.sounds[a];for(d._iO={},d.stop(),d.unload(),c=0;c<qa.soundIDs.length;c++)if(qa.soundIDs[c]===a){qa.soundIDs.splice(c,1);break}return b||d.destruct(!0),d=null,delete qa.sounds[a],!0},this.load=function(a,b){return W(a)?qa.sounds[a].load(b):!1},this.unload=function(a){return W(a)?qa.sounds[a].unload():!1},this.onPosition=function(a,b,c,d){return W(a)?qa.sounds[a].onposition(b,c,d):!1},this.onposition=this.onPosition,this.clearOnPosition=function(a,b,c){return W(a)?qa.sounds[a].clearOnPosition(b,c):!1},this.play=function(a,b){var c=null,d=b&&!(b instanceof Object);if(!Da||!qa.ok())return V(ta+".play(): "+O(Da?"notOK":"notReady")),!1;if(W(a,d))d&&(b={url:b});else{if(!d)return!1;d&&(b={url:b}),b&&b.url&&(qa._wD(ta+'.play(): Attempting to create "'+a+'"',1),b.id=a,c=qa.createSound(b).play())}return null===c&&(c=qa.sounds[a].play(b)),c},this.start=this.play,this.setPosition=function(a,b){return W(a)?qa.sounds[a].setPosition(b):!1},this.stop=function(a){return W(a)?(qa._wD(ta+".stop("+a+")",1),qa.sounds[a].stop()):!1},this.stopAll=function(){var a;qa._wD(ta+".stopAll()",1);for(a in qa.sounds)qa.sounds.hasOwnProperty(a)&&qa.sounds[a].stop()},this.pause=function(a){return W(a)?qa.sounds[a].pause():!1},this.pauseAll=function(){var a;for(a=qa.soundIDs.length-1;a>=0;a--)qa.sounds[qa.soundIDs[a]].pause()},this.resume=function(a){return W(a)?qa.sounds[a].resume():!1},this.resumeAll=function(){var a;for(a=qa.soundIDs.length-1;a>=0;a--)qa.sounds[qa.soundIDs[a]].resume()},this.togglePause=function(a){return W(a)?qa.sounds[a].togglePause():!1},this.setPan=function(a,b){return W(a)?qa.sounds[a].setPan(b):!1},this.setVolume=function(a,b){return W(a)?qa.sounds[a].setVolume(b):!1},this.mute=function(a){var b=0;if(a instanceof String&&(a=null),a)return W(a)?(qa._wD(ta+'.mute(): Muting "'+a+'"'),qa.sounds[a].mute()):!1;for(qa._wD(ta+".mute(): Muting all sounds"),b=qa.soundIDs.length-1;b>=0;b--)qa.sounds[qa.soundIDs[b]].mute();return qa.muted=!0,!0},this.muteAll=function(){qa.mute()},this.unmute=function(a){var b;if(a instanceof String&&(a=null),a)return W(a)?(qa._wD(ta+'.unmute(): Unmuting "'+a+'"'),qa.sounds[a].unmute()):!1;for(qa._wD(ta+".unmute(): Unmuting all sounds"),b=qa.soundIDs.length-1;b>=0;b--)qa.sounds[qa.soundIDs[b]].unmute();return qa.muted=!1,!0},this.unmuteAll=function(){qa.unmute()},this.toggleMute=function(a){return W(a)?qa.sounds[a].toggleMute():!1},this.getMemoryUse=function(){var a=0;return sa&&8!==l&&(a=parseInt(sa._getMemoryUse(),10)),a},this.disable=function(c){var d;if(c===b&&(c=!1),Ea)return!1;for(Ea=!0,n("shutdown",1),d=qa.soundIDs.length-1;d>=0;d--)L(qa.sounds[qa.soundIDs[d]]);return o(c),ha.remove(a,"load",u),!0},this.canPlayMIME=function(a){var b;return qa.hasHTML5&&(b=ca({type:a})),!b&&Qa&&(b=a&&qa.ok()?!!((l>8?a.match(kb):null)||a.match(qa.mimePattern)):null),b},this.canPlayURL=function(a){var b;return qa.hasHTML5&&(b=ca({url:a})),!b&&Qa&&(b=a&&qa.ok()?!!a.match(qa.filePattern):null),b},this.canPlayLink=function(a){return a.type!==b&&a.type&&qa.canPlayMIME(a.type)?!0:qa.canPlayURL(a.href)},this.getSoundById=function(a,b){if(!a)return null;var c=qa.sounds[a];return c||b||qa._wD(ta+'.getSoundById(): Sound "'+a+'" not found.',2),c},this.onready=function(b,c){var d="onready",e=!1;if("function"!=typeof b)throw O("needFunction",d);return Da&&qa._wD(O("queue",d)),c||(c=a),s(d,b,c),t(),e=!0,e},this.ontimeout=function(b,c){var d="ontimeout",e=!1;if("function"!=typeof b)throw O("needFunction",d);return Da&&qa._wD(O("queue",d)),c||(c=a),s(d,b,c),t({type:d}),e=!0,e},this._writeDebug=function(a,c){var d,e,f="soundmanager-debug";return qa.debugMode?ab&&qa.useConsole&&(c&&"object"==typeof c?console.log(a,c):Ha[c]!==b?console[Ha[c]](a):console.log(a),qa.consoleOnly)?!0:(d=h(f))?(e=ya.createElement("div"),++Ga%2===0&&(e.className="sm2-alt"),c=c===b?0:parseInt(c,10),e.appendChild(ya.createTextNode(a)),c&&(c>=2&&(e.style.fontWeight="bold"),3===c&&(e.style.color="#ff3333")),d.insertBefore(e,d.firstChild),d=null,!0):!1:!1},-1!==xa.indexOf("sm2-debug=alert")&&(this._writeDebug=function(b){a.alert(b)}),this._wD=this._writeDebug,this._debug=function(){var a,b;for(n("currentObj",1),a=0,b=qa.soundIDs.length;b>a;a++)qa.sounds[qa.soundIDs[a]]._debug()},this.reboot=function(b,c){qa.soundIDs.length&&qa._wD("Destroying "+qa.soundIDs.length+" SMSound object"+(1!==qa.soundIDs.length?"s":"")+"...");var d,e,f;for(d=qa.soundIDs.length-1;d>=0;d--)qa.sounds[qa.soundIDs[d]].destruct();if(sa)try{Wa&&(Ka=sa.innerHTML),Ja=sa.parentNode.removeChild(sa)}catch(g){n("badRemove",2)}if(Ka=Ja=Qa=sa=null,qa.enabled=F=Da=La=Ma=Ba=Ca=Ea=Sa=qa.swfLoaded=!1,qa.soundIDs=[],qa.sounds={},Ta=0,b)za=[];else for(d in za)if(za.hasOwnProperty(d))for(e=0,f=za[d].length;f>e;e++)za[d][e].fired=!1;return c||qa._wD(ta+": Rebooting..."),qa.html5={usingFlash:null},qa.flash={},qa.html5Only=!1,qa.ignoreFlash=!1,a.setTimeout(function(){C(),c||qa.beginDelayedInit()},20),qa},this.reset=function(){return n("reset"),qa.reboot(!0,!0)},this.getMoviePercent=function(){return sa&&"PercentLoaded"in sa?sa.PercentLoaded():null},this.beginDelayedInit=function(){Fa=!0,D(),setTimeout(function(){return Ma?!1:(H(),B(),Ma=!0,!0)},20),v()},this.destruct=function(){qa._wD(ta+".destruct()"),qa.disable(!0)},g=function(a){var c,d,e,f,g,h,i,j,k,o,q=this,r=!1,s=[],t=0,u=null;k={duration:null,time:null},this.id=a.id,this.sID=this.id,this.url=a.url,this.options=p(a),this.instanceOptions=this.options,this._iO=this.instanceOptions,this.pan=this.options.pan,this.volume=this.options.volume,this.isHTML5=!1,this._a=null,o=this.url?!1:!0,this.id3={},this._debug=function(){qa._wD(q.id+": Merged options:",q.options)},this.load=function(a){var c,d=null;if(a!==b?q._iO=p(a,q.options):(a=q.options,q._iO=a,u&&u!==q.url&&(n("manURL"),q._iO.url=q.url,q.url=null)),q._iO.url||(q._iO.url=q.url),q._iO.url=$(q._iO.url),q.instanceOptions=q._iO,c=q._iO,qa._wD(q.id+": load ("+c.url+")"),!c.url&&!q.url)return qa._wD(q.id+": load(): url is unassigned. Exiting.",2),q;if(q.isHTML5||8!==l||q.url||c.autoPlay||qa._wD(q.id+": Flash 8 load() limitation: Wait for onload() before calling play().",1),c.url===q.url&&0!==q.readyState&&2!==q.readyState)return n("onURL",1),3===q.readyState&&c.onload&&pa(q,function(){c.onload.apply(q,[!!q.duration])}),q;if(q.loaded=!1,q.readyState=1,q.playState=0,q.id3={},ba(c))d=q._setup_html5(c),d._called_load?qa._wD(q.id+": Ignoring request to load again"):(q._html5_canplay=!1,q.url!==c.url&&(qa._wD(n("manURL")+": "+c.url),q._a.src=c.url,q.setPosition(0)),q._a.autobuffer="auto",q._a.preload="auto",q._a._called_load=!0);else{if(qa.html5Only)return qa._wD(q.id+": No flash support. Exiting."),q;if(q._iO.url&&q._iO.url.match(/data\:/i))return qa._wD(q.id+": data: URIs not supported via Flash. Exiting."),q;try{q.isHTML5=!1,q._iO=U(T(c)),q._iO.autoPlay&&(q._iO.position||q._iO.from)&&(qa._wD(q.id+": Disabling autoPlay because of non-zero offset case"),q._iO.autoPlay=!1),c=q._iO,8===l?sa._load(q.id,c.url,c.stream,c.autoPlay,c.usePolicyFile):sa._load(q.id,c.url,!!c.stream,!!c.autoPlay,c.loops||1,!!c.autoLoad,c.usePolicyFile)}catch(e){n("smError",2),m("onload",!1),I({type:"SMSOUND_LOAD_JS_EXCEPTION",fatal:!0})}}return q.url=c.url,q},this.unload=function(){return 0!==q.readyState&&(qa._wD(q.id+": unload()"),q.isHTML5?(f(),q._a&&(q._a.pause(),u=ea(q._a))):8===l?sa._unload(q.id,gb):sa._unload(q.id),c()),q},this.destruct=function(a){qa._wD(q.id+": Destruct"),q.isHTML5?(f(),q._a&&(q._a.pause(),ea(q._a),Sa||e(),q._a._s=null,q._a=null)):(q._iO.onfailure=null,sa._destroySound(q.id)),a||qa.destroySound(q.id,!0)},this.play=function(a,c){var d,e,f,i,k,m,n,s=!0,t=null;if(d=q.id+": play(): ",c=c===b?!0:c,a||(a={}),q.url&&(q._iO.url=q.url),q._iO=p(q._iO,q.options),q._iO=p(a,q._iO),q._iO.url=$(q._iO.url),q.instanceOptions=q._iO,!q.isHTML5&&q._iO.serverURL&&!q.connected)return q.getAutoPlay()||(qa._wD(d+" Netstream not connected yet - setting autoPlay"),q.setAutoPlay(!0)),q;if(ba(q._iO)&&(q._setup_html5(q._iO),g()),1!==q.playState||q.paused||(e=q._iO.multiShot,e?qa._wD(d+"Already playing (multi-shot)",1):(qa._wD(d+"Already playing (one-shot)",1),q.isHTML5&&q.setPosition(q._iO.position),t=q)),null!==t)return t;if(a.url&&a.url!==q.url&&(q.readyState||q.isHTML5||8!==l||!o?q.load(q._iO):o=!1),q.loaded?qa._wD(d.substr(0,d.lastIndexOf(":"))):0===q.readyState?(qa._wD(d+"Attempting to load"),q.isHTML5||qa.html5Only?q.isHTML5?q.load(q._iO):(qa._wD(d+"Unsupported type. Exiting."),t=q):(q._iO.autoPlay=!0,q.load(q._iO)),q.instanceOptions=q._iO):2===q.readyState?(qa._wD(d+"Could not load - exiting",2),t=q):qa._wD(d+"Loading - attempting to play..."),null!==t)return t;if(!q.isHTML5&&9===l&&q.position>0&&q.position===q.duration&&(qa._wD(d+"Sound at end, resetting to position:0"),a.position=0),q.paused&&q.position>=0&&(!q._iO.serverURL||q.position>0))qa._wD(d+"Resuming from paused state",1),q.resume();else{if(q._iO=p(a,q._iO),(!q.isHTML5&&null!==q._iO.position&&q._iO.position>0||null!==q._iO.from&&q._iO.from>0||null!==q._iO.to)&&0===q.instanceCount&&0===q.playState&&!q._iO.serverURL){if(i=function(){q._iO=p(a,q._iO),q.play(q._iO)},q.isHTML5&&!q._html5_canplay?(qa._wD(d+"Beginning load for non-zero offset case"),q.load({_oncanplay:i}),t=!1):q.isHTML5||q.loaded||q.readyState&&2===q.readyState||(qa._wD(d+"Preloading for non-zero offset case"),q.load({onload:i}),t=!1),null!==t)return t;q._iO=j()}(!q.instanceCount||q._iO.multiShotEvents||q.isHTML5&&q._iO.multiShot&&!Sa||!q.isHTML5&&l>8&&!q.getAutoPlay())&&q.instanceCount++,q._iO.onposition&&0===q.playState&&h(q),q.playState=1,q.paused=!1,q.position=q._iO.position===b||isNaN(q._iO.position)?0:q._iO.position,q.isHTML5||(q._iO=U(T(q._iO))),q._iO.onplay&&c&&(q._iO.onplay.apply(q),r=!0),q.setVolume(q._iO.volume,!0),q.setPan(q._iO.pan,!0),q.isHTML5?q.instanceCount<2?(g(),f=q._setup_html5(),q.setPosition(q._iO.position),f.play()):(qa._wD(q.id+": Cloning Audio() for instance #"+q.instanceCount+"..."),k=new Audio(q._iO.url),m=function(){ha.remove(k,"ended",m),q._onfinish(q),ea(k),k=null},n=function(){ha.remove(k,"canplay",n);try{k.currentTime=q._iO.position/fb}catch(a){V(q.id+": multiShot play() failed to apply position of "+q._iO.position/fb)}k.play()},ha.add(k,"ended",m),void 0!==q._iO.volume&&(k.volume=Math.max(0,Math.min(1,q._iO.volume/100))),q.muted&&(k.muted=!0),q._iO.position?ha.add(k,"canplay",n):k.play()):(s=sa._start(q.id,q._iO.loops||1,9===l?q.position:q.position/fb,q._iO.multiShot||!1),9!==l||s||(qa._wD(d+"No sound hardware, or 32-sound ceiling hit",2),q._iO.onplayerror&&q._iO.onplayerror.apply(q)))}return q},this.start=this.play,this.stop=function(a){var b,c=q._iO;return 1===q.playState&&(qa._wD(q.id+": stop()"),q._onbufferchange(0),q._resetOnPosition(0),q.paused=!1,q.isHTML5||(q.playState=0),i(),c.to&&q.clearOnPosition(c.to),q.isHTML5?q._a&&(b=q.position,q.setPosition(0),q.position=b,q._a.pause(),q.playState=0,q._onTimer(),f()):(sa._stop(q.id,a),c.serverURL&&q.unload()),q.instanceCount=0,q._iO={},c.onstop&&c.onstop.apply(q)),q},this.setAutoPlay=function(a){qa._wD(q.id+": Autoplay turned "+(a?"on":"off")),q._iO.autoPlay=a,q.isHTML5||(sa._setAutoPlay(q.id,a),a&&(q.instanceCount||1!==q.readyState||(q.instanceCount++,qa._wD(q.id+": Incremented instance count to "+q.instanceCount))))},this.getAutoPlay=function(){return q._iO.autoPlay},this.setPosition=function(a){a===b&&(a=0);var c,d,e=q.isHTML5?Math.max(a,0):Math.min(q.duration||q._iO.duration,Math.max(a,0));if(q.position=e,d=q.position/fb,q._resetOnPosition(q.position),q._iO.position=e,q.isHTML5){if(q._a){if(q._html5_canplay){if(q._a.currentTime!==d){qa._wD(q.id+": setPosition("+d+")");try{q._a.currentTime=d,(0===q.playState||q.paused)&&q._a.pause()}catch(f){qa._wD(q.id+": setPosition("+d+") failed: "+f.message,2)}}}else if(d)return qa._wD(q.id+": setPosition("+d+"): Cannot seek yet, sound not ready",2),q;q.paused&&q._onTimer(!0)}}else c=9===l?q.position:d,q.readyState&&2!==q.readyState&&sa._setPosition(q.id,c,q.paused||!q.playState,q._iO.multiShot);return q},this.pause=function(a){return q.paused||0===q.playState&&1!==q.readyState?q:(qa._wD(q.id+": pause()"),q.paused=!0,q.isHTML5?(q._setup_html5().pause(),f()):(a||a===b)&&sa._pause(q.id,q._iO.multiShot),q._iO.onpause&&q._iO.onpause.apply(q),q)},this.resume=function(){var a=q._iO;return q.paused?(qa._wD(q.id+": resume()"),q.paused=!1,q.playState=1,q.isHTML5?(q._setup_html5().play(),g()):(a.isMovieStar&&!a.serverURL&&q.setPosition(q.position),sa._pause(q.id,a.multiShot)),!r&&a.onplay?(a.onplay.apply(q),r=!0):a.onresume&&a.onresume.apply(q),q):q},this.togglePause=function(){return qa._wD(q.id+": togglePause()"),0===q.playState?(q.play({position:9!==l||q.isHTML5?q.position/fb:q.position}),q):(q.paused?q.resume():q.pause(),q)},this.setPan=function(a,c){return a===b&&(a=0),c===b&&(c=!1),q.isHTML5||sa._setPan(q.id,a),q._iO.pan=a,c||(q.pan=a,q.options.pan=a),q},this.setVolume=function(a,c){return a===b&&(a=100),c===b&&(c=!1),q.isHTML5?q._a&&(qa.muted&&!q.muted&&(q.muted=!0,q._a.muted=!0),q._a.volume=Math.max(0,Math.min(1,a/100))):sa._setVolume(q.id,qa.muted&&!q.muted||q.muted?0:a),q._iO.volume=a,c||(q.volume=a,q.options.volume=a),q},this.mute=function(){return q.muted=!0,q.isHTML5?q._a&&(q._a.muted=!0):sa._setVolume(q.id,0),q},this.unmute=function(){q.muted=!1;var a=q._iO.volume!==b;return q.isHTML5?q._a&&(q._a.muted=!1):sa._setVolume(q.id,a?q._iO.volume:q.options.volume),q},this.toggleMute=function(){return q.muted?q.unmute():q.mute()},this.onPosition=function(a,c,d){return s.push({position:parseInt(a,10),method:c,scope:d!==b?d:q,fired:!1}),q},this.onposition=this.onPosition,this.clearOnPosition=function(a,b){var c;if(a=parseInt(a,10),isNaN(a))return!1;for(c=0;c<s.length;c++)a===s[c].position&&(b&&b!==s[c].method||(s[c].fired&&t--,s.splice(c,1)))},this._processOnPosition=function(){var a,b,c=s.length;if(!c||!q.playState||t>=c)return!1;for(a=c-1;a>=0;a--)b=s[a],!b.fired&&q.position>=b.position&&(b.fired=!0,t++,b.method.apply(b.scope,[b.position]),c=s.length);return!0},this._resetOnPosition=function(a){var b,c,d=s.length;if(!d)return!1;for(b=d-1;b>=0;b--)c=s[b],c.fired&&a<=c.position&&(c.fired=!1,t--);return!0},j=function(){var a,b,c=q._iO,d=c.from,e=c.to;return b=function(){qa._wD(q.id+': "To" time of '+e+" reached."),q.clearOnPosition(e,b),q.stop()},a=function(){qa._wD(q.id+': Playing "from" '+d),null===e||isNaN(e)||q.onPosition(e,b)},null===d||isNaN(d)||(c.position=d,c.multiShot=!1,a()),c},h=function(){var a,b=q._iO.onposition;if(b)for(a in b)b.hasOwnProperty(a)&&q.onPosition(parseInt(a,10),b[a])},i=function(){var a,b=q._iO.onposition;if(b)for(a in b)b.hasOwnProperty(a)&&q.clearOnPosition(parseInt(a,10))},g=function(){q.isHTML5&&X(q)},f=function(){q.isHTML5&&Y(q)},c=function(a){a||(s=[],t=0),r=!1,q._hasTimer=null,q._a=null,q._html5_canplay=!1,q.bytesLoaded=null,q.bytesTotal=null,q.duration=q._iO&&q._iO.duration?q._iO.duration:null,q.durationEstimate=null,q.buffered=[],q.eqData=[],q.eqData.left=[],q.eqData.right=[],q.failures=0,q.isBuffering=!1,q.instanceOptions={},q.instanceCount=0,q.loaded=!1,q.metadata={},q.readyState=0,q.muted=!1,q.paused=!1,q.peakData={left:0,right:0},q.waveformData={left:[],right:[]},q.playState=0,q.position=null,q.id3={}},c(),this._onTimer=function(a){var b,c,d=!1,e={};return q._hasTimer||a?(q._a&&(a||(q.playState>0||1===q.readyState)&&!q.paused)&&(b=q._get_html5_duration(),b!==k.duration&&(k.duration=b,q.duration=b,d=!0),q.durationEstimate=q.duration,c=q._a.currentTime*fb||0,c!==k.time&&(k.time=c,d=!0),(d||a)&&q._whileplaying(c,e,e,e,e)),d):void 0},this._get_html5_duration=function(){var a=q._iO,b=q._a&&q._a.duration?q._a.duration*fb:a&&a.duration?a.duration:null,c=b&&!isNaN(b)&&b!==1/0?b:null;return c},this._apply_loop=function(a,b){!a.loop&&b>1&&qa._wD("Note: Native HTML5 looping is infinite.",1),a.loop=b>1?"loop":""},this._setup_html5=function(a){var b,e=p(q._iO,a),f=Sa?ra:q._a,g=decodeURI(e.url);if(Sa?g===decodeURI(ia)&&(b=!0):g===decodeURI(u)&&(b=!0),f){if(f._s)if(Sa)f._s&&f._s.playState&&!b&&f._s.stop();else if(!Sa&&g===decodeURI(u))return q._apply_loop(f,e.loops),f;b||(u&&c(!1),f.src=e.url,q.url=e.url,u=e.url,ia=e.url,f._called_load=!1)}else e.autoLoad||e.autoPlay?(q._a=new Audio(e.url),q._a.load()):q._a=Za&&opera.version()<10?new Audio(null):new Audio,f=q._a,f._called_load=!1,Sa&&(ra=f);return q.isHTML5=!0,q._a=f,f._s=q,d(),q._apply_loop(f,e.loops),e.autoLoad||e.autoPlay?q.load():(f.autobuffer=!1,f.preload="auto"),f},d=function(){function a(a,b,c){return q._a?q._a.addEventListener(a,b,c||!1):null}if(q._a._added_events)return!1;var b;q._a._added_events=!0;for(b in ma)ma.hasOwnProperty(b)&&a(b,ma[b]);return!0},e=function(){function a(a,b,c){return q._a?q._a.removeEventListener(a,b,c||!1):null}var b;qa._wD(q.id+": Removing event listeners"),q._a._added_events=!1;for(b in ma)ma.hasOwnProperty(b)&&a(b,ma[b])},this._onload=function(a){var b,c=!!a||!q.isHTML5&&8===l&&q.duration;return b=q.id+": ",qa._wD(b+(c?"onload()":"Failed to load / invalid sound?"+(q.duration?" -":" Zero-length duration reported.")+" ("+q.url+")"),c?1:2),c||q.isHTML5||(qa.sandbox.noRemote===!0&&qa._wD(b+O("noNet"),1),qa.sandbox.noLocal===!0&&qa._wD(b+O("noLocal"),1)),q.loaded=c,q.readyState=c?3:2,q._onbufferchange(0),q._iO.onload&&pa(q,function(){q._iO.onload.apply(q,[c])}),!0},this._onbufferchange=function(a){return 0===q.playState?!1:a&&q.isBuffering||!a&&!q.isBuffering?!1:(q.isBuffering=1===a,q._iO.onbufferchange&&(qa._wD(q.id+": Buffer state change: "+a),q._iO.onbufferchange.apply(q,[a])),!0)},this._onsuspend=function(){return q._iO.onsuspend&&(qa._wD(q.id+": Playback suspended"),q._iO.onsuspend.apply(q)),!0},this._onfailure=function(a,b,c){q.failures++,qa._wD(q.id+": Failure ("+q.failures+"): "+a),q._iO.onfailure&&1===q.failures?q._iO.onfailure(a,b,c):qa._wD(q.id+": Ignoring failure")},this._onwarning=function(a,b,c){q._iO.onwarning&&q._iO.onwarning(a,b,c)},this._onfinish=function(){var a=q._iO.onfinish;q._onbufferchange(0),q._resetOnPosition(0),q.instanceCount&&(q.instanceCount--,q.instanceCount||(i(),q.playState=0,q.paused=!1,q.instanceCount=0,q.instanceOptions={},q._iO={},f(),q.isHTML5&&(q.position=0)),(!q.instanceCount||q._iO.multiShotEvents)&&a&&(qa._wD(q.id+": onfinish()"),pa(q,function(){a.apply(q)})))},this._whileloading=function(a,b,c,d){var e=q._iO;q.bytesLoaded=a,q.bytesTotal=b,q.duration=Math.floor(c),q.bufferLength=d,q.isHTML5||e.isMovieStar?q.durationEstimate=q.duration:e.duration?q.durationEstimate=q.duration>e.duration?q.duration:e.duration:q.durationEstimate=parseInt(q.bytesTotal/q.bytesLoaded*q.duration,10),q.isHTML5||(q.buffered=[{start:0,end:q.duration}]),(3!==q.readyState||q.isHTML5)&&e.whileloading&&e.whileloading.apply(q)},this._whileplaying=function(a,c,d,e,f){var g,h=q._iO;return isNaN(a)||null===a?!1:(q.position=Math.max(0,a),q._processOnPosition(),!q.isHTML5&&l>8&&(h.usePeakData&&c!==b&&c&&(q.peakData={left:c.leftPeak,right:c.rightPeak}),h.useWaveformData&&d!==b&&d&&(q.waveformData={left:d.split(","),right:e.split(",")}),h.useEQData&&f!==b&&f&&f.leftEQ&&(g=f.leftEQ.split(","),q.eqData=g,q.eqData.left=g,f.rightEQ!==b&&f.rightEQ&&(q.eqData.right=f.rightEQ.split(",")))),1===q.playState&&(q.isHTML5||8!==l||q.position||!q.isBuffering||q._onbufferchange(0),h.whileplaying&&h.whileplaying.apply(q)),!0)},this._oncaptiondata=function(a){qa._wD(q.id+": Caption data received."),q.captiondata=a,q._iO.oncaptiondata&&q._iO.oncaptiondata.apply(q,[a])},this._onmetadata=function(a,b){qa._wD(q.id+": Metadata received.");var c,d,e={};for(c=0,d=a.length;d>c;c++)e[a[c]]=b[c];q.metadata=e,console.log("updated metadata",q.metadata),q._iO.onmetadata&&q._iO.onmetadata.call(q,q.metadata)},this._onid3=function(a,b){qa._wD(q.id+": ID3 data received.");var c,d,e=[];for(c=0,d=a.length;d>c;c++)e[a[c]]=b[c];q.id3=p(q.id3,e),q._iO.onid3&&q._iO.onid3.apply(q)},this._onconnect=function(a){a=1===a,qa._wD(q.id+": "+(a?"Connected.":"Failed to connect? - "+q.url),a?1:2),q.connected=a,a&&(q.failures=0,W(q.id)&&(q.getAutoPlay()?q.play(b,q.getAutoPlay()):q._iO.autoLoad&&q.load()),q._iO.onconnect&&q._iO.onconnect.apply(q,[a]))},this._ondataerror=function(a){q.playState>0&&(qa._wD(q.id+": Data error: "+a),q._iO.ondataerror&&q._iO.ondataerror.apply(q))},this._debug()},G=function(){return ya.body||ya.getElementsByTagName("div")[0]},h=function(a){return ya.getElementById(a)},p=function(a,c){var d,e,f=a||{};d=c===b?qa.defaultOptions:c;for(e in d)d.hasOwnProperty(e)&&f[e]===b&&("object"!=typeof d[e]||null===d[e]?f[e]=d[e]:f[e]=p(f[e],d[e]));return f},pa=function(b,c){b.isHTML5||8!==l?c():a.setTimeout(c,0)},r={onready:1,ontimeout:1,defaultOptions:1,flash9Options:1,movieStarOptions:1},q=function(a,c){var d,e=!0,f=c!==b,g=qa.setupOptions,h=r;if(a===b){e=[];for(d in g)g.hasOwnProperty(d)&&e.push(d);for(d in h)h.hasOwnProperty(d)&&("object"==typeof qa[d]?e.push(d+": {...}"):qa[d]instanceof Function?e.push(d+": function() {...}"):e.push(d));return qa._wD(O("setup",e.join(", "))),!1}for(d in a)if(a.hasOwnProperty(d))if("object"!=typeof a[d]||null===a[d]||a[d]instanceof Array||a[d]instanceof RegExp)f&&h[c]!==b?qa[c][d]=a[d]:g[d]!==b?(qa.setupOptions[d]=a[d],qa[d]=a[d]):h[d]===b?(V(O(qa[d]===b?"setupUndef":"setupError",d),2),e=!1):qa[d]instanceof Function?qa[d].apply(qa,a[d]instanceof Array?a[d]:[a[d]]):qa[d]=a[d];else{if(h[d]!==b)return q(a[d],d);V(O(qa[d]===b?"setupUndef":"setupError",d),2),e=!1}return e},ha=function(){function b(a){var b=Ra.call(a),c=b.length;return f?(b[1]="on"+b[1],c>3&&b.pop()):3===c&&b.push(!1),b}function c(a,b){var c=a.shift(),d=[g[b]];f?c[d](a[0],a[1]):c[d].apply(c,a)}function d(){c(b(arguments),"add")}function e(){c(b(arguments),"remove")}var f=a.attachEvent,g={add:f?"attachEvent":"addEventListener",remove:f?"detachEvent":"removeEventListener"};return{add:d,remove:e}}(),ma={abort:f(function(){qa._wD(this._s.id+": abort")}),canplay:f(function(){var a,c=this._s;if(c._html5_canplay)return!0;if(c._html5_canplay=!0,qa._wD(c.id+": canplay"),c._onbufferchange(0),a=c._iO.position===b||isNaN(c._iO.position)?null:c._iO.position/fb,this.currentTime!==a){qa._wD(c.id+": canplay: Setting position to "+a);try{this.currentTime=a}catch(d){qa._wD(c.id+": canplay: Setting position of "+a+" failed: "+d.message,2)}}c._iO._oncanplay&&c._iO._oncanplay()}),canplaythrough:f(function(){var a=this._s;a.loaded||(a._onbufferchange(0),a._whileloading(a.bytesLoaded,a.bytesTotal,a._get_html5_duration()),a._onload(!0))}),durationchange:f(function(){var a,b=this._s;a=b._get_html5_duration(),isNaN(a)||a===b.duration||(qa._wD(this._s.id+": durationchange ("+a+")"+(b.duration?", previously "+b.duration:"")),b.durationEstimate=b.duration=a)}),ended:f(function(){var a=this._s;qa._wD(a.id+": ended"),a._onfinish()}),error:f(function(){qa._wD(this._s.id+": HTML5 error, code "+this.error.code),this._s._onload(!1)}),loadeddata:f(function(){var a=this._s;qa._wD(a.id+": loadeddata"),a._loaded||Ya||(a.duration=a._get_html5_duration())}),loadedmetadata:f(function(){qa._wD(this._s.id+": loadedmetadata")}),loadstart:f(function(){qa._wD(this._s.id+": loadstart"),this._s._onbufferchange(1)}),play:f(function(){this._s._onbufferchange(0)}),playing:f(function(){qa._wD(this._s.id+": playing "+String.fromCharCode(9835)),this._s._onbufferchange(0)}),progress:f(function(a){var b,c,d,e=this._s,f=0,g="progress"===a.type,h=a.target.buffered,i=a.loaded||0,j=a.total||1;if(e.buffered=[],h&&h.length){for(b=0,c=h.length;c>b;b++)e.buffered.push({start:h.start(b)*fb,end:h.end(b)*fb});if(f=(h.end(0)-h.start(0))*fb,i=Math.min(1,f/(a.target.duration*fb)),g&&h.length>1){for(d=[],c=h.length,b=0;c>b;b++)d.push(a.target.buffered.start(b)*fb+"-"+a.target.buffered.end(b)*fb);qa._wD(this._s.id+": progress, timeRanges: "+d.join(", "))}g&&!isNaN(i)&&qa._wD(this._s.id+": progress, "+Math.floor(100*i)+"% loaded")}isNaN(i)||(e._whileloading(i,j,e._get_html5_duration()),
+i&&j&&i===j&&ma.canplaythrough.call(this,a))}),ratechange:f(function(){qa._wD(this._s.id+": ratechange")}),suspend:f(function(a){var b=this._s;qa._wD(this._s.id+": suspend"),ma.progress.call(this,a),b._onsuspend()}),stalled:f(function(){qa._wD(this._s.id+": stalled")}),timeupdate:f(function(){this._s._onTimer()}),waiting:f(function(){var a=this._s;qa._wD(this._s.id+": waiting"),a._onbufferchange(1)})},ba=function(a){var b;return b=a&&(a.type||a.url||a.serverURL)?a.serverURL||a.type&&e(a.type)?!1:a.type?ca({type:a.type}):ca({url:a.url})||qa.html5Only||a.url.match(/data\:/i):!1},ea=function(a){var b;return a&&(b=Ya?gb:qa.html5.canPlayType("audio/wav")?hb:gb,a.src=b,void 0!==a._called_unload&&(a._called_load=!1)),Sa&&(ia=null),b},ca=function(a){if(!qa.useHTML5Audio||!qa.hasHTML5)return!1;var c,d,f,g,h=a.url||null,i=a.type||null,j=qa.audioFormats;if(i&&qa.html5[i]!==b)return qa.html5[i]&&!e(i);if(!da){da=[];for(g in j)j.hasOwnProperty(g)&&(da.push(g),j[g].related&&(da=da.concat(j[g].related)));da=new RegExp("\\.("+da.join("|")+")(\\?.*)?$","i")}return f=h?h.toLowerCase().match(da):null,f&&f.length?f=f[1]:i?(d=i.indexOf(";"),f=(-1!==d?i.substr(0,d):i).substr(6)):c=!1,f&&qa.html5[f]!==b?c=qa.html5[f]&&!e(f):(i="audio/"+f,c=qa.html5.canPlayType({type:i}),qa.html5[f]=c,c=c&&qa.html5[i]&&!e(i)),c},ga=function(){function a(a){var b,c,d=!1,e=!1;if(!g||"function"!=typeof g.canPlayType)return d;if(a instanceof Array){for(f=0,c=a.length;c>f;f++)(qa.html5[a[f]]||g.canPlayType(a[f]).match(qa.html5Test))&&(e=!0,qa.html5[a[f]]=!0,qa.flash[a[f]]=!!a[f].match(eb));d=e}else b=g&&"function"==typeof g.canPlayType?g.canPlayType(a):!1,d=!(!b||!b.match(qa.html5Test));return d}if(!qa.useHTML5Audio||!qa.hasHTML5)return qa.html5.usingFlash=!0,Qa=!0,!1;var c,d,e,f,g=Audio!==b?Za&&opera.version()<10?new Audio(null):new Audio:null,h={};e=qa.audioFormats;for(c in e)if(e.hasOwnProperty(c)&&(d="audio/"+c,h[c]=a(e[c].type),h[d]=h[c],c.match(eb)?(qa.flash[c]=!0,qa.flash[d]=!0):(qa.flash[c]=!1,qa.flash[d]=!1),e[c]&&e[c].related))for(f=e[c].related.length-1;f>=0;f--)h["audio/"+e[c].related[f]]=h[c],qa.html5[e[c].related[f]]=h[c],qa.flash[e[c].related[f]]=h[c];return h.canPlayType=g?a:null,qa.html5=p(qa.html5,h),qa.html5.usingFlash=aa(),Qa=qa.html5.usingFlash,!0},A={notReady:"Unavailable - wait until onready() has fired.",notOK:"Audio support is not available.",domError:ta+"exception caught while appending SWF to DOM.",spcWmode:"Removing wmode, preventing known SWF loading issue(s)",swf404:ua+"Verify that %s is a valid path.",tryDebug:"Try "+ta+".debugFlash = true for more security details (output goes to SWF.)",checkSWF:"See SWF output for more debug info.",localFail:ua+"Non-HTTP page ("+ya.location.protocol+" URL?) Review Flash player security settings for this special case:\nhttp://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html\nMay need to add/allow path, e.g. c:/sm2/ or /users/me/sm2/",waitFocus:ua+"Special case: Waiting for SWF to load with window focus...",waitForever:ua+"Waiting indefinitely for Flash (will recover if unblocked)...",waitSWF:ua+"Waiting for 100% SWF load...",needFunction:ua+"Function object expected for %s",badID:'Sound ID "%s" should be a string, starting with a non-numeric character',currentObj:ua+"_debug(): Current sound objects",waitOnload:ua+"Waiting for window.onload()",docLoaded:ua+"Document already loaded",onload:ua+"initComplete(): calling soundManager.onload()",onloadOK:ta+".onload() complete",didInit:ua+"init(): Already called?",secNote:"Flash security note: Network/internet URLs will not load due to security restrictions. Access can be configured via Flash Player Global Security Settings Page: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html",badRemove:ua+"Failed to remove Flash node.",shutdown:ta+".disable(): Shutting down",queue:ua+"Queueing %s handler",smError:"SMSound.load(): Exception: JS-Flash communication failed, or JS error.",fbTimeout:"No flash response, applying ."+R.swfTimedout+" CSS...",fbLoaded:"Flash loaded",fbHandler:ua+"flashBlockHandler()",manURL:"SMSound.load(): Using manually-assigned URL",onURL:ta+".load(): current URL already assigned.",badFV:ta+'.flashVersion must be 8 or 9. "%s" is invalid. Reverting to %s.',as2loop:"Note: Setting stream:false so looping can work (flash 8 limitation)",noNSLoop:"Note: Looping not implemented for MovieStar formats",needfl9:"Note: Switching to flash 9, required for MP4 formats.",mfTimeout:"Setting flashLoadTimeout = 0 (infinite) for off-screen, mobile flash case",needFlash:ua+"Fatal error: Flash is needed to play some required formats, but is not available.",gotFocus:ua+"Got window focus.",policy:"Enabling usePolicyFile for data access",setup:ta+".setup(): allowed parameters: %s",setupError:ta+'.setup(): "%s" cannot be assigned with this method.',setupUndef:ta+'.setup(): Could not find option "%s"',setupLate:ta+".setup(): url, flashVersion and html5Test property changes will not take effect until reboot().",noURL:ua+"Flash URL required. Call soundManager.setup({url:...}) to get started.",sm2Loaded:"SoundManager 2: Ready. "+String.fromCharCode(10003),reset:ta+".reset(): Removing event callbacks",mobileUA:"Mobile UA detected, preferring HTML5 by default.",globalHTML5:"Using singleton HTML5 Audio() pattern for this device."},O=function(){var a,b,c,d,e;if(a=Ra.call(arguments),d=a.shift(),e=A&&A[d]?A[d]:"",e&&a&&a.length)for(b=0,c=a.length;c>b;b++)e=e.replace("%s",a[b]);return e},T=function(a){return 8===l&&a.loops>1&&a.stream&&(n("as2loop"),a.stream=!1),a},U=function(a,b){return a&&!a.usePolicyFile&&(a.onid3||a.usePeakData||a.useWaveformData||a.useEQData)&&(qa._wD((b||"")+O("policy")),a.usePolicyFile=!0),a},V=function(a){ab&&console.warn!==b?console.warn(a):qa._wD(a)},i=function(){return!1},L=function(a){var b;for(b in a)a.hasOwnProperty(b)&&"function"==typeof a[b]&&(a[b]=i);b=null},M=function(a){a===b&&(a=!1),(Ea||a)&&qa.disable(a)},N=function(a){var b,c=null;if(a)if(a.match(/\.swf(\?.*)?$/i)){if(c=a.substr(a.toLowerCase().lastIndexOf(".swf?")+4))return a}else a.lastIndexOf("/")!==a.length-1&&(a+="/");return b=(a&&-1!==a.lastIndexOf("/")?a.substr(0,a.lastIndexOf("/")+1):"./")+qa.movieURL,qa.noSWFCache&&(b+="?ts="+(new Date).getTime()),b},y=function(){l=parseInt(qa.flashVersion,10),8!==l&&9!==l&&(qa._wD(O("badFV",l,Ia)),qa.flashVersion=l=Ia);var a=qa.debugMode||qa.debugFlash?"_debug.swf":".swf";qa.useHTML5Audio&&!qa.html5Only&&qa.audioFormats.mp4.required&&9>l&&(qa._wD(O("needfl9")),qa.flashVersion=l=9),qa.version=qa.versionNumber+(qa.html5Only?" (HTML5-only mode)":9===l?" (AS3/Flash 9)":" (AS2/Flash 8)"),l>8?(qa.defaultOptions=p(qa.defaultOptions,qa.flash9Options),qa.features.buffering=!0,qa.defaultOptions=p(qa.defaultOptions,qa.movieStarOptions),qa.filePatterns.flash9=new RegExp("\\.(mp3|"+lb.join("|")+")(\\?.*)?$","i"),qa.features.movieStar=!0):qa.features.movieStar=!1,qa.filePattern=qa.filePatterns[8!==l?"flash9":"flash8"],qa.movieURL=(8===l?"soundmanager2.swf":"soundmanager2_flash9.swf").replace(".swf",a),qa.features.peakData=qa.features.waveformData=qa.features.eqData=l>8},J=function(a,b){return sa?void sa._setPolling(a,b):!1},K=function(){if(qa.debugURLParam.test(xa)&&(qa.debugMode=!0),h(qa.debugID))return!1;var a,b,c,d,e;if(qa.debugMode&&!h(qa.debugID)&&(!ab||!qa.useConsole||!qa.consoleOnly)){a=ya.createElement("div"),a.id=qa.debugID+"-toggle",d={position:"fixed",bottom:"0px",right:"0px",width:"1.2em",height:"1.2em",lineHeight:"1.2em",margin:"2px",textAlign:"center",border:"1px solid #999",cursor:"pointer",background:"#fff",color:"#333",zIndex:10001},a.appendChild(ya.createTextNode("-")),a.onclick=S,a.title="Toggle SM2 debug console",wa.match(/msie 6/i)&&(a.style.position="absolute",a.style.cursor="hand");for(e in d)d.hasOwnProperty(e)&&(a.style[e]=d[e]);if(b=ya.createElement("div"),b.id=qa.debugID,b.style.display=qa.debugMode?"block":"none",qa.debugMode&&!h(a.id)){try{c=G(),c.appendChild(a)}catch(f){throw new Error(O("domError")+" \n"+f.toString())}c.appendChild(b)}}c=null},W=this.getSoundById,n=function(a,b){return a?qa._wD(O(a),b):""},S=function(){var a=h(qa.debugID),b=h(qa.debugID+"-toggle");return a?(Aa?(b.innerHTML="+",a.style.display="none"):(b.innerHTML="-",a.style.display="block"),void(Aa=!Aa)):!1},m=function(c,d,e){if(a.sm2Debugger!==b)try{sm2Debugger.handleEvent(c,d,e)}catch(f){return!1}return!0},Q=function(){var a=[];return qa.debugMode&&a.push(R.sm2Debug),qa.debugFlash&&a.push(R.flashDebug),qa.useHighPerformance&&a.push(R.highPerf),a.join(" ")},P=function(){var a=O("fbHandler"),b=qa.getMoviePercent(),c=R,d={type:"FLASHBLOCK"};return qa.html5Only?!1:void(qa.ok()?(qa.didFlashBlock&&qa._wD(a+": Unblocked"),qa.oMC&&(qa.oMC.className=[Q(),c.swfDefault,c.swfLoaded+(qa.didFlashBlock?" "+c.swfUnblocked:"")].join(" "))):(Qa&&(qa.oMC.className=Q()+" "+c.swfDefault+" "+(null===b?c.swfTimedout:c.swfError),qa._wD(a+": "+O("fbTimeout")+(b?" ("+O("fbLoaded")+")":""))),qa.didFlashBlock=!0,t({type:"ontimeout",ignoreInit:!0,error:d}),I(d)))},s=function(a,c,d){za[a]===b&&(za[a]=[]),za[a].push({method:c,scope:d||null,fired:!1})},t=function(a){if(a||(a={type:qa.ok()?"onready":"ontimeout"}),!Da&&a&&!a.ignoreInit)return!1;if("ontimeout"===a.type&&(qa.ok()||Ea&&!a.ignoreInit))return!1;var b,c,d={success:a&&a.ignoreInit?qa.ok():!Ea},e=a&&a.type?za[a.type]||[]:[],f=[],g=[d],h=Qa&&!qa.ok();for(a.error&&(g[0].error=a.error),b=0,c=e.length;c>b;b++)e[b].fired!==!0&&f.push(e[b]);if(f.length)for(b=0,c=f.length;c>b;b++)f[b].scope?f[b].method.apply(f[b].scope,g):f[b].method.apply(this,g),h||(f[b].fired=!0);return!0},u=function(){a.setTimeout(function(){qa.useFlashBlock&&P(),t(),"function"==typeof qa.onload&&(n("onload",1),qa.onload.apply(a),n("onloadOK",1)),qa.waitForWindowLoad&&ha.add(a,"load",u)},1)},ka=function(){if(ja!==b)return ja;var c,d,e,f=!1,g=navigator,h=g.plugins,i=a.ActiveXObject;if(h&&h.length)d="application/x-shockwave-flash",e=g.mimeTypes,e&&e[d]&&e[d].enabledPlugin&&e[d].enabledPlugin.description&&(f=!0);else if(i!==b&&!wa.match(/MSAppHost/i)){try{c=new i("ShockwaveFlash.ShockwaveFlash")}catch(j){c=null}f=!!c,c=null}return ja=f,f},aa=function(){var a,b,c=qa.audioFormats,d=Ua&&!!wa.match(/os (1|2|3_0|3_1)\s/i);if(d?(qa.hasHTML5=!1,qa.html5Only=!0,qa.oMC&&(qa.oMC.style.display="none")):qa.useHTML5Audio&&(qa.html5&&qa.html5.canPlayType||(qa._wD("SoundManager: No HTML5 Audio() support detected."),qa.hasHTML5=!1),_a&&qa._wD(ua+"Note: Buggy HTML5 Audio in Safari on this OS X release, see https://bugs.webkit.org/show_bug.cgi?id=32159 - "+(ja?"will use flash fallback for MP3/MP4, if available":" would use flash fallback for MP3/MP4, but none detected."),1)),qa.useHTML5Audio&&qa.hasHTML5){_=!0;for(b in c)c.hasOwnProperty(b)&&c[b].required&&(qa.html5.canPlayType(c[b].type)?qa.preferFlash&&(qa.flash[b]||qa.flash[c[b].type])&&(a=!0):(_=!1,a=!0))}return qa.ignoreFlash&&(a=!1,_=!0),qa.html5Only=qa.hasHTML5&&qa.useHTML5Audio&&!a,!qa.html5Only},$=function(a){var b,c,d,e=0;if(a instanceof Array){for(b=0,c=a.length;c>b;b++)if(a[b]instanceof Object){if(qa.canPlayMIME(a[b].type)){e=b;break}}else if(qa.canPlayURL(a[b])){e=b;break}a[e].url&&(a[e]=a[e].url),d=a[e]}else d=a;return d},X=function(a){a._hasTimer||(a._hasTimer=!0,!$a&&qa.html5PollingInterval&&(null===Oa&&0===Na&&(Oa=setInterval(Z,qa.html5PollingInterval)),Na++))},Y=function(a){a._hasTimer&&(a._hasTimer=!1,!$a&&qa.html5PollingInterval&&Na--)},Z=function(){var a;if(null!==Oa&&!Na)return clearInterval(Oa),Oa=null,!1;for(a=qa.soundIDs.length-1;a>=0;a--)qa.sounds[qa.soundIDs[a]].isHTML5&&qa.sounds[qa.soundIDs[a]]._hasTimer&&qa.sounds[qa.soundIDs[a]]._onTimer()},I=function(c){c=c!==b?c:{},"function"==typeof qa.onerror&&qa.onerror.apply(a,[{type:c.type!==b?c.type:null}]),c.fatal!==b&&c.fatal&&qa.disable()},la=function(){if(!_a||!ka())return!1;var a,b,c=qa.audioFormats;for(b in c)if(c.hasOwnProperty(b)&&("mp3"===b||"mp4"===b)&&(qa._wD(ta+": Using flash fallback for "+b+" format"),qa.html5[b]=!1,c[b]&&c[b].related))for(a=c[b].related.length-1;a>=0;a--)qa.html5[c[b].related[a]]=!1},this._setSandboxType=function(a){var c=qa.sandbox;c.type=a,c.description=c.types[c.types[a]!==b?a:"unknown"],"localWithFile"===c.type?(c.noRemote=!0,c.noLocal=!1,n("secNote",2)):"localWithNetwork"===c.type?(c.noRemote=!1,c.noLocal=!0):"localTrusted"===c.type&&(c.noRemote=!1,c.noLocal=!1)},this._externalInterfaceOK=function(a){if(qa.swfLoaded)return!1;var b;return m("swf",!0),m("flashtojs",!0),qa.swfLoaded=!0,cb=!1,_a&&la(),a&&a.replace(/\+dev/i,"")===qa.versionNumber.replace(/\+dev/i,"")?void setTimeout(k,Wa?100:1):(b=ta+': Fatal: JavaScript file build "'+qa.versionNumber+'" does not match Flash SWF build "'+a+'" at '+qa.url+". Ensure both are up-to-date.",setTimeout(function(){throw new Error(b)},0),!1)},H=function(a,c){function d(){var a,b=[],c=[],d=" + ";a="SoundManager "+qa.version+(!qa.html5Only&&qa.useHTML5Audio?qa.hasHTML5?" + HTML5 audio":", no HTML5 audio support":""),qa.html5Only?qa.html5PollingInterval&&b.push("html5PollingInterval ("+qa.html5PollingInterval+"ms)"):(qa.preferFlash&&b.push("preferFlash"),qa.useHighPerformance&&b.push("useHighPerformance"),qa.flashPollingInterval&&b.push("flashPollingInterval ("+qa.flashPollingInterval+"ms)"),qa.html5PollingInterval&&b.push("html5PollingInterval ("+qa.html5PollingInterval+"ms)"),qa.wmode&&b.push("wmode ("+qa.wmode+")"),qa.debugFlash&&b.push("debugFlash"),qa.useFlashBlock&&b.push("flashBlock")),b.length&&(c=c.concat([b.join(d)])),qa._wD(a+(c.length?d+c.join(", "):""),1),na()}function e(a,b){return'<param name="'+a+'" value="'+b+'" />'}if(Ba&&Ca)return!1;if(qa.html5Only)return y(),d(),qa.oMC=h(qa.movieID),k(),Ba=!0,Ca=!0,!1;var f,g,i,j,l,m,n,o,p=c||qa.url,q=qa.altURL||p,r="JS/Flash audio component (SoundManager 2)",s=G(),t=Q(),u=null,v=ya.getElementsByTagName("html")[0];if(u=v&&v.dir&&v.dir.match(/rtl/i),a=a===b?qa.id:a,y(),qa.url=N(ib?p:q),c=qa.url,qa.wmode=!qa.wmode&&qa.useHighPerformance?"transparent":qa.wmode,null!==qa.wmode&&(wa.match(/msie 8/i)||!Wa&&!qa.useHighPerformance)&&navigator.platform.match(/win32|win64/i)&&(Pa.push(A.spcWmode),qa.wmode=null),f={name:a,id:a,src:c,quality:"high",allowScriptAccess:qa.allowScriptAccess,bgcolor:qa.bgColor,pluginspage:jb+"www.macromedia.com/go/getflashplayer",title:r,type:"application/x-shockwave-flash",wmode:qa.wmode,hasPriority:"true"},qa.debugFlash&&(f.FlashVars="debug=1"),qa.wmode||delete f.wmode,Wa)g=ya.createElement("div"),j=['<object id="'+a+'" data="'+c+'" type="'+f.type+'" title="'+f.title+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="'+jb+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0">',e("movie",c),e("AllowScriptAccess",qa.allowScriptAccess),e("quality",f.quality),qa.wmode?e("wmode",qa.wmode):"",e("bgcolor",qa.bgColor),e("hasPriority","true"),qa.debugFlash?e("FlashVars",f.FlashVars):"","</object>"].join("");else{g=ya.createElement("embed");for(i in f)f.hasOwnProperty(i)&&g.setAttribute(i,f[i])}if(K(),t=Q(),s=G())if(qa.oMC=h(qa.movieID)||ya.createElement("div"),qa.oMC.id)o=qa.oMC.className,qa.oMC.className=(o?o+" ":R.swfDefault)+(t?" "+t:""),qa.oMC.appendChild(g),Wa&&(l=qa.oMC.appendChild(ya.createElement("div")),l.className=R.swfBox,l.innerHTML=j),Ca=!0;else{if(qa.oMC.id=qa.movieID,qa.oMC.className=R.swfDefault+" "+t,m=null,l=null,qa.useFlashBlock||(qa.useHighPerformance?m={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"}:(m={position:"absolute",width:"6px",height:"6px",top:"-9999px",left:"-9999px"},u&&(m.left=Math.abs(parseInt(m.left,10))+"px"))),Xa&&(qa.oMC.style.zIndex=1e4),!qa.debugFlash)for(n in m)m.hasOwnProperty(n)&&(qa.oMC.style[n]=m[n]);try{Wa||qa.oMC.appendChild(g),s.appendChild(qa.oMC),Wa&&(l=qa.oMC.appendChild(ya.createElement("div")),l.className=R.swfBox,l.innerHTML=j),Ca=!0}catch(w){throw new Error(O("domError")+" \n"+w.toString())}}return Ba=!0,d(),!0},B=function(){return qa.html5Only?(H(),!1):sa?!1:qa.url?(sa=qa.getMovie(qa.id),sa||(Ja?(Wa?qa.oMC.innerHTML=Ka:qa.oMC.appendChild(Ja),Ja=null,Ba=!0):H(qa.id,qa.url),sa=qa.getMovie(qa.id)),"function"==typeof qa.oninitmovie&&setTimeout(qa.oninitmovie,1),oa(),!0):(n("noURL"),!1)},v=function(){setTimeout(w,1e3)},x=function(){a.setTimeout(function(){V(ua+"useFlashBlock is false, 100% HTML5 mode is possible. Rebooting with preferFlash: false..."),qa.setup({preferFlash:!1}).reboot(),qa.didFlashBlock=!0,qa.beginDelayedInit()},1)},w=function(){var b,c=!1;return qa.url?La?!1:(La=!0,ha.remove(a,"load",v),ja&&cb&&!bb?(n("waitFocus"),!1):(Da||(b=qa.getMoviePercent(),b>0&&100>b&&(c=!0)),void setTimeout(function(){return b=qa.getMoviePercent(),c?(La=!1,qa._wD(O("waitSWF")),a.setTimeout(v,1),!1):(Da||(qa._wD(ta+": No Flash response within expected time. Likely causes: "+(0===b?"SWF load failed, ":"")+"Flash blocked or JS-Flash security error."+(qa.debugFlash?" "+O("checkSWF"):""),2),!ib&&b&&(n("localFail",2),qa.debugFlash||n("tryDebug",2)),0===b&&qa._wD(O("swf404",qa.url),1),m("flashtojs",!1," (Check flash security or flash blockers)")),void(!Da&&db&&(null===b?qa.useFlashBlock||0===qa.flashLoadTimeout?(qa.useFlashBlock&&P(),n("waitForever")):!qa.useFlashBlock&&_?x():(n("waitForever"),t({type:"ontimeout",ignoreInit:!0,error:{type:"INIT_FLASHBLOCK"}})):0===qa.flashLoadTimeout?n("waitForever"):!qa.useFlashBlock&&_?x():M(!0))))},qa.flashLoadTimeout))):!1},z=function(){function b(){ha.remove(a,"focus",z)}return bb||!cb?(b(),!0):(db=!0,bb=!0,n("gotFocus"),La=!1,v(),b(),!0)},oa=function(){Pa.length&&(qa._wD("SoundManager 2: "+Pa.join(" "),1),Pa=[])},na=function(){oa();var a,b=[];if(qa.useHTML5Audio&&qa.hasHTML5){for(a in qa.audioFormats)qa.audioFormats.hasOwnProperty(a)&&b.push(a+" = "+qa.html5[a]+(!qa.html5[a]&&Qa&&qa.flash[a]?" (using flash)":qa.preferFlash&&qa.flash[a]&&Qa?" (preferring flash)":qa.html5[a]?"":" ("+(qa.audioFormats[a].required?"required, ":"")+"and no flash support)"));qa._wD("SoundManager 2 HTML5 support: "+b.join(", "),1)}},o=function(b){if(Da)return!1;if(qa.html5Only)return n("sm2Loaded",1),Da=!0,u(),m("onload",!0),!0;var c,d=qa.useFlashBlock&&qa.flashLoadTimeout&&!qa.getMoviePercent(),e=!0;return d||(Da=!0),c={type:!ja&&Qa?"NO_FLASH":"INIT_TIMEOUT"},qa._wD("SoundManager 2 "+(Ea?"failed to load":"loaded")+" ("+(Ea?"Flash security/load error":"OK")+") "+String.fromCharCode(Ea?10006:10003),Ea?2:1),Ea||b?(qa.useFlashBlock&&qa.oMC&&(qa.oMC.className=Q()+" "+(null===qa.getMoviePercent()?R.swfTimedout:R.swfError)),t({type:"ontimeout",error:c,ignoreInit:!0}),m("onload",!1),I(c),e=!1):m("onload",!0),Ea||(qa.waitForWindowLoad&&!Fa?(n("waitOnload"),ha.add(a,"load",u)):(qa.waitForWindowLoad&&Fa&&n("docLoaded"),u())),e},j=function(){var a,c=qa.setupOptions;for(a in c)c.hasOwnProperty(a)&&(qa[a]===b?qa[a]=c[a]:qa[a]!==c[a]&&(qa.setupOptions[a]=qa[a]))},k=function(){function b(){ha.remove(a,"load",qa.beginDelayedInit)}if(Da)return n("didInit"),!1;if(qa.html5Only)return Da||(b(),qa.enabled=!0,o()),!0;B();try{sa._externalInterfaceTest(!1),J(!0,qa.flashPollingInterval||(qa.useHighPerformance?10:50)),qa.debugMode||sa._disableDebug(),qa.enabled=!0,m("jstoflash",!0),qa.html5Only||ha.add(a,"unload",i)}catch(c){return qa._wD("js/flash exception: "+c.toString()),m("jstoflash",!1),I({type:"JS_TO_FLASH_EXCEPTION",fatal:!0}),M(!0),o(),!1}return o(),b(),!0},D=function(){return F?!1:(F=!0,j(),K(),function(){var a="sm2-usehtml5audio=",b="sm2-preferflash=",c=null,d=null,e=xa.toLowerCase();-1!==e.indexOf(a)&&(c="1"===e.charAt(e.indexOf(a)+a.length),ab&&console.log((c?"Enabling ":"Disabling ")+"useHTML5Audio via URL parameter"),qa.setup({useHTML5Audio:c})),-1!==e.indexOf(b)&&(d="1"===e.charAt(e.indexOf(b)+b.length),ab&&console.log((d?"Enabling ":"Disabling ")+"preferFlash via URL parameter"),qa.setup({preferFlash:d}))}(),!ja&&qa.hasHTML5&&(qa._wD("SoundManager 2: No Flash detected"+(qa.useHTML5Audio?". Trying HTML5-only mode.":", enabling HTML5."),1),qa.setup({useHTML5Audio:!0,preferFlash:!1})),ga(),!ja&&Qa&&(Pa.push(A.needFlash),qa.setup({flashLoadTimeout:1})),ya.removeEventListener&&ya.removeEventListener("DOMContentLoaded",D,!1),B(),!0)},fa=function(){return"complete"===ya.readyState&&(D(),ya.detachEvent("onreadystatechange",fa)),!0},E=function(){Fa=!0,D(),ha.remove(a,"load",E)},C=function(){$a&&((!qa.setupOptions.useHTML5Audio||qa.setupOptions.preferFlash)&&Pa.push(A.mobileUA),qa.setupOptions.useHTML5Audio=!0,qa.setupOptions.preferFlash=!1,(Ua||Va&&!wa.match(/android\s2\.3/i))&&(Pa.push(A.globalHTML5),Ua&&(qa.ignoreFlash=!0),Sa=!0))},C(),ka(),ha.add(a,"focus",z),ha.add(a,"load",v),ha.add(a,"load",E),ya.addEventListener?ya.addEventListener("DOMContentLoaded",D,!1):ya.attachEvent?ya.attachEvent("onreadystatechange",fa):(m("onload",!1),I({type:"NO_DOM2_EVENTS",fatal:!0}))}if(!a||!a.document)throw new Error("SoundManager requires a browser with window and document objects.");var d=null;void 0!==a.SM2_DEFER&&SM2_DEFER||(d=new c),"object"==typeof module&&module&&"object"==typeof module.exports?(a.soundManager=d,module.exports.SoundManager=c,module.exports.soundManager=d):"function"==typeof define&&define.amd?define("SoundManager",[],function(){return{SoundManager:c,soundManager:d}}):(a.SoundManager=c,a.soundManager=d)}(window),window.JST["apps/album/show/tpl/album_with_songs.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="album album--with-songs">\n <div class="region-album-side">\n <div class="region-album-meta"></div>\n </div>\n <div class="region-album-content">\n <div class="region-album-songs"></div>\n </div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/album/show/tpl/details_meta.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="region-details-top">\n <div class="region-details-title">\n <h2><span class="title">')),d(this.label),d(b('</span> <span class="sub"><a href="#music/albums?year=')),d(this.year),d(b('">')),d(this.year),d(b("</a></span></h2>\n </div>\n ")),this.rating&&(d(b('\n <div class="region-details-rating">\n ')),d(this.rating),d(b(" <i></i>\n </div>\n "))),d(b('\n</div>\n\n<div class="region-details-meta-below">\n\n <ul class="meta">\n ')),this.artist&&(d(b("\n <li><label>")),d(tr("artist")),d(b(':</label> <span><a href="#music/artist/')),d(this.artistid),d(b('">')),d(this.artist),d(b("</a></span></li>\n "))),d(b("\n ")),this.genre.length>0&&(d(b("\n <li><label>")),d(t.ngettext("genre","genres",this.genre.length)),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("music/albums","genre",this.genre))),d(b("</span></li>\n "))),d(b("\n ")),this.style.length&&(d(b("\n <li><label>")),d(t.ngettext("style","styles",this.style.length)),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("music/albums","style",this.style))),d(b("</span></li>\n "))),d(b("\n ")),this.albumlabel&&(d(b("\n <li><label>")),d(tr("label")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("music/albums","albumlabel",[this.albumlabel]))),d(b("</span></li>\n "))),d(b('\n </ul>\n\n <div class="description">')),d(this.description),d(b('</div>\n\n <ul class="inline-links">\n <li class="btn-flat-play play">')),d(tr("Play")),d(b('</li>\n <li class="btn-flat-add add">')),d(tr("Queue")),d(b('</li>\n <li class="btn-flat-stream localplay">')),d(tr("Stream")),d(b('</li>\n <li class="more-actions dropdown">\n <span class="btn-flat-more" data-toggle="dropdown" aria-expanded="true">')),d(tr("more")),d(b('</span>\n <ul class="dropdown-menu pull-right">\n <li class="localadd">')),d(tr("Add to playlist")),d(b('</li>\n <li class="divider"></li>\n <li class="dropdown-submenu internal-search">')),d(tr("Chorus Search")),d(b('\n <ul class="dropdown-menu">\n ')),d(b(helpers.entities.getAddonSearchMenuItems(this.label))),d(b('\n </ul>\n </li>\n <li class="dropdown-submenu external-search">')),d(tr("External Search")),d(b('\n <ul class="dropdown-menu">\n <li data-type="google" data-query="')),d(this.artist),d(b(" ")),d(this.label),d(b('">Google</li>\n <li data-type="soundcloud" data-query="')),d(this.artist),d(b('">SoundCloud</li>\n </ul>\n </li>\n <li class="youtube-search" data-query="')),d(this.artist),d(b(" ")),d(this.label),d(b('">')),d(tr("YouTube Search")),d(b('</li>\n <li class="divider"></li>\n <li class="edit">')),d(tr("Edit")),d(b("</li>\n </ul>\n </li>\n </ul>\n\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/artist/show/tpl/details_meta.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="region-details-top">\n <div class="region-details-title">\n <h2>')),d(this.label),d(b('</h2>\n </div>\n</div>\n\n<div class="region-details-meta-below">\n\n <ul class="meta">\n ')),this.genre.length>0&&(d(b("\n <li><label>")),d(t.ngettext("genre","genres",this.genre.length)),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("music/artists","genre",this.genre))),d(b("</span></li>\n "))),d(b("\n ")),this.style.length&&(d(b("\n <li><label>")),d(t.ngettext("style","styles",this.style.length)),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("music/artists","style",this.style))),d(b("</span></li>\n "))),d(b("\n ")),this.formed&&(d(b("\n <li><label>")),d(tr("formed")),d(b(":</label> <span>")),d(this.formed),d(b("</span></li>\n "))),d(b("\n ")),this.yearsactive&&this.yearsactive.length>0&&(d(b("\n <li><label>")),d(tr("years active")),d(b(":</label> <span>")),d(this.yearsactive),d(b("</span></li>\n "))),d(b("\n ")),this.born&&(d(b("\n <li><label>")),d(tr("born")),d(b(":</label> <span>")),d(this.born),d(b("</span></li>\n "))),d(b("\n ")),this.died&&(d(b("\n <li><label>")),d(tr("died")),d(b(":</label> <span>")),d(this.died),d(b("</span></li>\n "))),d(b("\n ")),this.disbanded&&(d(b("\n <li><label>")),d(tr("disbanded")),d(b(":</label> <span>")),d(this.disbanded),d(b("</span></li>\n "))),d(b('\n </ul>\n\n <div class="description">')),d(this.description),d(b('</div>\n\n <ul class="inline-links">\n <li class="btn-flat-play play">')),d(tr("Play")),d(b('</li>\n <li class="btn-flat-add add">')),d(tr("Queue")),d(b('</li>\n <li class="btn-flat-stream localplay">')),d(tr("Stream")),d(b('</li>\n <li class="more-actions dropdown">\n <span class="btn-flat-more" data-toggle="dropdown" aria-expanded="true">')),d(tr("more")),d(b('</span>\n <ul class="dropdown-menu pull-right">\n <li class="localadd">')),d(tr("Add to playlist")),d(b('</li>\n <li class="divider"></li>\n <li class="dropdown-submenu internal-search">')),d(tr("Chorus Search")),d(b('\n <ul class="dropdown-menu">\n ')),d(b(helpers.entities.getAddonSearchMenuItems(this.label))),d(b('\n </ul>\n </li>\n <li class="dropdown-submenu external-search">')),d(tr("External Search")),d(b('\n <ul class="dropdown-menu">\n <li data-type="google" data-query="')),d(this.label),d(b('">Google</li>\n <li data-type="soundcloud" data-query="')),d(this.label),d(b('">SoundCloud</li>\n </ul>\n </li>\n <li class="youtube-search" data-query="')),d(this.label),d(b('">')),d(tr("YouTube Search")),d(b('</li>\n <li class="divider"></li>\n <li class="edit">')),d(tr("Edit")),d(b("</li>\n </ul>\n </li>\n </ul>\n\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/browser/list/tpl/back_button.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<i class="mdi thumb"></i><div class="title">')),d(t.gettext("Back")),d(b("</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/browser/list/tpl/file.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="thumb" style="background-image: url(\'')),d(this.thumbnail),d(b('\')"><div class="mdi play"></div></div>\n<div class="title" title="')),d(helpers.global.stripTags(this.label)),d(b('">')),d(b(this.label)),d(b('</div>\n<ul class="actions">\n <li class="menu dropdown">\n <i data-toggle="dropdown" class="mdi"></i>\n <ul class="dropdown-menu pull-right"></ul>\n </li>\n</ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/browser/list/tpl/folder_layout.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="folder-layout">\n <div class="loading-bar"><div class="inner"><div class="loader-small-inline"></div> <span>')),d(tr("Loading folder...")),d(b('</span></div></div>\n <div class="path"></div>\n <ul class="actions">\n <li class="dropdown sort-wrapper">\n <i class="sort-toggle" data-toggle="dropdown" title="')),d(tr("Sort")),d(b('"></i>\n <ul class="sorts dropdown-menu pull-right">\n <li data-sort="none">')),d(tr("default")),d(b('<i></i></li>\n <li data-sort="label">')),d(tr("title")),d(b('<i></i></li>\n <li data-sort="dateadded">')),d(tr("date added")),d(b('<i></i></li>\n <li data-sort="random">')),d(tr("random")),d(b('<i></i></li>\n </ul>\n </li>\n <li class="dropdown context-wrapper">\n <i class="context-toggle" data-toggle="dropdown" title="')),d(tr("Actions")),d(b('"></i>\n <ul class="dropdown-menu pull-right">\n <li class="play">')),
+d(tr("play files")),d(b('<i></i></li>\n <li class="queue">')),d(tr("queue files")),d(b('<i></i></li>\n </ul>\n </li>\n </ul>\n\n\n <div class="folder-container">\n <div class="files">\n </div>\n <div class="folders-pane">\n <div class="back"></div>\n <div class="folders">\n <div class="intro">\n <h3><span class="mdi-navigation-arrow-back text-dim"></span> ')),d(tr("Browse files and add-ons")),d(b("</h3>\n <p>")),d(tr("This is where you can browse all Kodi content, not just what is in the library. Browse by source or add-on.")),d(b("</p>\n </div>\n </div>\n </div>\n </div>\n</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/browser/list/tpl/path.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="title">')),d(this.label),d(b("</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/browser/list/tpl/source.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="source source-')),d(this.media),d(b('">\n ')),d(this.label),d(b("\n</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/browser/list/tpl/source_set.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("<h3>")),d(this.label),d(b('</h3>\n<ul class="sources"></ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/cast/list/tpl/cast.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<a href="#')),d(this.origin),d(b("?cast=")),d(this.name),d(b('" title="')),d(this.name),d(b(" (")),d(this.role),d(b(')">\n <div class="thumb">\n <img src="')),d(this.thumbnail),d(b('" />\n </div>\n <div class="meta">\n <strong>')),d(this.name),d(b('</strong>\n <span title="')),d(this.role),d(b('">')),d(this.role),d(b('</span>\n </div>\n</a>\n<ul class="actions">\n <li class="imdb" title="IMDb search ')),d(this.name),d(b('"></li>\n <li class="google" title="Google search ')),d(this.name),d(b('"></li>\n</ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/category/list/tpl/item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<a href="#')),d(this.url),d(b('">\n <span>')),d(this.title),d(b("</span>\n</a>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/epg/list/tpl/channel.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("<h3>")),d(this.channel),d(b('</h3>\n<ul class="items">\n <li class="play">')),d(tr("Play")),d(b('</li>\n <li class="record">')),d(tr("Record")),d(b("</li>\n</ul>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/epg/list/tpl/programme.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="title">\n <strong>')),d(this.label),d(b('</strong>\n</div>\n<div class="date">\n ')),d(this.start.toString("h:mmtt").toLowerCase()),d(b(" - ")),d(this.end.toString("h:mmtt").toLowerCase()),d(b(" (")),d(this.runtime),d(b("min)<br />\n ")),d(this.start.toString("dddd, dS MMM")),d(b('\n</div>\n<div class="plot">')),d(this.plot),d(b('</div>\n<div class="entity-progress">\n <div class="current-progress" style="width: ')),d(this.progresspercentage),d(b('%" title="')),d(Math.round(this.progresspercentage)),d(b("% ")),d(tr("complete")),d(b('"></div>\n</div>\n<ul class="actions">\n ')),this.isactive?(d(b('\n <li class="play" title="')),d(tr("Play")),d(b('"></li>\n <li class="record" title="')),d(tr("Record")),d(b('"></li>\n '))):(d(b("\n ")),this.wasactive||(d(b('\n <li class="toggle-timer" title="')),d(tr("Toggle timer")),d(b('"></li>\n '))),d(b("\n "))),d(b("\n</ul>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/external/youtube/tpl/youtube.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<img src="')),d(this.thumbnail),d(b('" class="thumb" />\n<h3>')),d(this.title),d(b('</h3>\n<span class="play-kodi flat-btn action">Play in Kodi</span>\n<span class="play-local flat-btn action">Play in browser</span>\n'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/filter/show/tpl/filter_options.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="options-search-wrapper">\n <input class="options-search" value="" />\n</div>\n<div class="deselect-all">')),d(t.gettext("Deselect all")),d(b('</div>\n<ul class="selection-list"></ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/filter/show/tpl/filters_bar.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<span class="filters-active-all">')),d(this.filters),d(b('</span><i class="remove"></i>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/filter/show/tpl/filters_ui.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="filters-container">\n\n <div class="filters-current filter-pane">\n <div class="nav-section"></div>\n\n <h3 class="open-filters">')),d(t.gettext("Filters")),d(b('<i></i></h3>\n <div class="filters-active"></div>\n\n <h3>')),d(t.gettext("Sort")),d(b('</h3>\n <div class="list sort-options"></div>\n </div>\n\n <div class="filters-page filter-pane">\n <h3 class="close-filters">')),d(t.gettext("Select a filter")),d(b('</h3>\n <div class="list filters-list"></div>\n </div>\n\n <div class="filters-options filter-pane">\n <h3 class="close-options">')),d(t.gettext("Select an option")),d(b('</h3>\n <div class="list filter-options-list"></div>\n </div>\n\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/filter/show/tpl/list_item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b(this.title))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/help/overview/tpl/overview.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("<h1>")),d(tr("About Chorus")),d(b("</h1>\n<h2>")),d(tr("Status report")),d(b('</h2>\n<div class="help--overview--report">\n <ul>\n <li class="report-chorus-version"><strong>Chorus ')),d(tr("version")),d(b('</strong><span></span></li>\n <li class="report-kodi-version"><strong>Kodi ')),d(tr("version")),d(b('</strong><span></span></li>\n <li class="report-websockets"><strong>')),d(tr("Remote control")),d(b('</strong><span></span></li>\n <li class="report-local-audio"><strong>')),d(tr("Local audio")),d(b('</strong><span></span></li>\n </ul>\n</div>\n<div class="help--overview--header"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/input/remote/tpl/remote_control.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div id="remote-background" class="close-remote"></div>\n<div class="remote kodi-remote">\n <div class="toggle-visibility"></div>\n <div class="playing-area">\n\n </div>\n <div class="main-controls">\n <div class="direction">\n <div class="pad">\n <div class="ibut mdi-hardware-keyboard-arrow-left left input-button" data-type="Left"></div>\n <div class="ibut mdi-hardware-keyboard-arrow-up up input-button" data-type="Up"></div>\n <div class="ibut mdi-hardware-keyboard-arrow-down down input-button" data-type="Down"></div>\n <div class="ibut mdi-hardware-keyboard-arrow-right right input-button" data-type="Right"></div>\n <div class="ibut mdi-image-brightness-1 ok input-button" data-type="Select"></div>\n </div>\n </div>\n <div class="buttons">\n <div class="ibut mdi-action-settings-power power-button"></div>\n <div class="ibut mdi-navigation-more-vert input-button" data-type="ContextMenu"></div>\n <div class="ibut mdi-action-info info-button" data-type="Info"></div>\n </div>\n </div>\n <div class="secondary-controls">\n <div class="ibut mdi-hardware-keyboard-return input-button" data-type="Back"></div>\n <div class="ibut mdi-av-stop player-button" data-type="Stop"></div>\n <div class="ibut mdi-maps-store-mall-directory input-button" data-type="Home"></div>\n </div>\n\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/lab/apiBrowser/tpl/api_browser_landing.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="api-browser--landing page">\n <h2>')),d(t.gettext("Kodi API browser")),d(b('</h2>\n <h4><a href="#lab">')),d(t.gettext("Chorus lab")),d(b('</a></h4>\n <div class="api-browser--content">\n <p>')),d(t.gettext("This is a tool to test out the api. Select a method then execute it with parameters.")),d(b('</p>\n <br />\n <div class="alert alert-dismissable alert-warning">\n <button type="button" class="close" data-dismiss="alert">×</button>\n <h4>')),d(t.gettext("Warning")),d(b("</h4>\n <p>")),d(t.gettext("You could potentially damage your system with this and there are no sanity checks. Use at own risk.")),d(b("<br /></p>\n </div>\n </div>\n</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/lab/apiBrowser/tpl/api_method_item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="api-method--item">\n <h4 class="method">')),d(this.method),d(b('</h4>\n <p class="description">')),d(this.description),d(b("</p>\n</div>\n\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/lab/apiBrowser/tpl/api_method_list.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="api-methods--list">\n <p class="search-box"><input type="text" id="api-search" class="api-methods--search" /></p>\n <ul class="items"></ul>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/lab/apiBrowser/tpl/api_method_page.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('\n<div class="api-method--info page">\n <h2 class="method"><a href="http://kodi.wiki/view/JSON-RPC_API/v6#')),d(this.method),d(b('" target="_blank">')),d(this.method),d(b('</a></h2>\n <p class="description">')),d(this.description),d(b("</p>\n\n</div>\n\n")),"method"===this.type&&(d(b('\n <div class="api-method--execute">\n <h3>Execute <strong>')),d(this.method),d(b('</strong> with these params:</h3>\n <textarea class="api-method--params" placeholder=\'Eg. ["arg", "foo", true]\'></textarea>\n <p class="description">Parameters get parsed by\n <a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse" target="_blank">JSON.parse</a>.\n Check the console for response objects, you will get an \'unexpected token\' error if parsing failed.\n Params should be an array \'[]\' matching below \'Method params\'. Only use double quotes for strings/keys.\n </p>\n <p class="description">\n Pass params as array Eg. [true] or [255, ["born", "formed", "thumbnail"]] or [] or [255]. Brackets required.<br />\n Pass params as object Eg. {songid: 255} or {songid: 255, fields: ["born", "formed", "thumbnail"]}. Braces required.<br />\n </p>\n <p><button class="btn btn-primary" id="send-command">Send Command</button></p>\n\n </div>\n'))),d(b('\n\n<div class="api-method--result" id="api-result"></div>\n\n<h3>')),"method"===this.type&&d(b("Method ")),d(b('Params</h3>\n<div class="api-method--params"></div>\n\n')),"method"===this.type&&d(b('\n <hr />\n <h3>Method Returns</h3>\n <div class="api-method--return"></div>\n'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/lab/iconBrowser/tpl/icon_browser_page.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<h3>Material Icons</h3>\n<ul id="icons-material"></ul>\n\n<h3>Custom Icons</h3>\n<ul id="icons-custom"></ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/lab/lab/tpl/lab_item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<a class="lab-item" href="#')),d(this.path),d(b('">\n <h4>')),d(this.title),d(b("</h4>\n <p>")),d(this.description),d(b("</p>\n</a>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/landing/show/tpl/landing_page.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<a id="landing-hero"></a>\n<div class="landing-sections">\n <div id="landing-section-1"></div>\n <div id="landing-section-2"></div>\n <div id="landing-section-3"></div>\n <div id="landing-section-4"></div>\n <div id="landing-section-5"></div>\n <div id="landing-section-6"></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/landing/show/tpl/landing_set.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<h3 class="set-header"></h3>\n<div class="set-results landing-section"></div>\n<div class="more"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/loading/show/tpl/loading_page.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div id="loading-page">\n <div class="spinner-double-section-far"></div>\n <h2>')),d(t.gettext("Just a sec...")),d(b("</h2>\n</div>\n\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/localPlaylist/list/tpl/playlist.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<span class="item">')),d(b(this.title)),d(b("</span>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/localPlaylist/list/tpl/playlist_layout.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="local-playlist-header">\n <h2></h2>\n <div class="dropdown">\n <i data-toggle="dropdown"></i>\n <ul class="dropdown-menu">\n <li class="play">')),d(tr("Play in Kodi")),d(b('</li>\n <li class="localplay">')),d(tr("Play in browser")),d(b('</li>\n <li class="export">')),d(tr("Export list")),d(b('</li>\n <div class="divider"></div>\n <li class="rename">')),d(tr("Rename playlist")),d(b('</li>\n <li class="clear">')),d(tr("Clear playlist")),d(b('</li>\n <li class="delete">')),d(tr("Delete playlist")),d(b('</li>\n </ul>\n </div>\n</div>\n<div class="item-container">\n <div class="empty-content">')),d(t.gettext("Empty playlist, you should probably add something to it?")),d(b("</div>\n</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/localPlaylist/list/tpl/playlist_list.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<h3></h3>\n<ul class="lists"></ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/localPlaylist/list/tpl/playlist_sidebar_layout.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="current-lists"></div>\n<div class="new-list">')),d(tr("New playlist")),d(b("</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/movie/show/tpl/content.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="section-content">\n <h2>')),d(t.gettext("Synopsis")),d(b("</h2>\n ")),this.mediaTrailer&&"youtube"===this.mediaTrailer.source&&(d(b('\n <div class="trailer ')),d(this.mediaTrailer.source),d(b('">\n <img src="')),d(b(this.mediaTrailer.img)),d(b('" />\n </div>\n '))),d(b("\n <p>")),d(this.plot),d(b('</p>\n <ul class="inline-links">\n <li>')),d(b(helpers.url.imdbUrl(this.imdbnumber,"View on IMDb"))),d(b("</li>\n </ul>\n</div>\n\n")),this.cast.length>0&&(d(b('\n <div class="section-content">\n <h2>')),d(t.gettext("Full cast")),d(b('</h2>\n <div class="region-cast"></div>\n </div>\n'))),d(b('\n\n<div class="region-more-1"></div>\n<div class="region-more-2"></div>\n<div class="region-more-3"></div>\n<div class="region-more-4"></div>\n<div class="region-more-5"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/movie/show/tpl/details_meta.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){var a,c,e,f;if(d(b('<div class="region-details-top">\n <div class="region-details-title">\n <h2><span class="title">')),d(this.label),d(b('</span> <span class="sub"><a href="#movies?year=')),d(this.year),d(b('">')),d(this.year),d(b('</a></span></h2>\n </div>\n <div class="region-details-rating">\n ')),d(this.rating),d(b(' <i></i>\n </div>\n</div>\n\n<div class="region-details-meta-below">\n\n <div class="region-details-subtext">\n <div class="runtime">\n ')),d(helpers.global.formatTime(helpers.global.secToTime(this.runtime))),d(b('\n </div>\n </div>\n\n <div class="tagline">')),d(this.plotoutline),d(b('</div>\n\n <ul class="meta">\n ')),this.genre.length>0&&(d(b("\n <li><label>")),d(t.gettext("genre")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","genre",this.genre))),d(b("</span></li>\n "))),d(b("\n ")),this.director.length>0&&(d(b("\n <li><label>")),d(t.ngettext("Director","Directors",this.director.length)),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("movies","director",this.director))),d(b("</span></li>\n "))),d(b("\n ")),this.writer.length>0&&(d(b("\n <li><label>")),d(t.ngettext("Writer","Writers",this.writer.length)),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("movies","writer",this.writer))),d(b("</span></li>\n "))),d(b("\n ")),this.cast.length>0&&(d(b("\n <li><label>")),d(t.gettext("Cast")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("movies","cast",_.pluck(this.cast,"name")))),d(b("</span></li>\n "))),d(b("\n ")),this.mpaa&&(d(b("\n <li><label>")),d(t.gettext("rated")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("movies","mpaa",[this.mpaa]))),d(b("</span></li>\n "))),d(b('\n </ul>\n\n <ul class="streams">\n ')),this.streamdetails.video.length>0&&(d(b("\n <li><label>")),d(t.gettext("Video")),d(b(":</label> <span>")),d(_.pluck(this.streamdetails.video,"label").join(", ")),d(b("</span></li>\n "))),d(b("\n ")),this.streamdetails.audio.length>0&&(d(b("\n <li><label>")),d(t.gettext("Audio")),d(b(":</label> <span>")),d(_.pluck(this.streamdetails.audio,"label").join(", ")),d(b("</span></li>\n "))),d(b("\n ")),this.streamdetails.subtitle.length>0&&""!==this.streamdetails.subtitle[0].label){for(d(b("\n <li><label>")),d(t.ngettext("Subtitle","Subtitles",this.streamdetails.subtitle.length)),d(b(':</label>\n <span class="dropdown"><span data-toggle="dropdown">')),d(_.pluck(this.streamdetails.subtitle,"label").join(", ")),d(b('</span>\n <ul class="dropdown-menu">\n ')),e=this.streamdetails.subtitle,a=0,c=e.length;c>a;a++)f=e[a],d(b("\n <li>")),d(f.label),d(b("</li>\n "));d(b("\n </ul>\n </span>\n </li>\n "))}d(b('\n </ul>\n\n <ul class="inline-links">\n <li class="btn-flat-play play">')),d(t.gettext("Play")),d(b('</li>\n <li class="btn-flat-add add">')),d(tr("Queue")),d(b('</li>\n <li class="btn-flat-stream stream">')),d(t.gettext("Stream")),d(b('</li>\n <li class="btn-flat-watched watched">\n ')),d(t.gettext("set")),d(b(' <span class="action-watched">')),d(t.gettext("watched")),d(b('</span><span class="action-unwatched">')),d(t.gettext("unwatched")),d(b('</span>\n </li>\n <li class="more-actions dropdown">\n <span class="btn-flat-more" data-toggle="dropdown" aria-expanded="true">')),d(tr("more")),d(b('</span>\n <ul class="dropdown-menu pull-right">\n <li class="download">')),d(tr("Download")),d(b('</li>\n <li class="divider"></li>\n <li class="dropdown-submenu internal-search">')),d(tr("Chorus Search")),d(b('\n <ul class="dropdown-menu">\n ')),d(b(helpers.entities.getAddonSearchMenuItems(this.label))),d(b('\n </ul>\n </li>\n <li class="dropdown-submenu external-search">')),d(tr("External Search")),d(b('\n <ul class="dropdown-menu">\n <li data-type="google" data-query="')),d(this.label),d(b('">Google</li>\n <li data-type="imdb" data-query="')),d(this.label),d(b('">IMDb</li>\n <li data-type="tmdb" data-query="')),d(this.label),d(b('">TVDb</li>\n </ul>\n </li>\n <li class="youtube-search" data-query="')),d(this.label),d(b('">')),d(tr("YouTube Search")),d(b('</li>\n <li class="divider"></li>\n <li class="refresh">')),d(tr("Refresh")),d(b('</li>\n <li class="edit">')),d(tr("Edit")),d(b("</li>\n </ul>\n </li>\n </ul>\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/movie/show/tpl/set.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="section-content">\n <div class="set-collection">\n <h2 class="set-name"></h2>\n <div class="collection-items"></div>\n </div>\n</div>'));
+}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/navMain/show/tpl/navMain.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){var a,c,e,f,g,h,i,j;for(d(b('<div id="nav-header"></div>\n<nav>\n <ul>\n ')),i=this.items,c=0,g=i.length;g>c;c++)if(e=i[c],"undefined"!==e.path&&0===e.parent){if(d(b('\n <li class="')),d(e["class"]),d(b('">\n <a href="#')),d(e.path),d(b('">\n <i class="')),d(e.icon),d(b('"></i>\n <span>')),d(e.title),d(b("</span>\n </a>\n\n ")),0!==e.children.length){for(d(b("\n <ul>\n ")),j=e.children,f=0,h=j.length;h>f;f++)a=j[f],"undefined"!==a.path&&(d(b('\n <li><a href="#')),d(a.path),d(b('">')),d(a.title),d(b("</a></li>\n ")));d(b("\n </ul>\n "))}d(b("\n </li>\n "))}d(b("\n </ul>\n</nav>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/navMain/show/tpl/nav_item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b(this.link))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/navMain/show/tpl/nav_sub.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("<h3>")),d(this.title),d(b('</h3>\n<ul class="items"></ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/player/show/tpl/player.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="player">\n\n <div class="controls-primary">\n <div class="controls-primary-buttons">\n <div class="control control-prev"></div>\n <div class="control control-play"></div>\n <div class="control control-next"></div>\n </div>\n </div>\n\n <div class="controls-secondary">\n <div class="volume slider-bar"></div>\n <div class="controls-secondary-buttons">\n <div class="control control-mute"></div>\n <div class="control control-repeat"></div>\n <div class="control control-shuffle"></div>\n <div class="control control-menu"></div>\n </div>\n </div>\n\n <div class="now-playing">\n <div class="playing-thumb thumb">\n <div class="mdi remote-toggle"></div>\n </div>\n <div class="playing-info">\n <div class="playing-progress slider-bar"></div>\n <div class="playing-time">\n <div class="playing-time-current">0</div>\n <div class="playing-time-duration">0:00</div>\n </div>\n <div class="playing-meta">\n <div class="playing-title">')),d(t.gettext("Nothing playing")),d(b('</div>\n <div class="playing-subtitle"></div>\n </div>\n </div>\n </div>\n\n</div>\n'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/playlist/list/tpl/playlist_bar.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="playlist-header">\n <ul class="player-toggle">\n <li class="kodi">')),d(t.gettext("Kodi")),d(b('</li>\n <li class="local">')),d(t.gettext("Local")),d(b('</li>\n </ul>\n <div class="playlist-menu dropdown">\n <i data-toggle="dropdown" class="menu-toggle"></i>\n <ul class="dropdown-menu pull-right">\n <li class="dropdown-header">')),d(t.gettext("Current playlist")),d(b('</li>\n <li><a href="#" class="clear-playlist">')),d(t.gettext("Clear playlist")),d(b('</a></li>\n <li><a href="#" class="refresh-playlist">')),d(t.gettext("Refresh playlist")),d(b('</a></li>\n <li class="dropdown-header">')),d(t.gettext("Kodi")),d(b('</li>\n <li><a href="#" class="party-mode">')),d(t.gettext("Party mode")),d(b(' <i class="mdi-navigation-check"></i></a></li>\n <li><a href="#" class="save-playlist">')),d(t.gettext("Save Kodi playlist")),d(b('</a></li>\n </li>\n </ul>\n </div>\n</div>\n<div class="playlists-wrapper">\n <div class="kodi-playlists">\n <ul class="media-toggle">\n <li class="audio">')),d(t.gettext("Audio")),d(b('</li>\n <li class="video">')),d(t.gettext("Video")),d(b('</li>\n </ul>\n <div class="kodi-playlist"></div>\n </div>\n <div class="local-playlists">\n <div class="local-playlist"></div>\n </div>\n</div>\n'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/playlist/list/tpl/playlist_item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="item-inner item-')),d(this.type),d(b('">\n <div class="artwork">\n <div class="thumb" title="')),d(this.label),d(b('" style="background-image: url(\'')),d(this.thumbnail),d(b('\')">\n <div class="mdi play"></div>\n ')),this.canThumbsUp&&d(b('\n <div class="mdi thumbs"></div>\n ')),d(b('\n </div>\n </div>\n <div class="meta">\n <div class="title"><a href="#')),d(this.url),d(b('" title="')),d(this.label),d(b('">')),d(this.label),d(b("</a></div>\n ")),null!=this.subtitle&&(d(b('\n <div class="subtitle">')),d(b(this.subtitle)),d(b("</div>\n "))),d(b('\n </div>\n <div class="remove"></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/playlist/m3u/tpl/list.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){var a,c,e,f;for(d(b("#EXTCPlayListM3U::M3U\n")),f=this.items,a=0,e=f.length;e>a;a++)c=f[a],d(b("#EXTINF:")),d(c.duration),d(b(",")),d(c.artist.join("/")),d(b(" - ")),d(c.label),d(b("\n")),d(c.file),d(b("\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/playlist/show/tpl/landing.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="playlist-page playlist-page__empty set-page">\n <h3>')),d(t.gettext("Now playing - Playlists")),d(b("</h3>\n <p>")),d(t.gettext("Switch between Kodi and local playback via the tabs. You can toggle visibility with the arrow in the top right")),d(b("</p>\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/pvr/recordingList/tpl/recording.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="title">\n <strong>')),d(this.label),d(b("</strong> <span>- ")),d(this.channel),d(b('</span>\n</div>\n<div class="date">\n ')),d(this.start.toString("h:mmtt").toLowerCase()),d(b(" -\n ")),"1970"!==this.end.toString("yyyy")?(d(b("\n ")),d(this.end.toString("h:mmtt").toLowerCase()),d(b("\n (")),d(helpers.global.formatTime(helpers.global.secToTime(this.runtime))),d(b(")\n "))):(d(b("\n ")),d(tr("Now")),d(b("\n "))),d(b("\n\n <br />")),d(this.start.toString("dddd, dS MMM")),d(b('\n</div>\n<div class="plot">')),d(this.plot),d(b('</div>\n<div class="entity-progress">\n <div class="current-progress" style="width: ')),d(this.progress),d(b('%" title="')),d(this.progress),d(b("% ")),d(t.gettext("complete")),d(b('"></div>\n</div>\n<ul class="actions">\n <li class="play"></li>\n</ul>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/search/list/tpl/search_layout.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="search-inner">\n <div class="entity-set entity-set-movie"></div>\n <div class="entity-set entity-set-tvshow"></div>\n <div class="entity-set entity-set-artist"></div>\n <div class="entity-set entity-set-album"></div>\n <div class="entity-set entity-set-song"></div>\n <div class="entity-set entity-set-loading"></div>\n <div class="entity-set entity-set-addons"></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/search/list/tpl/search_set.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<h2 class="set-header"></h2>\n<div class="set-results"></div>\n<div class="more"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/search/list/tpl/search_sidebar.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="sidebar-section sidebar-section-media">\n <h3>Local media</h3>\n <ul class="search-media-links"></ul>\n</div>\n\n<div class="sidebar-section sidebar-section-addon">\n <h3>Addons</h3>\n <ul class="search-addon-links"></ul>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/search/show/tpl/landing.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="search-page search-page__empty set-page">\n <h3>')),d(t.gettext("Enter your search above")),d(b("</h3>\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/settings/show/tpl/settings_sidebar.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="settings-sidebar">\n <div class="settings-sidebar--section local-nav nav-sub"></div>\n <div class="settings-sidebar--section kodi-nav"></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/shell/show/tpl/homepage.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div id="homepage"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/shell/show/tpl/shell.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div id="shell">\n\n <a id="logo" href="#"></a>\n\n <div id="nav-bar"></div>\n\n <div id="header">\n\n <h1 id="page-title">\n <span class="context"></span>\n <span class="title"></span>\n </h1>\n\n <ul class="mobile-menu">\n <li><a href="#remote" class="mobile-menu--link__remote remote-toggle"><i></i></a></li>\n <li><a href="#search" class="mobile-menu--link__search"><i></i></a></li>\n <li><a href="#playlist" class="mobile-menu--link__playlist"><i></i></a></li>\n </ul>\n\n <div id="selected-region">\n <div class="selected-text">\n <span id="selected-count"></span>\n </div>\n <i data-toggle="dropdown" class="menu-toggle"></i>\n <ul class="dropdown-menu pull-right">\n <li class="selected-play">')),d(tr("Play in Kodi")),d(b('</li>\n <li class="selected-add">')),d(tr("Queue in Kodi")),d(b('</li>\n <li class="selected-localadd">')),d(tr("Add to playlist")),d(b('</li>\n </ul>\n </div>\n\n <div id="search-region">\n <input id="search" title="Search">\n <span id="do-search"></span>\n </div>\n\n </div>\n\n <div id="main">\n\n <div id="sidebar-one"></div>\n\n <div id="content">')),d(tr("Loading things...")),d(b('</div>\n\n </div>\n\n <div id="sidebar-two">\n <div class="playlist-toggle-open"></div>\n <div id="playlist-summary"></div>\n <div id="playlist-bar"></div>\n </div>\n\n <div id="remote"></div>\n\n <div id="player-wrapper">\n <footer id="player-kodi"></footer>\n <footer id="player-local"></footer>\n </div>\n\n <div class="player-menu-wrapper">\n <ul class="player-menu">\n <li class="video-scan">')),d(t.gettext("Scan video library")),d(b('</li>\n <li class="audio-scan">')),d(t.gettext("Scan audio library")),d(b('</li>\n <li class="send-input">')),d(t.gettext("Send text to Kodi")),d(b('</li>\n <li class="goto-lab">')),d(t.gettext("The lab")),d(b('</li>\n <li class="about">')),d(t.gettext("About Chorus")),d(b('</li>\n </ul>\n </div>\n\n</div>\n\n<div id="fanart"></div>\n<div id="fanart-overlay"></div>\n\n<div id="snackbar-container"></div>\n\n<div class="modal fade" id="modal-window">\n <div class="modal-dialog">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n <h4 class="modal-title"></h4>\n </div>\n <div class="modal-body"></div>\n <div class="modal-footer"></div>\n </div>\n </div>\n</div>\n\n<div id="offscreen"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/song/list/tpl/song.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<td class="cell-first">\n <div class="thumb" style="background-image: url(\'')),d(this.thumbnail),d(b('\')">\n </div>\n <div class="track">')),d(this.track),d(b('</div>\n <div class="mdi play"></div>\n</td>\n<td class="cell-label song-title"><span class="crop">')),d(this.label),d(b('</span></td>\n<td class="cell-label song-album"><a class="crop" href="#music/album/')),d(this.albumid),d(b('">')),d(this.album),d(b('</a></td>\n<td class="cell-label song-artist"><a class="crop" href="#music/artist/')),d(this.artistid),d(b('">')),d(this.artist),d(b('</a></td>\n<td class="cell-last">\n <li class="thumbed-up"></li>\n <div class="duration">')),d(this.displayDuration),d(b('</div>\n <ul class="actions">\n <li class="mdi thumbs"></li>\n <li class="mdi add"></li>\n <li class="menu dropdown">\n <i data-toggle="dropdown" class="mdi"></i>\n <ul class="dropdown-menu pull-right"></ul>\n </li>\n </ul>\n</td>\n<td class="cell-remove song-remove">\n <i class="mdi mdi-navigation-close"></i>\n</td>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/thumbs/list/tpl/thumbs_layout.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="thumbs-inner">\n <div class="entity-set entity-set-movie"></div>\n <div class="entity-set entity-set-tvshow"></div>\n <div class="entity-set entity-set-episode"></div>\n <div class="entity-set entity-set-artist"></div>\n <div class="entity-set entity-set-album"></div>\n <div class="entity-set entity-set-song"></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/thumbs/list/tpl/thumbs_set.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<h2 class="set-header"></h2>\n<div class="set-results"></div>\n<div class="more"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/tvshow/episode/tpl/content.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('\n<div class="section-content">\n <h2>')),d(t.gettext("Synopsis")),d(b("</h2>\n <p>")),d(this.plot),d(b("</p>\n</div>\n\n")),this.cast.length>0&&(d(b('\n <div class="section-content">\n <h2>')),d(tr("Full cast")),d(b('</h2>\n <div class="region-cast"></div>\n </div>\n'))),d(b('\n\n<div class="section-content section-full-width">\n <h2>')),d(tr("Season")),d(b(" ")),d(this.season),d(b('</h2>\n <div class="region-season"></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/tvshow/episode/tpl/details_meta.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){var a,c,e,f;if(d(b('<div class="region-details-top">\n ')),null!=this.showtitle&&d(b("\n\n ")),d(b('\n <div class="region-details-title">\n <h2>\n <span class="title">')),d(this.label),d(b('</span>\n <span class="sub show-title"><a href="#')),d(this.url.split("/",2).join("/")),d(b('">')),d(this.showtitle),d(b('</a></span>\n <span class="sub">S')),d(this.season),d(b(" E")),d(this.episode),d(b('</span>\n </h2>\n </div>\n <div class="region-details-rating">\n ')),d(this.rating),d(b(' <i></i>\n </div>\n</div>\n<div class="region-details-meta-below">\n\n <div class="region-details-subtext">\n\n ')),this.runtime>0&&(d(b('\n <div class="runtime">\n ')),d(helpers.global.formatTime(helpers.global.secToTime(this.runtime))),d(b("\n </div>\n "))),d(b('\n\n </div>\n\n <ul class="meta">\n <li><label>')),d(t.gettext("Season")),d(b(':</label> <span><a href="#tvshow/')),d(this.tvshowid),d(b("/")),d(this.season),d(b('">')),d(t.gettext("Season")),d(b(" ")),d(this.season),d(b("</a></span></li>\n ")),this.firstaired&&(d(b("\n <li><label>")),d(t.gettext("First aired")),d(b(":</label> <span>")),d(this.firstaired),d(b(" </span></li>\n "))),d(b("\n ")),this.director.length>0&&(d(b("\n <li><label>")),d(t.ngettext("Director","Directors",this.director.length)),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","director",this.director))),d(b("</span></li>\n "))),d(b("\n ")),this.writer.length>0&&(d(b("\n <li><label>")),d(t.ngettext("Writer","Writers",this.writer.length)),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","writer",this.writer))),d(b("</span></li>\n "))),d(b("\n ")),this.cast.length>0&&(d(b("\n <li><label>")),d(t.gettext("Cast")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","cast",_.pluck(this.cast,"name")))),d(b("</span></li>\n "))),d(b('\n </ul>\n\n <ul class="streams">\n ')),this.streamdetails.video.length>0&&(d(b("\n <li><label>")),d(t.gettext("Video")),d(b(":</label> <span>")),d(_.pluck(this.streamdetails.video,"label").join(", ")),d(b("</span></li>\n "))),d(b("\n ")),this.streamdetails.audio.length>0&&(d(b("\n <li><label>")),d(t.gettext("Audio")),d(b(":</label> <span>")),d(_.pluck(this.streamdetails.audio,"label").join(", ")),d(b("</span></li>\n "))),d(b("\n ")),this.streamdetails.subtitle.length>0&&""!==this.streamdetails.subtitle[0].label){for(d(b("\n <li><label>")),d(t.ngettext("Subtitle","Subtitles",this.streamdetails.subtitle.length)),d(b(':</label>\n <span class="dropdown"><span data-toggle="dropdown">')),d(_.first(_.pluck(this.streamdetails.subtitle,"label"))),d(b('</span>\n <ul class="dropdown-menu">\n ')),e=this.streamdetails.subtitle,a=0,c=e.length;c>a;a++)f=e[a],d(b("\n <li>")),d(f.label),d(b("</li>\n "));d(b("\n </ul>\n </span>\n </li>\n "))}d(b('\n </ul>\n\n <ul class="inline-links">\n <li class="btn-flat-play play">')),d(tr("Play")),d(b('</li>\n <li class="btn-flat-add add">')),d(tr("Queue")),d(b('</li>\n <li class="btn-flat-stream stream">')),d(tr("Stream")),d(b('</li>\n <li class="btn-flat-watched watched">\n ')),d(t.gettext("set")),d(b(' <span class="action-watched">')),d(tr("watched")),d(b('</span><span class="action-unwatched">')),d(tr("unwatched")),d(b('</span>\n </li>\n <li class="more-actions dropdown">\n <span class="btn-flat-more" data-toggle="dropdown" aria-expanded="true">')),d(tr("more")),d(b('</span>\n <ul class="dropdown-menu pull-right">\n <li class="download">')),d(tr("Download")),d(b('</li>\n <li class="divider"></li>\n <li class="dropdown-submenu internal-search">')),d(tr("Chorus Search")),d(b('\n <ul class="dropdown-menu">\n ')),d(b(helpers.entities.getAddonSearchMenuItems(this.showtitle))),d(b('\n </ul>\n </li>\n <li class="dropdown-submenu external-search">')),d(tr("External Search")),d(b('\n <ul class="dropdown-menu">\n <li data-type="google" data-query="')),d(this.showtitle),d(b(" ")),d(this.label),d(b('">Google</li>\n <li data-type="imdb" data-query="')),d(this.showtitle),d(b('">IMDb</li>\n <li data-type="tvdb" data-query="')),d(this.showtitle),d(b('">TVDb</li>\n <li data-type="tmdb" data-query="')),d(this.showtitle),d(b('">TMDb</li>\n </ul>\n </li>\n <li class="youtube-search" data-query="')),d(this.showtitle),d(b('">')),d(tr("YouTube Search")),d(b('</li>\n <li class="divider"></li>\n <li class="refresh">')),d(tr("Refresh")),d(b('</li>\n <li class="edit">')),d(tr("Edit")),d(b("</li>\n </ul>\n </li>\n </ul>\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/tvshow/season/tpl/details_meta.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="region-details-top">\n <div class="region-details-title">\n <h2>\n <span class="title">')),d(tr("Season")),d(b(" ")),d(this.season),d(b('</span>\n <span class="sub"><a href="#tvshow/')),d(this.tvshowid),d(b('">')),d(this.label),d(b('</a></span>\n </h2>\n </div>\n <div class="region-details-rating">\n ')),d(this.rating),d(b(' <i></i>\n </div>\n</div>\n<div class="region-details-meta-below">\n\n <ul class="meta">\n ')),this.genre.length>0&&(d(b("\n <li><label>")),d(tr("genre")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","genre",this.genre))),d(b("</span></li>\n "))),d(b("\n ")),this.cast.length>0&&(d(b("\n <li><label>")),d(tr("cast")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","cast",_.pluck(this.cast,"name")))),d(b("</span></li>\n "))),d(b("\n ")),this.studio.length>0&&(d(b("\n <li><label>")),d(tr("studio")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","studio",this.studio))),d(b("</span></li>\n "))),d(b("\n ")),this.mpaa&&(d(b("\n <li><label>")),d(tr("rated")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","mpaa",[this.mpaa]))),d(b("</span></li>\n "))),d(b("\n <li><label>")),d(tr("episodes")),d(b(':</label> <span><span class="episode-total">')),d(this.episode),d(b("</span> ")),d(tr("total")),d(b(' (<span class="episode-unwatched">')),d(this.unwatched),d(b("</span> ")),d(tr("unwatched")),d(b(')</span></li>\n </ul>\n\n <div class="description">')),d(this.plot),d(b('</div>\n\n <ul class="inline-links">\n <li class="btn-flat-play play">')),d(tr("Play")),d(b('</li>\n <li class="btn-flat-add add">')),d(tr("Queue")),d(b('</li>\n <li class="btn-flat-watched watched">\n ')),d(tr("set")),d(b(' <span class="action-watched">')),d(tr("watched")),d(b('</span><span class="action-unwatched">')),d(tr("unwatched")),d(b("</span>\n </li>\n </ul>\n\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["apps/tvshow/show/tpl/details_meta.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="region-details-top">\n <div class="region-details-title">\n <h2><span class="title">')),d(this.label),d(b('</span> <span class="sub">')),d(this.year),d(b('</span></h2>\n </div>\n <div class="region-details-rating">\n ')),d(this.rating),d(b(' <i></i>\n </div>\n</div>\n<div class="region-details-meta-below">\n\n <ul class="meta">\n ')),this.genre.length>0&&(d(b("\n <li><label>")),d(tr("genre")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","genre",this.genre))),d(b("</span></li>\n "))),d(b("\n ")),this.cast.length>0&&(d(b("\n <li><label>")),d(tr("cast")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","cast",_.pluck(this.cast,"name")))),d(b("</span></li>\n "))),d(b("\n ")),this.studio.length>0&&(d(b("\n <li><label>")),d(tr("studio")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","studio",this.studio))),d(b("</span></li>\n "))),d(b("\n ")),this.mpaa&&(d(b("\n <li><label>")),d(tr("rated")),d(b(":</label> <span>")),d(b(helpers.url.filterLinks("tvshows","mpaa",[this.mpaa]))),d(b("</span></li>\n "))),d(b("\n <li><label>")),d(tr("episodes")),d(b(':</label> <span><span class="episode-total">')),
+d(this.episode),d(b("</span> ")),d(tr("total")),d(b(' (<span class="episode-unwatched">')),d(this.unwatched),d(b("</span> ")),d(tr("unwatched")),d(b(')</span></li>\n </ul>\n\n <div class="description">')),d(this.plot),d(b('</div>\n\n <ul class="inline-links">\n <li class="btn-flat-play play">')),d(tr("Play")),d(b('</li>\n <li class="btn-flat-add add">')),d(tr("Queue")),d(b('</li>\n <li class="btn-flat-watched watched">\n ')),d(tr("set")),d(b(' <span class="action-watched">')),d(tr("watched")),d(b('</span><span class="action-unwatched">')),d(tr("unwatched")),d(b('</span>\n </li>\n <li class="more-actions dropdown">\n <span class="btn-flat-more" data-toggle="dropdown" aria-expanded="true">')),d(tr("more")),d(b('</span>\n <ul class="dropdown-menu pull-right">\n <li class="dropdown-submenu internal-search">')),d(tr("Chorus Search")),d(b('\n <ul class="dropdown-menu">\n ')),d(b(helpers.entities.getAddonSearchMenuItems(this.label))),d(b('\n </ul>\n </li>\n <li class="dropdown-submenu external-search">')),d(tr("External Search")),d(b('\n <ul class="dropdown-menu">\n <li data-type="google" data-query="')),d(this.label),d(b('">Google</li>\n <li data-type="imdb" data-query="')),d(this.label),d(b('">IMDb</li>\n <li data-type="tvdb" data-query="')),d(this.label),d(b('">TVDb</li>\n <li data-type="tmdb" data-query="')),d(this.label),d(b('">TMDb</li>\n </ul>\n </li>\n <li class="youtube-search" data-query="')),d(this.label),d(b('">')),d(tr("YouTube Search")),d(b('</li>\n <li class="divider"></li>\n <li class="dropdown-submenu">')),d(tr("Refresh")),d(b('\n <ul class="dropdown-menu">\n <li class="refresh">')),d(tr("Show only")),d(b('</li>\n <li class="refresh-episodes">')),d(tr("Show and episodes")),d(b('</li>\n </ul>\n </li>\n <li class="edit">')),d(tr("Edit")),d(b("</li>\n </ul>\n </li>\n </ul>\n\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["components/form/tpl/form.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="form-inner">\n <div class="form-content-region"></div>\n <footer>\n <ul class="inline-list">\n <li>\n <button type="submit" data-form-button="submit" class="btn btn-primary form-save">Save</button>\n </li>\n <li class="response">\n\n </li>\n </ul>\n </footer>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["components/form/tpl/form_item.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){this.title&&(d(b('\n <label class="control-label">')),d(b(this.title)),d(b("</label>\n"))),d(b("\n\n")),"markup"===this.type?(d(b("\n ")),d(b(this.element)),d(b("\n"))):(d(b('\n <div class="element">\n ')),"checkbox"!==this.type?(d(b("\n ")),d(b(this.element)),d(b("\n "))):(d(b('\n <div class="togglebutton">\n <label>')),d(b(this.element)),d(b("</label>\n </div>\n "))),d(b("\n ")),this.description&&(d(b('\n <div class="help-block description">')),d(b(this.description)),d(b("</div>\n "))),d(b("\n </div>\n"))),d(b("\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["components/form/tpl/form_item_group.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){this.title&&(d(b('\n <h3 class="group-title">')),this.icon&&(d(b('<i class="')),d(b(this.icon)),d(b('"></i> '))),d(b(this.title)),d(b("</h3>\n"))),d(b('\n<div class="form-items"></div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["components/form/tpl/form_item_imageselect.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="form-imageselect">\n <ul class="form-imageselect__tabs">\n <li data-pane="select" class="active">')),d(tr("Image Selector")),d(b('</li>\n <li data-pane="url">')),d(tr("Image URL")),d(b('</li>\n </ul>\n <div class="form-imageselect__panes">\n <div class="pane active" rel="select">\n <ul class="form-imageselect__thumbs">\n ')),this.image&&(d(b('\n <li data-original="')),d(this.image.original),d(b('" class="selected"><img src="')),d(this.image.thumb),d(b('" /></li>\n '))),d(b('\n </ul>\n <div class="form-imageselect__loader"><div class="loader-small-inline"></div> <span>')),d(tr("Searching for more images")),d(b('</span></div>\n </div>\n <div class="pane" rel="url">\n ')),this.title&&(d(b('\n <label class="control-label">')),d(b(this.title)),d(b("</label>\n "))),d(b('\n <div class="form-imageselect__url">\n ')),d(b(this.element)),d(b("\n </div>\n ")),this.description&&(d(b('\n <div class="help-block description">')),d(b(this.description)),d(b("</div>\n "))),d(b("\n </div>\n </div>\n</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/card/tpl/card.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){var a,c,e;if(d(b('<div class="card-')),d(this.type),d(b('">\n <div class="artwork">\n <a href="#')),d(this.url),d(b('" class="thumb" title="')),d(helpers.global.stripTags(this.label)),d(b('" style="background-image: url(\'')),d(this.thumbnail),d(b('\')"></a>\n <div class="mdi play" title="')),d(tr("Play")),d(b('"></div>\n ')),("channeltv"===this.type||"channelradio"===this.type)&&d(b('\n <div class="mdi record"></div>\n ')),d(b('\n </div>\n <div class="meta">\n <div class="title"><a href="#')),d(this.url),d(b('" title="')),d(helpers.global.stripTags(this.label)),d(b('">')),d(b(this.label)),d(b("</a></div>\n ")),null!=this.subtitle&&(d(b('\n <div class="subtitle">')),d(b(this.subtitle)),d(b("</div>\n "))),d(b("\n </div>\n ")),this.actions){d(b('\n <ul class="actions">\n ')),c=this.actions;for(a in c)e=c[a],d(b('<li class="mdi ')),d(a),d(b('" title="')),d(e),d(b('"></li>'));d(b("\n </ul>\n "))}d(b("\n ")),this.menu&&d(b('\n <div class="dropdown">\n <i data-toggle="dropdown" class="mdi"></i>\n <ul class="dropdown-menu"></ul>\n </div>\n ')),d(b("\n ")),this.progress=null!=this.progress?this.progress:0,d(b('\n <div class="entity-progress"><div class="current-progress" style="width: ')),d(this.progress),d(b('%" title="')),d(this.progress),d(b("% ")),d(t.gettext("complete")),d(b('"></div></div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/card/tpl/card_placeholder.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b("<i></i>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/empty/tpl/empty_page.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="empty--page">\n ')),this.title&&(d(b('\n <h2 class="empty--page-title">')),d(title),d(b("</h2>\n "))),d(b("\n\n ")),this.content&&(d(b('\n <div class="empty--page-content">')),d(this.content),d(b("</div>\n "))),d(b("\n</div>"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/empty/tpl/empty_results.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="empty-result">\n <h2>')),d(b(t.sprintf(tr("No %1$s found"),'<span class="empty-key">'+tr("results")+"</span>"))),d(b('</h2>\n <div class="empty-actions">\n <div class="back-link"></div>\n </div>\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/layouts/tpl/layout_details_header.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="layout-container details-header">\n\n <div class="region-details-side"></div>\n\n <div class="region-details-meta-wrapper"><div class="region-details-meta">\n\n <div class="region-details-title"><span class="title"></span> <span class="sub"></span></div>\n\n <div class="region-details-meta-below">\n <div class="region-details-subtext"></div>\n <div class="description"></div>\n </div>\n\n </div></div>\n\n ')),this.fanart&&(d(b('\n <div class="region-details-fanart" style="background-image: url(\'')),d(this.fanart),d(b('\')"><div class="gradient"></div></div>\n '))),d(b("\n</div>\n"))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/layouts/tpl/layout_with_header.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="layout-container with-header">\n\n <header class="region-header"></header>\n\n <div class="region-content-wrapper">\n <div class="entity-progress"><div class="current-progress" style="width: ')),d(this.progress),d(b('%" title="')),d(this.progress),d(b("% ")),d(t.gettext("complete")),d(b('"></div></div>\n <section class="region-content"></section>\n </div>\n\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/layouts/tpl/layout_with_sidebar_first.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<div class="layout-container with-sidebar-first">\n\n <div class="region-first-toggle"></div>\n <section class="region-first">\n <div class="region-first-primary"></div>\n <div class="region-first-secondary"></div>\n </section>\n\n <section class="region-content-wrapper">\n <div class="region-content-top"></div>\n <div class="region-content"></div>\n </section>\n\n</div>'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())},window.JST["views/song/tpl/song_placeholder.jst"]=function(a){var b=function(a){"undefined"==typeof a&&null==a&&(a="");var b=new String(a);return b.ecoSafe=!0,b};return function(){var a=[],c=this,d=function(b){"undefined"!=typeof b&&null!=b&&a.push(b.ecoSafe?b:c.escape(b))};return function(){d(b('<td colspan="6"><i></i></td>\n'))}.call(this),a.join("")}.call(function(){var c,d={escape:function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},safe:b};for(c in a)d[c]=a[c];return d}())};;var tr,
__hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
@@ -33,7 +35,7 @@ this.config = {
ignoreArticle: true,
pollInterval: 10000,
reverseProxy: false,
- albumAtristsOnly: true,
+ albumArtistsOnly: true,
searchIndexCacheExpiry: 24 * 60 * 60,
collectionCacheExpiry: 7 * 24 * 60 * 60,
addOnsLoaded: false,
@@ -43,7 +45,8 @@ this.config = {
playlistFocusPlaying: true,
keyboardControl: 'kodi',
disableThumbs: false,
- showDeviceName: false
+ showDeviceName: false,
+ refreshIgnoreNFO: true
}
};
@@ -68,7 +71,8 @@ $(document).ready((function(_this) {
return function() {
return helpers.translate.init(function() {
Kodi.start();
- return $.material.init();
+ $.material.init();
+ return helpers.ui.bindOnScrollResize();
});
};
})(this));
@@ -88,13 +92,15 @@ helpers.backscroll = {
scrollToLast: function() {
var scrollPos;
scrollPos = this.lastPath === location.hash ? this.lastScroll : 0;
- return window.scrollTo(0, scrollPos);
+ if (scrollPos > 0) {
+ return window.scrollTo(0, scrollPos);
+ }
}
};
/*
- Our cache storage, persists only for app lifycle
+ Our cache storage, persists only for app lifecycle
Eg. gets wiped when page reloaded.
*/
@@ -158,6 +164,8 @@ helpers.cache.updateCollection = function(collectionKey, responseKey, modelId, p
/*
Config Helpers.
+ - Use config.get/set with 'app' as the type, to get/set persistent settings (localstorage)
+ - Use config.getLocal/setLocal to get set temp storage
*/
config.get = function(type, id, defaultData, callback) {
@@ -295,7 +303,7 @@ KodiMixins.Entities = {
/*
The types of fields we request, minimal for search, small for list, full for page.
*/
- entitiyFields: {
+ entityFields: {
minimal: [],
small: [],
full: []
@@ -304,16 +312,16 @@ KodiMixins.Entities = {
if (fields == null) {
fields = [];
}
- this.entitiyFields[type] = fields;
+ this.entityFields[type] = fields;
return this;
},
getEntityFields: function(type) {
var fields;
- fields = this.entitiyFields.minimal;
+ fields = this.entityFields.minimal;
if (type === 'full') {
- return fields.concat(this.entitiyFields.small).concat(this.entitiyFields.full);
+ return fields.concat(this.entityFields.small).concat(this.entityFields.full);
} else if (type === 'small') {
- return fields.concat(this.entitiyFields.small);
+ return fields.concat(this.entityFields.small);
} else {
return fields;
}
@@ -340,7 +348,7 @@ KodiMixins.Entities = {
},
/*
- JsonRPC common paterns and helpers.
+ JsonRPC common patterns and helpers.
*/
callMethodName: '',
callArgs: [],
@@ -494,7 +502,7 @@ helpers.debug.msg = function(msg, severity, data) {
/*
- Log a deubg error message.
+ Log a debug error message.
*/
helpers.debug.log = function(msg, data, severity, caller) {
@@ -541,6 +549,34 @@ helpers.debug.rpcError = function(commands, data) {
/*
+ JSON Dump (pretty print)
+ */
+
+helpers.debug.syntaxHighlight = function(json) {
+ var out;
+ json = JSON.stringify(json, null, 4);
+ json = json.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
+ out = json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function(match) {
+ var cls;
+ cls = 'number';
+ if (/^"/.test(match)) {
+ if (/:$/.test(match)) {
+ cls = 'key';
+ } else {
+ cls = 'string';
+ }
+ } else if (/true|false/.test(match)) {
+ cls = 'boolean';
+ } else if (/null/.test(match)) {
+ cls = 'null';
+ }
+ return '<span class="' + cls + '">' + match + '</span>';
+ });
+ return '<pre class="json-syntax-highlight">' + out + '</pre>';
+};
+
+
+/*
Entity Helpers
*/
@@ -551,7 +587,7 @@ helpers.entities.createUid = function(model, type) {
type = type ? type : model.type;
id = model.id;
uid = 'none';
- if (typeof id === 'number') {
+ if (typeof id === 'number' || type === 'season') {
uid = id;
} else {
file = model.file;
@@ -568,6 +604,9 @@ helpers.entities.getFields = function(set, type) {
if (type == null) {
type = 'small';
}
+ if (!_.isObject(set) || !set[type]) {
+ [];
+ }
fields = set.minimal;
if (type === 'full') {
return fields.concat(set.small).concat(set.full);
@@ -580,9 +619,12 @@ helpers.entities.getFields = function(set, type) {
helpers.entities.getSubtitle = function(model) {
var subtitle;
+ subtitle = '';
switch (model.type) {
case 'song':
- subtitle = model.artist.join(',');
+ if (model.artist) {
+ subtitle = model.artist.join(',');
+ }
break;
default:
subtitle = '';
@@ -608,6 +650,95 @@ helpers.entities.setProgress = function($el, progress) {
return $el.find('.current-progress').css('width', progress).attr('title', progress + ' ' + t.gettext('complete'));
};
+helpers.entities.buildOptions = function(options) {
+ var defaultOptions;
+ defaultOptions = {
+ useNamedParameters: true
+ };
+ if (!options.filter) {
+ defaultOptions.cache = true;
+ defaultOptions.expires = config.get('static', 'collectionCacheExpiry');
+ }
+ return _.extend(defaultOptions, options);
+};
+
+helpers.entities.getAddonSearchMenuItems = function(query) {
+ var addonSearch, addonSearches, ret, _i, _len;
+ addonSearches = Kodi.request("addon:search:enabled");
+ ret = '<li data-type="all" data-query="' + query + '">' + tr('Local media') + '</li>';
+ if (addonSearches.length > 0) {
+ ret += '<li class="divider"></li>';
+ for (_i = 0, _len = addonSearches.length; _i < _len; _i++) {
+ addonSearch = addonSearches[_i];
+ ret += '<li data-type="' + addonSearch.id + '" data-query="' + query + '">' + tr(addonSearch.title) + '</li>';
+ }
+ }
+ return ret;
+};
+
+helpers.entities.refreshEntity = function(model, controller, method, params) {
+ var baseUrl, originalPath, refreshTimeout, thumbs, title, type;
+ if (params == null) {
+ params = {};
+ }
+ title = model.get('label');
+ type = model.get('type');
+ originalPath = model.get('url');
+ refreshTimeout = type === 'tvshow' ? 10000 : 3000;
+ baseUrl = model.get('url').split('/').slice(0, -1).join('/');
+ thumbs = Kodi.request("thumbsup:check", model);
+ params.ignorenfo = config.getLocal('refreshIgnoreNFO', true);
+ return Kodi.execute("ui:modal:confirm", tr('Are you sure?'), t.sprintf(tr('Confirm refresh'), title), function() {
+ Backbone.fetchCache.clearItem(model);
+ if (thumbs) {
+ Kodi.request("thumbsup:toggle:entity", model);
+ }
+ return controller[method](model.get('id'), params, function(resp) {
+ Kodi.execute("notification:show", tr("Refreshed media. Additional updates may still be occurring in the background"));
+ return setTimeout(function() {
+ var opts;
+ if (title) {
+ opts = {
+ limits: {
+ start: 0,
+ end: 1
+ },
+ filter: {
+ 'operator': 'is',
+ 'field': 'title',
+ 'value': title
+ },
+ sort: {
+ method: 'none',
+ order: 'descending'
+ },
+ success: function(collection) {
+ var newModel;
+ if (collection.length) {
+ newModel = collection.first();
+ if (thumbs) {
+ Kodi.request("thumbsup:toggle:entity", newModel);
+ }
+ if (originalPath === helpers.url.path()) {
+ return Kodi.navigate(baseUrl + "/" + newModel.get('id'), {
+ trigger: true
+ });
+ }
+ } else {
+ Kodi.execute("notification:show", tr("Refreshed media not found, redirecting to search"));
+ return Kodi.navigate("search/" + type + "/" + title, {
+ trigger: true
+ });
+ }
+ }
+ };
+ return Kodi.request(type + ":entities", opts);
+ }
+ }, refreshTimeout);
+ });
+ });
+};
+
/*
Our generic global helpers so we dont have add complexity to our app.
@@ -684,7 +815,7 @@ helpers.global.timeToSec = function(time) {
return parseInt(hours) + parseInt(minutes) + parseInt(time.seconds);
};
-helpers.global.epgDateTimeToJS = function(datetime) {
+helpers.global.dateStringToObj = function(datetime) {
if (!datetime) {
return new Date(0);
} else {
@@ -799,6 +930,30 @@ helpers.global.getPercent = function(pos, total, places) {
return Math.floor((pos / total) * (100 * Math.pow(10, places))) / 100;
};
+helpers.global.saveFileText = function(content, filename) {
+ var blob, error, isFileSaverSupported;
+ if (filename == null) {
+ filename = 'untitled.txt';
+ }
+ try {
+ isFileSaverSupported = !!new Blob;
+ if (isFileSaverSupported) {
+ content = content.replace(String.fromCharCode(65279), "");
+ blob = new Blob([content], {
+ type: "text/plain;charset=utf-8"
+ });
+ return saveAs(blob, filename, true);
+ }
+ } catch (_error) {
+ error = _error;
+ return Kodi.execute("notification:show", tr('Saving is not supported by your browser'));
+ }
+};
+
+helpers.global.removeBBCode = function(string) {
+ return string.replace(/\[\/?(?:b|i|u|url|quote|code|img|color|size|B|I|U|URL|QUOTE|CODE|IMG|COLOR|SIZE)*?.*?\]/img, '');
+};
+
/*
A collection of small jquery plugin helpers.
@@ -941,7 +1096,7 @@ helpers.stream.langMap = {
'zho': 'Chinese',
'ces': 'Czech',
'dan': 'Danish',
- 'nld': 'Netherland',
+ 'nld': 'Netherlands',
'fin': 'Finish',
'fra': 'French',
'deu': 'German',
@@ -1050,6 +1205,7 @@ helpers.translate.getLanguages = function() {
lt: "Lithuanian",
nl: "Dutch",
pl: "Polish",
+ es: "Spanish",
zh_hans: "Chinese, Simplified"
};
};
@@ -1089,6 +1245,33 @@ tr = function(text) {
helpers.ui = {};
+helpers.ui.bindOnScrollResize = function() {
+ $(window).scrollStopped((function(_this) {
+ return function() {
+ return helpers.ui.requestTick();
+ };
+ })(this));
+ return $(window).resizeStopped((function(_this) {
+ return function() {
+ return helpers.ui.requestTick();
+ };
+ })(this));
+};
+
+helpers.ui.isTicking = false;
+
+helpers.ui.requestTick = function() {
+ if (!helpers.ui.isTicking) {
+ requestAnimationFrame((function(_this) {
+ return function() {
+ Kodi.vent.trigger("ui:animate:stop");
+ return helpers.ui.isTicking = false;
+ };
+ })(this));
+ }
+ return helpers.ui.isTicking = true;
+};
+
helpers.ui.getSwatch = function(imgSrc, callback) {
var img, ret;
ret = {};
@@ -1144,8 +1327,8 @@ helpers.url.map = {
tvshow: 'tvshow/:id',
season: 'tvshow/:id',
episode: 'tvshow/:tvshowid/:season/:id',
- channeltv: 'tvshows/live/:id',
- channelradio: 'music/radio/:id',
+ channeltv: 'pvr/tv/:id',
+ channelradio: 'pvr/radio/:id',
file: 'browser/file/:id',
playlist: 'playlist/:id'
};
@@ -1211,12 +1394,13 @@ helpers.url.playlistUrl = function(item) {
};
helpers.url.arg = function(arg) {
- var args, hash;
+ var args, hash, hashParts;
if (arg == null) {
arg = 'none';
}
hash = location.hash;
- args = hash.substring(1).split('/');
+ hashParts = hash.split('?');
+ args = hashParts[0].substring(1).split('/');
if (arg === 'none') {
return args;
} else if (args[arg] != null) {
@@ -1461,15 +1645,22 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
if (order == null) {
order = 'asc';
}
- this.comparator = (function(_this) {
- return function(model) {
- return _this.ignoreArticleParse(model.get(property));
- };
- })(this);
- if (order === 'desc') {
- this.comparator = this.reverseSortBy(this.comparator);
+ if (property === 'random') {
+ this.comparator = false;
+ this.reset(this.shuffle(), {
+ silent: true
+ });
+ } else {
+ this.comparator = (function(_this) {
+ return function(model) {
+ return _this.ignoreArticleParse(model.get(property));
+ };
+ })(this);
+ if (order === 'desc') {
+ this.comparator = this.reverseSortBy(this.comparator);
+ }
+ this.sort();
}
- this.sort();
};
Collection.prototype.reverseSortBy = function(sortByFunction) {
@@ -1590,6 +1781,14 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
});
};
+ Filtered.prototype.filterByInProgress = function(key) {
+ return this.filterBy(key, function(model) {
+ var inprogress;
+ inprogress = model.get('progress') > 0 && model.get('progress') < 100 ? true : false;
+ return inprogress;
+ });
+ };
+
Filtered.prototype.filterByString = function(key, query) {
return this.filterBy('search', function(model) {
var value;
@@ -2020,7 +2219,10 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
description: '',
children: [],
attributes: {},
- "class": ''
+ "class": '',
+ suffix: '',
+ prefix: '',
+ formState: {}
};
return FormItem;
@@ -2040,12 +2242,45 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
})(Entities.Collection);
API = {
applyState: function(item, formState) {
- if (formState[item.id] != null) {
- item.defaultValue = formState[item.id];
+ var property;
+ item.formState = formState;
+ item.defaultValue = item.defaultValue ? item.defaultValue : '';
+ property = item.valueProperty ? item.valueProperty : item.id;
+ if (formState[property] != null) {
+ item.defaultValue = this.formatDefaultValue(item.format, formState[property]);
item.defaultsApplied = true;
}
return item;
},
+ formatDefaultValue: function(format, value) {
+ if (format === 'array.string' || format === 'array.integer') {
+ return value.join('; ');
+ } else if (format === 'integer' && value !== '') {
+ return parseInt(value);
+ } else {
+ return value;
+ }
+ },
+ formatSubmittedValues: function(item, values) {
+ if (item.format && (values[item.id] != null)) {
+ if (item.format === 'array.string') {
+ values[item.id] = values[item.id] !== '' ? _.map(values[item.id].split(';'), function(v) {
+ return v.trim();
+ }) : [];
+ } else if (item.format === 'array.integer') {
+ values[item.id] = values[item.id] !== '' ? _.map(values[item.id].split(';'), function(v) {
+ return parseInt(v.trim());
+ }) : [];
+ } else if (item.format === 'integer') {
+ values[item.id] = parseInt(values[item.id]);
+ } else if (item.format === 'float') {
+ values[item.id] = parseFloat(values[item.id]);
+ } else if (item.format === 'prevent.submit') {
+ delete values[item.id];
+ }
+ }
+ return values;
+ },
processItems: function(items, formState, isChild) {
var collection, item, _i, _len;
if (formState == null) {
@@ -2065,6 +2300,23 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
}
return collection;
},
+ processSubmitted: function(items, formState, isChild) {
+ var item, _i, _len;
+ if (formState == null) {
+ formState = {};
+ }
+ if (isChild == null) {
+ isChild = false;
+ }
+ for (_i = 0, _len = items.length; _i < _len; _i++) {
+ item = items[_i];
+ formState = this.formatSubmittedValues(item, formState);
+ if (item.children && item.children.length > 0) {
+ formState = API.processSubmitted(item.children.toJSON(), formState, true);
+ }
+ }
+ return formState;
+ },
toCollection: function(items) {
var childCollection, i, item;
for (i in items) {
@@ -2077,7 +2329,7 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
return new Entities.Form(items);
}
};
- return App.reqres.setHandler("form:item:entities", function(form, formState) {
+ App.reqres.setHandler("form:item:entities", function(form, formState) {
if (form == null) {
form = [];
}
@@ -2086,6 +2338,15 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
}
return API.toCollection(API.processItems(form, formState));
});
+ return App.reqres.setHandler("form:value:entities", function(form, formState) {
+ if (form == null) {
+ form = [];
+ }
+ if (formState == null) {
+ formState = {};
+ }
+ return API.processSubmitted(form, formState);
+ });
});
this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionette, $, _) {
@@ -2126,11 +2387,10 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
}
Collection.prototype.url = function() {
- return helpers.url.baseKodiUrl("Collection");
+ return helpers.url.baseKodiUrl(this.constructor.name);
};
Collection.prototype.rpc = new Backbone.Rpc({
- useNamedParameters: true,
namespaceDelimiter: ''
});
@@ -2161,6 +2421,7 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
Collection.prototype.getResult = function(response, key) {
var result;
+ this.responseKey = key;
result = response.jsonrpc && response.result ? response.result : response;
return result[key];
};
@@ -2208,14 +2469,39 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
arg = {};
if (name != null) {
arg[name] = value;
+ } else {
+ arg = void 0;
}
return this.argCheckOption('filter', arg);
};
+ Collection.prototype.argFields = function(fields) {
+ var field, _i, _len, _ref;
+ if ((this.options != null) && (this.options.fields != null)) {
+ fields = this.options.fields;
+ }
+ if ((this.options != null) && (this.options.addFields != null)) {
+ _ref = this.options.addFields;
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ field = _ref[_i];
+ if (!helpers.global.inArray(field, fields)) {
+ fields.push(field);
+ }
+ }
+ }
+ return fields;
+ };
+
Collection.prototype.isIgnoreArticle = function() {
return config.getLocal('ignoreArticle', true);
};
+ Collection.prototype.getArgs = function(defaults) {
+ var args;
+ args = this.options != null ? _.extend(defaults, this.options) : defaults;
+ return args;
+ };
+
return Collection;
})(App.Entities.Collection);
@@ -2229,8 +2515,29 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
return Model.__super__.constructor.apply(this, arguments);
}
+ Model.prototype.initialize = function() {
+ if (this.methods) {
+ return App.vent.on('entity:kodi:update', (function(_this) {
+ return function(uid) {
+ var fields;
+ if (_this.get('uid') === uid) {
+ fields = App.request(_this.get('type') + ":fields");
+ if (fields && fields.length > 0) {
+ return _this.fetch({
+ properties: fields,
+ success: function(updatedModel) {
+ return Backbone.fetchCache.clearItem(updatedModel);
+ }
+ });
+ }
+ }
+ };
+ })(this));
+ }
+ };
+
Model.prototype.url = function() {
- return helpers.url.baseKodiUrl("Model");
+ return helpers.url.baseKodiUrl(this.constructor.name);
};
Model.prototype.rpc = new Backbone.Rpc({
@@ -2261,7 +2568,13 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
model.progress = model.resume.position === 0 ? 0 : Math.round((model.resume.position / model.resume.total) * 100);
}
if (model.trailer) {
- model.trailer = helpers.url.parseTrailerUrl(model.trailer);
+ model.mediaTrailer = helpers.url.parseTrailerUrl(model.trailer);
+ }
+ if (model.starttime) {
+ model.start = helpers.global.dateStringToObj(model.starttime);
+ }
+ if (model.endtime) {
+ model.end = helpers.global.dateStringToObj(model.endtime);
}
if (type === 'tvshow' || type === 'season') {
model.progress = helpers.global.round((model.watchedepisodes / model.episode) * 100, 2);
@@ -2269,6 +2582,9 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
if (type === 'episode' || type === 'movie' && model.progress === 0) {
model.progress = model.playcount === 0 ? 0 : 100;
}
+ if (type === 'album' || type === 'artist') {
+ model.progress = 0;
+ }
if (type === 'episode') {
model.url = helpers.url.get(type, id, {
':tvshowid': model.tvshowid,
@@ -2319,56 +2635,134 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
});
this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionette, $, _) {
+
+ /*
+ API Helpers
+ */
var API;
API = {
- getAlbumFields: function(type) {
- var baseFields, extraFields, fields;
- if (type == null) {
- type = 'small';
+ availableProviders: ['video', 'audio', 'executable'],
+ fields: {
+ minimal: ['addonid', 'name', 'type', 'thumbnail', 'label'],
+ small: ['author', 'broken', 'description', 'version', 'enabled', 'extrainfo', 'summary'],
+ full: ['fanart', 'path']
+ },
+ getCollection: function(type, callback) {
+ var addonController;
+ addonController = App.request("command:kodi:controller", 'auto', 'AddOn');
+ return addonController.getEnabledAddons(true, function(addons) {
+ var collection;
+ collection = new KodiEntities.AddonCollection(API.parseAddons(addons, type));
+ return callback(collection);
+ });
+ },
+ parseAddons: function(addons, type) {
+ var addon, extra, i, ret, _i, _len, _ref;
+ ret = [];
+ for (i in addons) {
+ addon = addons[i];
+ addon.provides = [];
+ addon.label = addon.name;
+ addon = App.request("images:path:entity", addon);
+ _ref = addon.extrainfo;
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ extra = _ref[_i];
+ if (_.isObject(extra) && extra.key === 'provides' && extra.value && helpers.global.inArray(extra.value, API.availableProviders)) {
+ addon.provides.push(extra.value);
+ }
+ }
+ if (addon.provides.length > 0 && (helpers.global.inArray(type, addon.provides) || type === 'all')) {
+ addon.providesDefault = _.first(addon.provides);
+ addon.subtitle = tr(addon.providesDefault);
+ ret.push(API.parsePath(addon));
+ }
}
- baseFields = ['thumbnail', 'playcount', 'artistid', 'artist', 'genre', 'albumlabel', 'year', 'dateadded'];
- extraFields = ['fanart', 'style', 'mood', 'description', 'genreid', 'rating'];
- if (type === 'full') {
- fields = baseFields.concat(extraFields);
- return fields;
+ return ret;
+ },
+ parsePath: function(addon) {
+ var media;
+ if (helpers.global.inArray('executable', addon.provides)) {
+ addon.url = 'addon/execute/' + addon.addonid;
} else {
- return baseFields;
+ media = addon.providesDefault.replace('audio', 'music');
+ addon.url = 'browser/' + media + '/' + encodeURIComponent('plugin://' + addon.addonid + '/');
}
+ return addon;
+ }
+ };
+
+ /*
+ Models and collections.
+ */
+ KodiEntities.Addon = (function(_super) {
+ __extends(Addon, _super);
+
+ function Addon() {
+ return Addon.__super__.constructor.apply(this, arguments);
+ }
+
+ Addon.prototype.idAttribute = "addonid";
+
+ Addon.prototype.defaults = function() {
+ return this.parseFieldsToDefaults(helpers.entities.getFields(API.fields, 'full'), {});
+ };
+
+ return Addon;
+
+ })(App.KodiEntities.Model);
+ KodiEntities.AddonCollection = (function(_super) {
+ __extends(AddonCollection, _super);
+
+ function AddonCollection() {
+ return AddonCollection.__super__.constructor.apply(this, arguments);
+ }
+
+ AddonCollection.prototype.model = KodiEntities.Addon;
+
+ return AddonCollection;
+
+ })(App.KodiEntities.Collection);
+
+ /*
+ Request Handlers.
+ */
+ return App.reqres.setHandler("addon:entities", function(type, callback) {
+ if (type == null) {
+ type = 'all';
+ }
+ return API.getCollection(type, callback);
+ });
+});
+
+this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionette, $, _) {
+ var API;
+ API = {
+ fields: {
+ minimal: ['thumbnail'],
+ small: ['playcount', 'artistid', 'artist', 'genre', 'albumlabel', 'year', 'dateadded', 'style'],
+ full: ['fanart', 'mood', 'description', 'genreid', 'rating', 'type', 'theme']
},
getAlbum: function(id, options) {
var album;
album = new App.KodiEntities.Album();
album.set({
albumid: parseInt(id),
- properties: API.getAlbumFields('full')
+ properties: helpers.entities.getFields(API.fields, 'full')
});
album.fetch(options);
return album;
},
getAlbums: function(options) {
- var albums, defaultOptions;
- defaultOptions = {
- cache: true,
- expires: config.get('static', 'collectionCacheExpiry')
- };
- options = _.extend(defaultOptions, options);
- albums = new KodiEntities.AlbumCollection();
- albums.fetch(options);
- return albums;
- },
- getRecentlyAddedAlbums: function(options) {
- var albums;
- albums = new KodiEntities.AlbumRecentlyAddedCollection();
- albums.fetch(options);
- return albums;
- },
- getRecentlyPlayedAlbums: function(options) {
- var albums;
- albums = new KodiEntities.AlbumRecentlyPlayedCollection();
- albums.fetch(options);
- return albums;
+ var collection;
+ collection = new KodiEntities.AlbumCollection();
+ collection.fetch(helpers.entities.buildOptions(options));
+ return collection;
}
};
+
+ /*
+ Models and collections.
+ */
KodiEntities.Album = (function(_super) {
__extends(Album, _super);
@@ -2382,18 +2776,17 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
albumid: 1,
album: ''
});
- return this.parseFieldsToDefaults(API.getAlbumFields('full'), fields);
+ return this.parseFieldsToDefaults(helpers.entities.getFields(API.fields, 'full'), fields);
};
Album.prototype.methods = {
read: ['AudioLibrary.GetAlbumDetails', 'albumid', 'properties']
};
- Album.prototype.arg2 = API.getAlbumFields('full');
-
Album.prototype.parse = function(resp, xhr) {
var obj;
obj = resp.albumdetails != null ? resp.albumdetails : resp;
+ obj.title = obj.label;
if (resp.albumdetails != null) {
obj.fullyloaded = true;
}
@@ -2413,23 +2806,16 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
AlbumCollection.prototype.model = KodiEntities.Album;
AlbumCollection.prototype.methods = {
- read: ['AudioLibrary.GetAlbums', 'arg1', 'arg2', 'arg3', 'arg4']
+ read: ['AudioLibrary.GetAlbums', 'properties', 'limits', 'sort', 'filter']
};
- AlbumCollection.prototype.arg1 = function() {
- return API.getAlbumFields('small');
- };
-
- AlbumCollection.prototype.arg2 = function() {
- return this.argLimit();
- };
-
- AlbumCollection.prototype.arg3 = function() {
- return this.argSort("title", "ascending");
- };
-
- AlbumCollection.prototype.arg3 = function() {
- return this.argFilter();
+ AlbumCollection.prototype.args = function() {
+ return this.getArgs({
+ properties: this.argFields(helpers.entities.getFields(API.fields, 'small')),
+ limits: this.argLimit(),
+ sort: this.argSort('title', 'ascending'),
+ filter: this.argFilter()
+ });
};
AlbumCollection.prototype.parse = function(resp, xhr) {
@@ -2439,62 +2825,10 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
return AlbumCollection;
})(App.KodiEntities.Collection);
- KodiEntities.AlbumRecentlyAddedCollection = (function(_super) {
- __extends(AlbumRecentlyAddedCollection, _super);
- function AlbumRecentlyAddedCollection() {
- return AlbumRecentlyAddedCollection.__super__.constructor.apply(this, arguments);
- }
-
- AlbumRecentlyAddedCollection.prototype.model = KodiEntities.Album;
-
- AlbumRecentlyAddedCollection.prototype.methods = {
- read: ['AudioLibrary.GetRecentlyAddedAlbums', 'arg1', 'arg2']
- };
-
- AlbumRecentlyAddedCollection.prototype.arg1 = function() {
- return API.getAlbumFields('small');
- };
-
- AlbumRecentlyAddedCollection.prototype.arg2 = function() {
- return this.argLimit(0, 21);
- };
-
- AlbumRecentlyAddedCollection.prototype.parse = function(resp, xhr) {
- return this.getResult(resp, 'albums');
- };
-
- return AlbumRecentlyAddedCollection;
-
- })(App.KodiEntities.Collection);
- KodiEntities.AlbumRecentlyPlayedCollection = (function(_super) {
- __extends(AlbumRecentlyPlayedCollection, _super);
-
- function AlbumRecentlyPlayedCollection() {
- return AlbumRecentlyPlayedCollection.__super__.constructor.apply(this, arguments);
- }
-
- AlbumRecentlyPlayedCollection.prototype.model = KodiEntities.Album;
-
- AlbumRecentlyPlayedCollection.prototype.methods = {
- read: ['AudioLibrary.GetRecentlyPlayedAlbums', 'arg1', 'arg2']
- };
-
- AlbumRecentlyPlayedCollection.prototype.arg1 = function() {
- return API.getAlbumFields('small');
- };
-
- AlbumRecentlyPlayedCollection.prototype.arg2 = function() {
- return this.argLimit(0, 21);
- };
-
- AlbumRecentlyPlayedCollection.prototype.parse = function(resp, xhr) {
- return this.getResult(resp, 'albums');
- };
-
- return AlbumRecentlyPlayedCollection;
-
- })(App.KodiEntities.Collection);
+ /*
+ Request Handlers.
+ */
App.reqres.setHandler("album:entity", function(id, options) {
if (options == null) {
options = {};
@@ -2507,77 +2841,43 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
}
return API.getAlbums(options);
});
- App.reqres.setHandler("album:recentlyadded:entities", function(options) {
- if (options == null) {
- options = {};
- }
- return API.getRecentlyAddedAlbums(options);
- });
- App.reqres.setHandler("album:recentlyplayed:entities", function(options) {
- if (options == null) {
- options = {};
+ return App.reqres.setHandler("album:fields", function(type) {
+ if (type == null) {
+ type = 'full';
}
- return API.getRecentlyPlayedAlbums(options);
- });
- return App.commands.setHandler("album:search:entities", function(query, limit, callback) {
- var collection;
- collection = API.getAlbums({});
- return App.execute("when:entity:fetched", collection, (function(_this) {
- return function() {
- var filtered;
- filtered = new App.Entities.Filtered(collection);
- filtered.filterByString('label', query);
- if (callback) {
- return callback(filtered);
- }
- };
- })(this));
+ return helpers.entities.getFields(API.fields, type);
});
});
this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionette, $, _) {
var API;
API = {
- getArtistFields: function(type) {
- var baseFields, extraFields, fields;
- if (type == null) {
- type = 'small';
- }
- baseFields = ['thumbnail', 'mood', 'genre', 'style'];
- extraFields = ['fanart', 'born', 'formed', 'description'];
- if (type === 'full') {
- fields = baseFields.concat(extraFields);
- return fields;
- } else {
- return baseFields;
- }
+ fields: {
+ minimal: [],
+ small: ['thumbnail', 'mood', 'genre', 'style'],
+ full: ['fanart', 'born', 'formed', 'description', 'died', 'disbanded', 'yearsactive', 'instrument']
},
getArtist: function(id, options) {
var artist;
artist = new App.KodiEntities.Artist();
artist.set({
artistid: parseInt(id),
- properties: API.getArtistFields('full')
+ properties: helpers.entities.getFields(API.fields, 'full')
});
artist.fetch(options);
return artist;
},
getArtists: function(options) {
- var artists, defaultOptions;
- defaultOptions = {
- cache: true,
- expires: config.get('static', 'collectionCacheExpiry')
- };
- options = _.extend(defaultOptions, options);
- artists = helpers.cache.get("artist:entities");
- if (artists === false || options.reset === true) {
- artists = new KodiEntities.ArtistCollection();
- artists.fetch(options);
- }
- helpers.cache.set("artist:entities", artists);
- return artists;
+ var collection;
+ collection = new KodiEntities.ArtistCollection();
+ collection.fetch(helpers.entities.buildOptions(options));
+ return collection;
}
};
+
+ /*
+ Models and collections.
+ */
KodiEntities.Artist = (function(_super) {
__extends(Artist, _super);
@@ -2591,15 +2891,13 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
artistid: 1,
artist: ''
});
- return this.parseFieldsToDefaults(API.getArtistFields('full'), fields);
+ return this.parseFieldsToDefaults(helpers.entities.getFields(API.fields, 'full'), fields);
};
Artist.prototype.methods = {
read: ['AudioLibrary.GetArtistDetails', 'artistid', 'properties']
};
- Artist.prototype.arg2 = API.getArtistFields('full');
-
Artist.prototype.parse = function(resp, xhr) {
var obj;
obj = resp.artistdetails != null ? resp.artistdetails : resp;
@@ -2622,23 +2920,17 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
ArtistCollection.prototype.model = KodiEntities.Artist;
ArtistCollection.prototype.methods = {
- read: ['AudioLibrary.GetArtists', 'arg1', 'arg2', 'arg3', 'arg4']
- };
-
- ArtistCollection.prototype.arg1 = function() {
- return config.getLocal('albumAtristsOnly', true);
- };
-
- ArtistCollection.prototype.arg2 = function() {
- return API.getArtistFields('small');
+ read: ['AudioLibrary.GetArtists', 'albumartistsonly', 'properties', 'limits', 'sort', 'filter']
};
- ArtistCollection.prototype.arg3 = function() {
- return this.argLimit();
- };
-
- ArtistCollection.prototype.arg4 = function() {
- return this.argSort("artist", "ascending");
+ ArtistCollection.prototype.args = function() {
+ return this.getArgs({
+ albumartistsonly: config.getLocal('albumArtistsOnly', true),
+ properties: this.argFields(helpers.entities.getFields(API.fields, 'full')),
+ limits: this.argLimit(),
+ sort: this.argSort('title', 'ascending'),
+ filter: this.argFilter()
+ });
};
ArtistCollection.prototype.parse = function(resp, xhr) {
@@ -2648,6 +2940,10 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
return ArtistCollection;
})(App.KodiEntities.Collection);
+
+ /*
+ Request Handlers.
+ */
App.reqres.setHandler("artist:entity", function(id, options) {
if (options == null) {
options = {};
@@ -2658,21 +2954,16 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
if (options == null) {
options = {};
}
+ if (options.filter && options.albumartistsonly !== true) {
+ options.albumartistsonly = false;
+ }
return API.getArtists(options);
});
- return App.commands.setHandler("artist:search:entities", function(query, limit, callback) {
- var collection;
- collection = API.getArtists({});
- return App.execute("when:entity:fetched", collection, (function(_this) {
- return function() {
- var filtered;
- filtered = new App.Entities.Filtered(collection);
- filtered.filterByString('label', query);
- if (callback) {
- return callback(filtered);
- }
- };
- })(this));
+ return App.reqres.setHandler("artist:fields", function(type) {
+ if (type == null) {
+ type = 'full';
+ }
+ return helpers.entities.getFields(API.fields, type);
});
});
@@ -2753,13 +3044,9 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
API = {
fields: {
minimal: [],
- small: ['title', 'runtime', 'starttime', 'endtime', 'genre'],
- full: ['plot', 'progress', 'progresspercentage', 'episodename', 'episodenum', 'episodepart', 'firstaired', 'hastimer', 'isactive', 'parentalrating', 'wasactive', 'thumbnail']
+ small: ['title', 'runtime', 'starttime', 'endtime', 'genre', 'progress'],
+ full: ["plot", "plotoutline", "progresspercentage", "episodename", "episodenum", "episodepart", "firstaired", "hastimer", "isactive", "parentalrating", "wasactive", "thumbnail", "rating", "originaltitle", "cast", "director", "writer", "year", "imdbnumber", "hastimerrule", "hasrecording", "recording", "isseries"]
},
-
- /*getEntity: (collection, channel) ->
- collection.findWhere({channel: channel})
- */
getEntity: function(channelid, options) {
var entity;
entity = new App.KodiEntities.Broadcast();
@@ -2771,7 +3058,11 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
return entity;
},
getCollection: function(options) {
- var collection;
+ var collection, defaultOptions;
+ defaultOptions = {
+ useNamedParameters: true
+ };
+ options = _.extend(defaultOptions, options);
collection = new KodiEntities.BroadcastCollection();
collection.fetch(options);
return collection;
@@ -2807,17 +3098,9 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
if (resp.broadcasts != null) {
obj.fullyloaded = true;
}
- return this.parseModel('broadcast', obj, obj.channelid);
+ return this.parseModel('broadcast', obj, obj.broadcastid);
};
-
- /*defaults: ->
- @parseFieldsToDefaults helpers.entities.getFields(API.fields, 'full'), {}
- parse: (obj, xhr) ->
- obj.fullyloaded = true
- @parseModel 'broadcast', obj, obj.channelid
- */
-
return Broadcast;
})(App.KodiEntities.Model);
@@ -2831,19 +3114,15 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
BroadcastCollection.prototype.model = KodiEntities.Broadcast;
BroadcastCollection.prototype.methods = {
- read: ['PVR.GetBroadcasts', 'arg1', 'arg2', 'arg3']
- };
-
- BroadcastCollection.prototype.arg1 = function() {
- return parseInt(this.argCheckOption('channelid', 0));
+ read: ['PVR.GetBroadcasts', 'channelid', 'properties', 'limits']
};
- BroadcastCollection.prototype.arg2 = function() {
- return helpers.entities.getFields(API.fields, 'full');
- };
-
- BroadcastCollection.prototype.arg3 = function() {
- return this.argLimit();
+ BroadcastCollection.prototype.args = function() {
+ return this.getArgs({
+ channelid: this.argCheckOption('channelid', 0),
+ properties: helpers.entities.getFields(API.fields, 'full'),
+ limits: this.argLimit()
+ });
};
BroadcastCollection.prototype.parse = function(resp, xhr) {
@@ -2858,13 +3137,13 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
Request Handlers.
*/
App.reqres.setHandler("broadcast:entity", function(collection, channelid) {
- return API.getEntity(collection, channelid);
+ return API.getEntity(collection, parseInt(channelid));
});
return App.reqres.setHandler("broadcast:entities", function(channelid, options) {
if (options == null) {
options = {};
}
- options.channelid = channelid;
+ options.channelid = parseInt(channelid);
return API.getCollection(options);
});
});
@@ -2895,20 +3174,11 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
var collection, defaultOptions;
defaultOptions = {
cache: false,
- expires: config.get('static', 'collectionCacheExpiry')
+ expires: config.get('static', 'collectionCacheExpiry'),
+ useNamedParameters: true
};
options = _.extend(defaultOptions, options);
- if (options.season === 'all') {
- collection = new KodiEntities.EpisodeAllCollection();
- } else {
- collection = new KodiEntities.EpisodeCollection();
- }
- collection.fetch(options);
- return collection;
- },
- getRecentlyAddedCollection: function(options) {
- var collection;
- collection = new KodiEntities.EpisodeRecentlyAddedCollection();
+ collection = new KodiEntities.EpisodeCollection();
collection.fetch(options);
return collection;
}
@@ -2960,27 +3230,18 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
EpisodeCollection.prototype.model = KodiEntities.Episode;
EpisodeCollection.prototype.methods = {
- read: ['VideoLibrary.GetEpisodes', 'arg1', 'arg2', 'arg3']
+ read: ['VideoLibrary.GetEpisodes', 'tvshowid', 'season', 'properties', 'limits', 'sort', 'filter']
};
- EpisodeCollection.prototype.arg1 = function() {
- return this.argCheckOption('tvshowid', 0);
- };
-
- EpisodeCollection.prototype.arg2 = function() {
- return this.argCheckOption('season', 0);
- };
-
- EpisodeCollection.prototype.arg3 = function() {
- return helpers.entities.getFields(API.fields, 'small');
- };
-
- EpisodeCollection.prototype.arg4 = function() {
- return this.argLimit();
- };
-
- EpisodeCollection.prototype.arg5 = function() {
- return this.argSort("episode", "ascending");
+ EpisodeCollection.prototype.args = function() {
+ return this.getArgs({
+ tvshowid: this.argCheckOption('tvshowid', void 0),
+ season: this.argCheckOption('season', void 0),
+ properties: this.argFields(helpers.entities.getFields(API.fields, 'small')),
+ limits: this.argLimit(),
+ sort: this.argSort("episode", "ascending"),
+ filter: this.argCheckOption('filter', void 0)
+ });
};
EpisodeCollection.prototype.parse = function(resp, xhr) {
@@ -2990,56 +3251,16 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
return EpisodeCollection;
})(App.KodiEntities.Collection);
- KodiEntities.EpisodeAllCollection = (function(_super) {
- __extends(EpisodeAllCollection, _super);
+ KodiEntities.EpisodeCustomCollection = (function(_super) {
+ __extends(EpisodeCustomCollection, _super);
- function EpisodeAllCollection() {
- return EpisodeAllCollection.__super__.constructor.apply(this, arguments);
+ function EpisodeCustomCollection() {
+ return EpisodeCustomCollection.__super__.constructor.apply(this, arguments);
}
- EpisodeAllCollection.prototype.model = KodiEntities.Episode;
-
- EpisodeAllCollection.prototype.methods = {
- read: ['VideoLibrary.GetEpisodes', 'arg1']
- };
-
- EpisodeAllCollection.prototype.arg1 = function() {
- return this.argCheckOption('tvshowid', 0);
- };
-
- EpisodeAllCollection.prototype.parse = function(resp, xhr) {
- return this.getResult(resp, 'episodes');
- };
+ EpisodeCustomCollection.prototype.model = KodiEntities.Episode;
- return EpisodeAllCollection;
-
- })(App.KodiEntities.Collection);
- KodiEntities.EpisodeRecentlyAddedCollection = (function(_super) {
- __extends(EpisodeRecentlyAddedCollection, _super);
-
- function EpisodeRecentlyAddedCollection() {
- return EpisodeRecentlyAddedCollection.__super__.constructor.apply(this, arguments);
- }
-
- EpisodeRecentlyAddedCollection.prototype.model = KodiEntities.Episode;
-
- EpisodeRecentlyAddedCollection.prototype.methods = {
- read: ['VideoLibrary.GetRecentlyAddedEpisodes', 'arg1', 'arg2']
- };
-
- EpisodeRecentlyAddedCollection.prototype.arg1 = function() {
- return helpers.entities.getFields(API.fields, 'small');
- };
-
- EpisodeRecentlyAddedCollection.prototype.arg2 = function() {
- return this.argLimit();
- };
-
- EpisodeRecentlyAddedCollection.prototype.parse = function(resp, xhr) {
- return this.getResult(resp, 'episodes');
- };
-
- return EpisodeRecentlyAddedCollection;
+ return EpisodeCustomCollection;
})(App.KodiEntities.Collection);
@@ -3052,19 +3273,32 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
}
return API.getEntity(id, options);
});
- App.reqres.setHandler("episode:entities", function(tvshowid, season, options) {
+ App.reqres.setHandler("episode:entities", function(options) {
if (options == null) {
options = {};
}
- options.tvshowid = tvshowid;
- options.season = season;
return API.getCollection(options);
});
- return App.reqres.setHandler("episode:recentlyadded:entities", function(options) {
+ App.reqres.setHandler("episode:tvshow:entities", function(tvshowid, season, options) {
if (options == null) {
options = {};
}
- return API.getRecentlyAddedCollection(options);
+ if (tvshowid !== 'all') {
+ options.tvshowid = tvshowid;
+ if (season !== 'all') {
+ options.season = season;
+ }
+ }
+ return API.getCollection(options);
+ });
+ App.reqres.setHandler("episode:build:collection", function(items) {
+ return new KodiEntities.EpisodeCustomCollection(items);
+ });
+ return App.reqres.setHandler("episode:fields", function(type) {
+ if (type == null) {
+ type = 'full';
+ }
+ return helpers.entities.getFields(API.fields, type);
});
});
@@ -3077,7 +3311,7 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
API = {
fields: {
minimal: ['title', 'file', 'mimetype'],
- small: ['thumbnail'],
+ small: ['thumbnail', 'dateadded'],
full: ['fanart', 'streamdetails']
},
addonFields: ['path', 'name'],
@@ -3108,7 +3342,7 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
content: 'unknown'
}
],
- directorySeperator: '/',
+ directorySeparator: '/',
getEntity: function(id, options) {
var entity;
entity = new App.KodiEntities.File();
@@ -3122,7 +3356,8 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
getCollection: function(type, options) {
var collection, defaultOptions;
defaultOptions = {
- cache: true
+ cache: true,
+ useNamedParameters: true
};
options = _.extend(defaultOptions, options);
if (type === 'sources') {
@@ -3168,13 +3403,13 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
}
commander.multipleCommands(commands, (function(_this) {
return function(resp) {
- var i, item, model, repsonseKey, _j, _len1, _ref1;
+ var i, item, model, responseKey, _j, _len1, _ref1;
for (i in resp) {
item = resp[i];
source = _this.sources[i];
- repsonseKey = source.type + 's';
- if (item[repsonseKey]) {
- _ref1 = item[repsonseKey];
+ responseKey = source.type + 's';
+ if (item[responseKey]) {
+ _ref1 = item[responseKey];
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
model = _ref1[_j];
model.media = source.media;
@@ -3188,6 +3423,7 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
}
}
}
+ collection = _this.addPlaylists(collection);
return collection.trigger('cachesync');
};
})(this));
@@ -3215,7 +3451,7 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
return 'browser/' + media + '/' + encodeURIComponent(file);
},
createAddonFile: function(addon) {
- return 'plugin://' + addon.addonid + this.directorySeperator;
+ return 'plugin://' + addon.addonid + this.directorySeparator;
},
parseFiles: function(items, media) {
var i, item;
@@ -3228,10 +3464,23 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
items[i].player = this.getPlayer(media);
items[i].url = this.createFileUrl(media, item.file);
items[i].parsed = true;
+ items[i].defaultSort = parseInt(i);
+ items[i].label = helpers.global.removeBBCode(item.label);
}
}
return items;
},
+ addPlaylists: function(collection) {
+ var model, type, types, _i, _len;
+ types = ['video', 'music'];
+ for (_i = 0, _len = types.length; _i < _len; _i++) {
+ type = types[_i];
+ model = this.createPathModel(type, t.gettext('Playlists'), 'special://profile/playlists/' + type);
+ model.sourcetype = 'playlist';
+ collection.add(model);
+ }
+ return collection;
+ },
correctFileType: function(item) {
var directoryMimeTypes;
directoryMimeTypes = ['x-directory/normal'];
@@ -3257,12 +3506,12 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
if (parentSource.file) {
items.push(parentSource);
basePath = parentSource.file;
- pathParts = helpers.global.stringStripStartsWith(parentSource.file, file).split(this.directorySeperator);
+ pathParts = helpers.global.stringStripStartsWith(parentSource.file, file).split(this.directorySeparator);
excludedPaths = App.request("addon:excludedPaths", parentSource.addonid);
for (_j = 0, _len1 = pathParts.length; _j < _len1; _j++) {
part = pathParts[_j];
if (part !== '') {
- basePath += part + this.directorySeperator;
+ basePath += part + this.directorySeparator;
if (excludedPaths.indexOf(basePath) === -1) {
items.push(this.createPathModel(parentSource.media, part, basePath));
}
@@ -3348,23 +3597,16 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
FileCollection.prototype.model = KodiEntities.File;
FileCollection.prototype.methods = {
- read: ['Files.GetDirectory', 'arg1', 'arg2', 'arg3', 'arg4']
- };
-
- FileCollection.prototype.arg1 = function() {
- return this.argCheckOption('file', '');
- };
-
- FileCollection.prototype.arg2 = function() {
- return this.argCheckOption('media', '');
+ read: ['Files.GetDirectory', 'directory', 'media', 'properties', 'sort']
};
- FileCollection.prototype.arg3 = function() {
- return helpers.entities.getFields(API.fields, 'small');
- };
-
- FileCollection.prototype.arg4 = function() {
- return this.argSort("label", "ascending");
+ FileCollection.prototype.args = function() {
+ return this.getArgs({
+ directory: this.argCheckOption('file', ''),
+ media: this.argCheckOption('media', ''),
+ properties: this.argFields(helpers.entities.getFields(API.fields, 'small')),
+ sort: this.argSort('none', 'ascending')
+ });
};
FileCollection.prototype.parse = function(resp, xhr) {
@@ -3499,8 +3741,102 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
API = {
fields: {
minimal: ['title'],
- small: ['thumbnail', 'playcount', 'lastplayed', 'dateadded', 'resume', 'rating', 'year', 'file', 'genre', 'writer', 'director', 'cast', 'set', 'studio', 'mpaa'],
- full: ['fanart', 'plotoutline', 'imdbnumber', 'runtime', 'streamdetails', 'plot', 'trailer']
+ small: ['thumbnail'],
+ full: []
+ },
+ getEntity: function(collection, genre) {
+ return collection.findWhere({
+ title: genre
+ });
+ },
+ getCollection: function(type, options) {
+ var collection;
+ collection = new KodiEntities.GenreAudioCollection();
+ collection.fetch(helpers.entities.buildOptions(options));
+ return collection;
+ }
+ };
+
+ /*
+ Models and collections.
+ */
+ KodiEntities.Genre = (function(_super) {
+ __extends(Genre, _super);
+
+ function Genre() {
+ return Genre.__super__.constructor.apply(this, arguments);
+ }
+
+ Genre.prototype.defaults = function() {
+ return this.parseFieldsToDefaults(helpers.entities.getFields(API.fields, 'full'), {});
+ };
+
+ Genre.prototype.parse = function(obj, xhr) {
+ obj.fullyloaded = true;
+ obj.url = 'music/genre/' + encodeURIComponent(obj.title);
+ return obj;
+ };
+
+ return Genre;
+
+ })(App.KodiEntities.Model);
+ KodiEntities.GenreAudioCollection = (function(_super) {
+ __extends(GenreAudioCollection, _super);
+
+ function GenreAudioCollection() {
+ return GenreAudioCollection.__super__.constructor.apply(this, arguments);
+ }
+
+ GenreAudioCollection.prototype.model = KodiEntities.Genre;
+
+ GenreAudioCollection.prototype.methods = {
+ read: ['AudioLibrary.GetGenres', 'properties', 'limits', 'sort']
+ };
+
+ GenreAudioCollection.prototype.args = function() {
+ return this.getArgs({
+ properties: helpers.entities.getFields(API.fields, 'small'),
+ limits: this.argLimit(),
+ sort: this.argSort('title', 'ascending')
+ });
+ };
+
+ GenreAudioCollection.prototype.parse = function(resp, xhr) {
+ return this.getResult(resp, 'genres');
+ };
+
+ return GenreAudioCollection;
+
+ })(App.KodiEntities.Collection);
+
+ /*
+ Request Handlers.
+ */
+ App.reqres.setHandler("genre:entity", function(collection, genre) {
+ return API.getEntity(collection, genre);
+ });
+ return App.reqres.setHandler("genre:entities", function(type, options) {
+ if (type == null) {
+ type = 'audio';
+ }
+ if (options == null) {
+ options = {};
+ }
+ return API.getCollection(type, options);
+ });
+});
+
+this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionette, $, _) {
+
+ /*
+ API Helpers
+ */
+ var API;
+ API = {
+ fields: {
+ minimal: ['title', 'thumbnail'],
+ small: ['playcount', 'lastplayed', 'dateadded', 'resume', 'rating', 'year', 'file', 'genre', 'writer', 'director', 'cast', 'set', 'studio', 'mpaa'],
+ full: ['fanart', 'plotoutline', 'imdbnumber', 'runtime', 'streamdetails', 'plot', 'trailer', 'sorttitle', 'originaltitle', 'country', 'tag']
},
getEntity: function(id, options) {
var entity;
@@ -3513,26 +3849,9 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
return entity;
},
getCollection: function(options) {
- var collection, defaultOptions;
- defaultOptions = {
- cache: true,
- expires: config.get('static', 'collectionCacheExpiry')
- };
- options = _.extend(defaultOptions, options);
- collection = new KodiEntities.MovieCollection();
- collection.fetch(options);
- return collection;
- },
- getRecentlyAddedCollection: function(options) {
var collection;
- collection = new KodiEntities.MovieRecentlyAddedCollection();
- collection.fetch(options);
- return collection;
- },
- getFilteredCollection: function(options) {
- var collection;
- collection = new KodiEntities.MovieFilteredCollection();
- collection.fetch(options);
+ collection = new KodiEntities.MovieCollection();
+ collection.fetch(helpers.entities.buildOptions(options));
return collection;
}
};
@@ -3583,19 +3902,16 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
MovieCollection.prototype.model = KodiEntities.Movie;
MovieCollection.prototype.methods = {
- read: ['VideoLibrary.GetMovies', 'arg1', 'arg2', 'arg3']
+ read: ['VideoLibrary.GetMovies', 'properties', 'limits', 'sort', 'filter']
};
- MovieCollection.prototype.arg1 = function() {
- return helpers.entities.getFields(API.fields, 'small');
- };
-
- MovieCollection.prototype.arg2 = function() {
- return this.argLimit();
- };
-
- MovieCollection.prototype.arg3 = function() {
- return this.argSort("title", "ascending");
+ MovieCollection.prototype.args = function() {
+ return this.getArgs({
+ properties: this.argFields(helpers.entities.getFields(API.fields, 'small')),
+ limits: this.argLimit(),
+ sort: this.argSort('title', 'ascending'),
+ filter: this.argFilter()
+ });
};
MovieCollection.prototype.parse = function(resp, xhr) {
@@ -3605,52 +3921,18 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
return MovieCollection;
})(App.KodiEntities.Collection);
- KodiEntities.MovieRecentlyAddedCollection = (function(_super) {
- __extends(MovieRecentlyAddedCollection, _super);
+ KodiEntities.MovieCustomCollection = (function(_super) {
+ __extends(MovieCustomCollection, _super);
- function MovieRecentlyAddedCollection() {
- return MovieRecentlyAddedCollection.__super__.constructor.apply(this, arguments);
+ function MovieCustomCollection() {
+ return MovieCustomCollection.__super__.constructor.apply(this, arguments);
}
- MovieRecentlyAddedCollection.prototype.model = KodiEntities.Movie;
-
- MovieRecentlyAddedCollection.prototype.methods = {
- read: ['VideoLibrary.GetRecentlyAddedMovies', 'arg1', 'arg2']
- };
+ MovieCustomCollection.prototype.model = KodiEntities.Movie;
- MovieRecentlyAddedCollection.prototype.arg1 = function() {
- return helpers.entities.getFields(API.fields, 'small');
- };
-
- MovieRecentlyAddedCollection.prototype.arg2 = function() {
- return this.argLimit();
- };
-
- MovieRecentlyAddedCollection.prototype.parse = function(resp, xhr) {
- return this.getResult(resp, 'movies');
- };
-
- return MovieRecentlyAddedCollection;
+ return MovieCustomCollection;
})(App.KodiEntities.Collection);
- KodiEntities.MovieFilteredCollection = (function(_super) {
- __extends(MovieFilteredCollection, _super);
-
- function MovieFilteredCollection() {
- return MovieFilteredCollection.__super__.constructor.apply(this, arguments);
- }
-
- MovieFilteredCollection.prototype.methods = {
- read: ['VideoLibrary.GetMovies', 'arg1', 'arg2', 'arg3', 'arg4']
- };
-
- MovieFilteredCollection.prototype.arg4 = function() {
- return this.argFilter();
- };
-
- return MovieFilteredCollection;
-
- })(KodiEntities.MovieCollection);
/*
Request Handlers.
@@ -3667,31 +3949,14 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
}
return API.getCollection(options);
});
- App.reqres.setHandler("movie:filtered:entities", function(options) {
- if (options == null) {
- options = {};
- }
- return API.getFilteredCollection(options);
+ App.reqres.setHandler("movie:build:collection", function(items) {
+ return new KodiEntities.MovieCustomCollection(items);
});
- App.reqres.setHandler("movie:recentlyadded:entities", function(options) {
- if (options == null) {
- options = {};
+ return App.reqres.setHandler("movie:fields", function(type) {
+ if (type == null) {
+ type = 'full';
}
- return API.getRecentlyAddedCollection(options);
- });
- return App.commands.setHandler("movie:search:entities", function(query, limit, callback) {
- var collection;
- collection = API.getCollection({});
- return App.execute("when:entity:fetched", collection, (function(_this) {
- return function() {
- var filtered;
- filtered = new App.Entities.Filtered(collection);
- filtered.filterByString('label', query);
- if (callback) {
- return callback(filtered);
- }
- };
- })(this));
+ return helpers.entities.getFields(API.fields, type);
});
});
@@ -3707,10 +3972,12 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
small: ['artist', 'genre', 'year', 'rating', 'album', 'track', 'duration', 'playcount', 'dateadded', 'episode', 'artistid', 'albumid', 'tvshowid'],
full: ['fanart']
},
+ canThumbsUp: ['song', 'movie', 'episode'],
getCollection: function(options) {
var collection, defaultOptions;
defaultOptions = {
- cache: false
+ cache: false,
+ useNamedParameters: true
};
options = _.extend(defaultOptions, options);
collection = new KodiEntities.PlaylistCollection();
@@ -3753,6 +4020,8 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
item.id = item.file;
}
item.uid = helpers.entities.createUid(item);
+ item.canThumbsUp = helpers.global.inArray(item.type, API.canThumbsUp);
+ item.thumbsUp = false;
return item;
}
};
@@ -3798,23 +4067,15 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
PlaylistCollection.prototype.model = KodiEntities.PlaylistItem;
PlaylistCollection.prototype.methods = {
- read: ['Playlist.GetItems', 'arg1', 'arg2', 'arg3']
- };
-
- PlaylistCollection.prototype.arg1 = function() {
- return this.argCheckOption('playlistid', 0);
+ read: ['Playlist.GetItems', 'playlistid', 'properties', 'limits']
};
- PlaylistCollection.prototype.arg2 = function() {
- return helpers.entities.getFields(API.fields, 'small');
- };
-
- PlaylistCollection.prototype.arg3 = function() {
- return this.argLimit();
- };
-
- PlaylistCollection.prototype.arg4 = function() {
- return this.argSort("position", "ascending");
+ PlaylistCollection.prototype.args = function() {
+ return this.getArgs({
+ playlistid: this.argCheckOption('playlistid', 0),
+ properties: this.argFields(helpers.entities.getFields(API.fields, 'small')),
+ limits: this.argLimit()
+ });
};
PlaylistCollection.prototype.parse = function(resp, xhr) {
@@ -3855,21 +4116,61 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
*/
var API;
API = {
- fields: {
+ fieldsChannel: {
minimal: ['thumbnail'],
- small: ['channeltype', 'hidden', 'locked', 'channel', 'lastplayed', 'broadcastnow'],
+ small: ['channeltype', 'hidden', 'locked', 'channel', 'lastplayed', 'broadcastnow', 'isrecording'],
full: []
},
- getEntity: function(collection, channel) {
- return collection.findWhere({
- channel: channel
+ fieldsRecording: {
+ minimal: ['channel', 'file', 'title'],
+ small: ['resume', 'plot', 'genre', 'playcount', 'starttime', 'endtime', 'runtime', 'icon', 'art', 'streamurl', 'directory', 'radio', 'isdeleted', 'channeluid'],
+ full: []
+ },
+ getChannelEntity: function(id, options) {
+ var entity;
+ if (options == null) {
+ options = {};
+ }
+ entity = new App.KodiEntities.Channel();
+ entity.set({
+ channelid: parseInt(id),
+ properties: helpers.entities.getFields(API.fieldsChannel, 'full')
});
+ entity.fetch(options);
+ return entity;
},
- getCollection: function(options) {
- var collection;
+ getChannelCollection: function(options) {
+ var collection, defaultOptions;
+ defaultOptions = {
+ useNamedParameters: true
+ };
+ options = _.extend(defaultOptions, options);
collection = new KodiEntities.ChannelCollection();
collection.fetch(options);
return collection;
+ },
+ getRecordingEntity: function(id, options) {
+ var entity;
+ if (options == null) {
+ options = {};
+ }
+ entity = new App.KodiEntities.Recording();
+ entity.set({
+ recordingid: parseInt(id),
+ properties: helpers.entities.getFields(API.fieldsRecording, 'full')
+ });
+ entity.fetch(options);
+ return entity;
+ },
+ getRecordingCollection: function(options) {
+ var collection, defaultOptions;
+ defaultOptions = {
+ useNamedParameters: true
+ };
+ options = _.extend(defaultOptions, options);
+ collection = new KodiEntities.RecordingCollection();
+ collection.fetch(options);
+ return collection;
}
};
@@ -3884,11 +4185,19 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
}
Channel.prototype.defaults = function() {
- return this.parseFieldsToDefaults(helpers.entities.getFields(API.fields, 'full'), {});
+ return this.parseFieldsToDefaults(helpers.entities.getFields(API.fieldsChannel, 'full'), {});
};
- Channel.prototype.parse = function(obj, xhr) {
- obj.fullyloaded = true;
+ Channel.prototype.methods = {
+ read: ['PVR.GetChannelDetails', 'channelid', 'properties']
+ };
+
+ Channel.prototype.parse = function(resp, xhr) {
+ var obj;
+ obj = resp.channeldetails != null ? resp.channeldetails : resp;
+ if (resp.channeldetails != null) {
+ obj.fullyloaded = true;
+ }
return this.parseModel('channel', obj, obj.channelid);
};
@@ -3905,36 +4214,86 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
ChannelCollection.prototype.model = KodiEntities.Channel;
ChannelCollection.prototype.methods = {
- read: ['PVR.GetChannels', 'arg1', 'arg2', 'arg3']
+ read: ['PVR.GetChannels', 'channelgroupid', 'properties', 'limits']
+ };
+
+ ChannelCollection.prototype.args = function() {
+ return this.getArgs({
+ channelgroupid: this.argCheckOption('group', 0),
+ properties: helpers.entities.getFields(API.fieldsChannel, 'small'),
+ limits: this.argLimit()
+ });
};
- ChannelCollection.prototype.arg1 = function() {
- return this.argCheckOption('group', 0);
+ ChannelCollection.prototype.parse = function(resp, xhr) {
+ return this.getResult(resp, 'channels');
};
- ChannelCollection.prototype.arg2 = function() {
- return helpers.entities.getFields(API.fields, 'small');
+ return ChannelCollection;
+
+ })(App.KodiEntities.Collection);
+ KodiEntities.Recording = (function(_super) {
+ __extends(Recording, _super);
+
+ function Recording() {
+ return Recording.__super__.constructor.apply(this, arguments);
+ }
+
+ Recording.prototype.defaults = function() {
+ return this.parseFieldsToDefaults(helpers.entities.getFields(API.fieldsRecording, 'full'), {});
};
- ChannelCollection.prototype.arg3 = function() {
- return this.argLimit();
+ Recording.prototype.methods = {
+ read: ['PVR.GetRecordingDetails', 'recordingid', 'properties']
};
- ChannelCollection.prototype.parse = function(resp, xhr) {
- return this.getResult(resp, 'channels');
+ Recording.prototype.parse = function(obj, xhr) {
+ obj.fullyloaded = true;
+ obj.player = obj.radio ? 'audio' : 'video';
+ return this.parseModel('recording', obj, obj.recordingid);
};
- return ChannelCollection;
+ return Recording;
+
+ })(App.KodiEntities.Model);
+ KodiEntities.RecordingCollection = (function(_super) {
+ __extends(RecordingCollection, _super);
+
+ function RecordingCollection() {
+ return RecordingCollection.__super__.constructor.apply(this, arguments);
+ }
+
+ RecordingCollection.prototype.model = KodiEntities.Recording;
+
+ RecordingCollection.prototype.methods = {
+ read: ['PVR.GetRecordings', 'properties', 'limits']
+ };
+
+ RecordingCollection.prototype.args = function() {
+ return this.getArgs({
+ properties: helpers.entities.getFields(API.fieldsRecording, 'small'),
+ limits: this.argLimit()
+ });
+ };
+
+ RecordingCollection.prototype.parse = function(resp, xhr) {
+ return this.getResult(resp, 'recordings');
+ };
+
+ return RecordingCollection;
})(App.KodiEntities.Collection);
/*
Request Handlers.
*/
- App.reqres.setHandler("channel:entity", function(collection, channel) {
- return API.getEntity(collection, channel);
+ App.reqres.setHandler("channel:entity", function(channelid, options) {
+ if (options == null) {
+ options = {};
+ }
+ return API.getChannelEntity(channelid, options);
});
- return App.reqres.setHandler("channel:entities", function(group, options) {
+ App.reqres.setHandler("channel:entities", function(group, options) {
if (group == null) {
group = 'alltv';
}
@@ -3942,7 +4301,23 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
options = {};
}
options.group = group;
- return API.getCollection(options);
+ return API.getChannelCollection(options);
+ });
+ App.reqres.setHandler("recording:entity", function(channelid, options) {
+ if (options == null) {
+ options = {};
+ }
+ return API.getRecordingEntity(channelid, options);
+ });
+ return App.reqres.setHandler("recording:entities", function(group, options) {
+ if (group == null) {
+ group = 'alltv';
+ }
+ if (options == null) {
+ options = {};
+ }
+ options.group = group;
+ return API.getRecordingCollection(options);
});
});
@@ -3967,7 +4342,8 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
var collection, defaultOptions;
defaultOptions = {
cache: false,
- expires: config.get('static', 'collectionCacheExpiry')
+ expires: config.get('static', 'collectionCacheExpiry'),
+ useNamedParameters: true
};
options = _.extend(defaultOptions, options);
collection = new KodiEntities.SeasonCollection();
@@ -4018,23 +4394,16 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
SeasonCollection.prototype.model = KodiEntities.Season;
SeasonCollection.prototype.methods = {
- read: ['VideoLibrary.GetSeasons', 'arg1', 'arg2', 'arg3', 'arg4']
- };
-
- SeasonCollection.prototype.arg1 = function() {
- return this.argCheckOption('tvshowid', 0);
- };
-
- SeasonCollection.prototype.arg2 = function() {
- return helpers.entities.getFields(API.fields, 'small');
- };
-
- SeasonCollection.prototype.arg3 = function() {
- return this.argLimit();
+ read: ['VideoLibrary.GetSeasons', 'tvshowid', 'properties', 'limits', 'sort']
};
- SeasonCollection.prototype.arg4 = function() {
- return this.argSort("season", "ascending");
+ SeasonCollection.prototype.args = function() {
+ return this.getArgs({
+ tvshowid: this.argCheckOption('tvshowid', 0),
+ properties: this.argFields(helpers.entities.getFields(API.fields, 'small')),
+ limits: this.argLimit(),
+ sort: this.argSort("season", "ascending")
+ });
};
SeasonCollection.prototype.parse = function(resp, xhr) {
@@ -4051,13 +4420,19 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
App.reqres.setHandler("season:entity", function(collection, season) {
return API.getEntity(collection, season);
});
- return App.reqres.setHandler("season:entities", function(tvshowid, options) {
+ App.reqres.setHandler("season:entities", function(tvshowid, options) {
if (options == null) {
options = {};
}
options.tvshowid = tvshowid;
return API.getCollection(options);
});
+ return App.reqres.setHandler("season:fields", function(type) {
+ if (type == null) {
+ type = 'full';
+ }
+ return helpers.entities.getFields(API.fields, type);
+ });
});
this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionette, $, _) {
@@ -4097,6 +4472,7 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
}
collectionMethod = this.settingsType[options.type];
collection = new KodiEntities[collectionMethod]();
+ options.useNamedParameters = true;
collection.fetch(options);
if (options.section && options.type === 'settings') {
collection.where({
@@ -4246,15 +4622,14 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
SettingCategoryCollection.prototype.model = KodiEntities.Setting;
SettingCategoryCollection.prototype.methods = {
- read: ['Settings.GetCategories', 'arg1', 'arg2']
- };
-
- SettingCategoryCollection.prototype.arg1 = function() {
- return API.getSettingsLevel();
+ read: ['Settings.GetCategories', 'level', 'section']
};
- SettingCategoryCollection.prototype.arg2 = function() {
- return this.argCheckOption('section', 0);
+ SettingCategoryCollection.prototype.args = function() {
+ return this.getArgs({
+ level: API.getSettingsLevel(),
+ section: this.argCheckOption('section', 0)
+ });
};
SettingCategoryCollection.prototype.parse = function(resp, xhr) {
@@ -4276,11 +4651,13 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
SettingCollection.prototype.model = KodiEntities.Setting;
SettingCollection.prototype.methods = {
- read: ['Settings.GetSettings', 'arg1']
+ read: ['Settings.GetSettings', 'level']
};
- SettingCollection.prototype.arg1 = function() {
- return API.getSettingsLevel();
+ SettingCollection.prototype.args = function() {
+ return this.getArgs({
+ level: API.getSettingsLevel()
+ });
};
SettingCollection.prototype.parse = function(resp, xhr) {
@@ -4325,7 +4702,7 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
fields: {
minimal: ['title', 'file'],
small: ['thumbnail', 'artist', 'artistid', 'album', 'albumid', 'lastplayed', 'track', 'year', 'duration'],
- full: ['fanart', 'genre', 'style', 'mood', 'born', 'formed', 'description', 'lyrics']
+ full: ['fanart', 'genre', 'disc', 'rating', 'albumartist']
},
getSong: function(id, options) {
var artist;
@@ -4338,25 +4715,43 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
return artist;
},
getFilteredSongs: function(options) {
- var defaultOptions, songs;
- defaultOptions = {
- cache: true
- };
- options = _.extend(defaultOptions, options);
- if (options.indexOnly) {
- options.expires = config.getLocal('searchIndexCacheExpiry', 86400);
- songs = new KodiEntities.SongSearchIndexCollection();
+ var songs;
+ songs = new KodiEntities.SongFilteredCollection();
+ songs.fetch(helpers.entities.buildOptions(options));
+ return songs;
+ },
+ getCustomSongsCollection: function(type, ids, callback) {
+ var i, id, items, options, req, _results;
+ if (type === 'songid') {
+ return this.getSongsByIds(ids, -1, callback);
} else {
- songs = new KodiEntities.SongFilteredCollection();
+ items = [];
+ options = {
+ filter: {}
+ };
+ req = 0;
+ _results = [];
+ for (i in ids) {
+ id = ids[i];
+ options.filter[type] = id;
+ options.success = function(collection) {
+ items = items.concat(collection.toJSON());
+ req++;
+ if (req === ids.length) {
+ collection = new KodiEntities.SongCustomCollection(items);
+ return callback(collection);
+ }
+ };
+ _results.push(this.getFilteredSongs(options));
+ }
+ return _results;
}
- songs.fetch(options);
- return songs;
},
parseSongsToAlbumSongs: function(songs) {
- var albumid, collections, parsedRaw, song, songSet, songsRaw, _i, _len;
+ var albumid, collections, parsedRaw, song, songSet, songsRaw, year, _i, _len;
songsRaw = songs.getRawCollection();
parsedRaw = {};
- collections = {};
+ collections = [];
for (_i = 0, _len = songsRaw.length; _i < _len; _i++) {
song = songsRaw[_i];
if (!parsedRaw[song.albumid]) {
@@ -4366,8 +4761,14 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
}
for (albumid in parsedRaw) {
songSet = parsedRaw[albumid];
- collections[albumid] = new KodiEntities.SongCustomCollection(songSet);
+ year = songSet[0].year ? songSet[0].year : 0;
+ collections.push({
+ songs: new KodiEntities.SongCustomCollection(songSet),
+ albumid: parseInt(albumid),
+ sort: 0 - parseInt(year)
+ });
}
+ collections = _.sortBy(collections, 'sort');
return collections;
},
getSongsByIds: function(songIds, max, callback) {
@@ -4448,7 +4849,7 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
};
Song.prototype.methods = {
- read: ['AudioLibrary.GetSongDetails', 'songidid', 'properties']
+ read: ['AudioLibrary.GetSongDetails', 'songid', 'properties']
};
Song.prototype.parse = function(resp, xhr) {
@@ -4473,23 +4874,16 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
SongFilteredCollection.prototype.model = KodiEntities.Song;
SongFilteredCollection.prototype.methods = {
- read: ['AudioLibrary.GetSongs', 'arg1', 'arg2', 'arg3', 'arg4']
- };
-
- SongFilteredCollection.prototype.arg1 = function() {
- return helpers.entities.getFields(API.fields, 'small');
+ read: ['AudioLibrary.GetSongs', 'properties', 'limits', 'sort', 'filter']
};
- SongFilteredCollection.prototype.arg2 = function() {
- return this.argLimit();
- };
-
- SongFilteredCollection.prototype.arg3 = function() {
- return this.argSort("track", "ascending");
- };
-
- SongFilteredCollection.prototype.arg4 = function() {
- return this.argFilter();
+ SongFilteredCollection.prototype.args = function() {
+ return this.getArgs({
+ properties: this.argFields(helpers.entities.getFields(API.fields, 'small')),
+ limits: this.argLimit(),
+ sort: this.argSort("track", "ascending"),
+ filter: this.argFilter()
+ });
};
SongFilteredCollection.prototype.parse = function(resp, xhr) {
@@ -4531,12 +4925,18 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
}
return API.getSong(id, options);
});
- App.reqres.setHandler("song:filtered:entities", function(options) {
+ App.reqres.setHandler("song:entities", function(options) {
if (options == null) {
options = {};
}
return API.getFilteredSongs(options);
});
+ App.reqres.setHandler("song:custom:entities", function(type, ids, callback) {
+ return API.getCustomSongsCollection(type, ids, callback);
+ });
+ App.reqres.setHandler("song:build:collection", function(items) {
+ return new KodiEntities.SongCustomCollection(items);
+ });
App.reqres.setHandler("song:byid:entities", function(songIds, callback) {
if (songIds == null) {
songIds = [];
@@ -4546,29 +4946,11 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
App.reqres.setHandler("song:albumparse:entities", function(songs) {
return API.parseSongsToAlbumSongs(songs);
});
- return App.commands.setHandler("song:search:entities", function(query, limit, callback) {
- var allLimit, collection, options;
- allLimit = 20;
- options = helpers.global.paramObj('indexOnly', true);
- collection = API.getFilteredSongs(options);
- App.execute("when:entity:fetched", collection, (function(_this) {
- return function() {
- var count, filtered, ids;
- filtered = new App.Entities.Filtered(collection);
- filtered.filterByString('label', query);
- ids = filtered.pluck('songid');
- count = limit === 'limit' ? allLimit : -1;
- return API.getSongsByIds(ids, count, function(loaded) {
- if (ids.length > allLimit && limit === 'limit') {
- loaded.more = true;
- }
- if (callback) {
- return callback(loaded);
- }
- });
- };
- })(this));
- return collection;
+ return App.reqres.setHandler("song:fields", function(type) {
+ if (type == null) {
+ type = 'full';
+ }
+ return helpers.entities.getFields(API.fields, type);
});
});
@@ -4582,7 +4964,7 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
fields: {
minimal: ['title'],
small: ['thumbnail', 'playcount', 'lastplayed', 'dateadded', 'episode', 'rating', 'year', 'file', 'genre', 'watchedepisodes', 'cast', 'studio', 'mpaa'],
- full: ['fanart', 'imdbnumber', 'episodeguide', 'plot', 'tag']
+ full: ['fanart', 'imdbnumber', 'episodeguide', 'plot', 'tag', 'sorttitle', 'originaltitle', 'premiered', 'art']
},
getEntity: function(id, options) {
var entity;
@@ -4595,14 +4977,9 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
return entity;
},
getCollection: function(options) {
- var collection, defaultOptions;
- defaultOptions = {
- cache: true,
- expires: config.get('static', 'collectionCacheExpiry')
- };
- options = _.extend(defaultOptions, options);
+ var collection;
collection = new KodiEntities.TVShowCollection();
- collection.fetch(options);
+ collection.fetch(helpers.entities.buildOptions(options));
return collection;
}
};
@@ -4653,19 +5030,16 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
TVShowCollection.prototype.model = KodiEntities.TVShow;
TVShowCollection.prototype.methods = {
- read: ['VideoLibrary.GetTVShows', 'arg1', 'arg2', 'arg3']
- };
-
- TVShowCollection.prototype.arg1 = function() {
- return helpers.entities.getFields(API.fields, 'small');
- };
-
- TVShowCollection.prototype.arg2 = function() {
- return this.argLimit();
+ read: ['VideoLibrary.GetTVShows', 'properties', 'limits', 'sort', 'filter']
};
- TVShowCollection.prototype.arg3 = function() {
- return this.argSort("title", "ascending");
+ TVShowCollection.prototype.args = function() {
+ return this.getArgs({
+ properties: this.argFields(helpers.entities.getFields(API.fields, 'small')),
+ limits: this.argLimit(),
+ sort: this.argSort('title', 'ascending'),
+ filter: this.argFilter()
+ });
};
TVShowCollection.prototype.parse = function(resp, xhr) {
@@ -4675,24 +5049,6 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
return TVShowCollection;
})(App.KodiEntities.Collection);
- KodiEntities.TVShowFilteredCollection = (function(_super) {
- __extends(TVShowFilteredCollection, _super);
-
- function TVShowFilteredCollection() {
- return TVShowFilteredCollection.__super__.constructor.apply(this, arguments);
- }
-
- TVShowFilteredCollection.prototype.methods = {
- read: ['VideoLibrary.GetTVShowss', 'arg1', 'arg2', 'arg3', 'arg4']
- };
-
- TVShowFilteredCollection.prototype.arg4 = function() {
- return this.argFilter();
- };
-
- return TVShowFilteredCollection;
-
- })(KodiEntities.TVShowCollection);
/*
Request Handlers.
@@ -4709,19 +5065,11 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
}
return API.getCollection(options);
});
- return App.commands.setHandler("tvshow:search:entities", function(query, limit, callback) {
- var collection;
- collection = API.getCollection({});
- return App.execute("when:entity:fetched", collection, (function(_this) {
- return function() {
- var filtered;
- filtered = new App.Entities.Filtered(collection);
- filtered.filterByString('label', query);
- if (callback) {
- return callback(filtered);
- }
- };
- })(this));
+ return App.reqres.setHandler("tvshow:fields", function(type) {
+ if (type == null) {
+ type = 'full';
+ }
+ return helpers.entities.getFields(API.fields, type);
});
});
@@ -4732,6 +5080,7 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
*/
var API;
API = {
+ dictionary: {},
fields: {
minimal: [],
small: ['method', 'description', 'thumbnail', 'params', 'permission', 'returns', 'type', 'namespace', 'methodname'],
@@ -4740,7 +5089,7 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
getEntity: function(id, collection) {
var model;
model = collection.where({
- method: id
+ id: id
}).shift();
return model;
},
@@ -4750,20 +5099,29 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
options = {};
}
collection = new KodiEntities.ApiMethodCollection();
- collection.fetch(options);
+ collection.fetch(helpers.entities.buildOptions(options));
return collection;
},
- parseCollection: function(itemsRaw) {
+ parseCollection: function(itemsRaw, type) {
var item, items, method, methodParts;
if (itemsRaw == null) {
itemsRaw = [];
}
+ if (type == null) {
+ type = 'method';
+ }
items = [];
for (method in itemsRaw) {
item = itemsRaw[method];
item.method = method;
item.id = method;
- methodParts = method.split('.');
+ API.dictionary[item.id] = item.id;
+ if (type === 'type') {
+ item.params = _.extend({}, item);
+ item.description = 'API Type';
+ }
+ item.type = type;
+ methodParts = method.replace('.', '[SPLIT]').split('[SPLIT]');
item.namespace = methodParts[0];
item.methodname = methodParts[1];
items.push(item);
@@ -4804,21 +5162,21 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
ApiMethodCollection.prototype.model = KodiEntities.ApiMethod;
ApiMethodCollection.prototype.methods = {
- read: ['JSONRPC.Introspect', 'arg1', 'arg2', 'arg3']
- };
-
- ApiMethodCollection.prototype.arg1 = function() {
- return true;
+ read: ['JSONRPC.Introspect', 'getdescriptions', 'getmetadata']
};
- ApiMethodCollection.prototype.arg2 = function() {
- return true;
+ ApiMethodCollection.prototype.args = function() {
+ return this.getArgs({
+ getdescriptions: true,
+ getmetadata: true
+ });
};
ApiMethodCollection.prototype.parse = function(resp, xhr) {
- var items;
- items = this.getResult(resp, 'methods');
- return API.parseCollection(items);
+ var methods, types;
+ methods = API.parseCollection(this.getResult(resp, 'methods'), 'method');
+ types = API.parseCollection(this.getResult(resp, 'types'), 'type');
+ return methods.concat(types);
};
return ApiMethodCollection;
@@ -4831,12 +5189,15 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
App.reqres.setHandler("introspect:entity", function(id, collection) {
return API.getEntity(id, collection);
});
- return App.reqres.setHandler("introspect:entities", function(options) {
+ App.reqres.setHandler("introspect:entities", function(options) {
if (options == null) {
options = {};
}
return API.getCollection(options);
});
+ return App.reqres.setHandler("introspect:dictionary", function() {
+ return API.dictionary;
+ });
});
@@ -4847,7 +5208,7 @@ this.Kodi.module("KodiEntities", function(KodiEntities, App, Backbone, Marionett
this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _) {
var API;
API = {
- savedFields: ['id', 'position', 'file', 'type', 'label', 'thumbnail', 'artist', 'album', 'artistid', 'artistid', 'tvshowid', 'tvshow', 'year', 'rating', 'duration', 'track', 'url'],
+ savedFields: ['id', 'uid', 'position', 'file', 'type', 'label', 'thumbnail', 'artist', 'album', 'albumid', 'artistid', 'artistid', 'tvshowid', 'tvshow', 'year', 'rating', 'duration', 'track', 'url'],
playlistKey: 'localplaylist:list',
playlistItemNamespace: 'localplaylist:item:',
thumbsUpNamespace: 'thumbs:',
@@ -5049,12 +5410,28 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
id: parseInt(id)
});
});
- App.reqres.setHandler("localplaylist:item:entities", function(key) {
- return API.getItemCollection(key);
+ App.reqres.setHandler("localplaylist:item:entities", function(playlistId) {
+ return API.getItemCollection(playlistId);
});
App.reqres.setHandler("localplaylist:item:add:entities", function(playlistId, collection) {
return API.addItemsToPlaylist(playlistId, collection);
});
+ App.reqres.setHandler("localplaylist:item:updateorder", function(playlistId, order) {
+ var collection, model, newList, newPos, oldPos;
+ newList = [];
+ collection = API.getItemCollection(playlistId);
+ for (newPos in order) {
+ oldPos = order[newPos];
+ model = collection.findWhere({
+ position: parseInt(oldPos)
+ }).toJSON();
+ model.position = newPos;
+ model.id = newPos;
+ newList.push(model);
+ }
+ API.clearPlaylist(playlistId);
+ return API.addItemsToPlaylist(playlistId, newList);
+ });
/*
Thumbs up lists
@@ -5125,8 +5502,11 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
}
return items;
},
- getDefaultItems: function() {
+ getDefaultItems: function(onlyVisible) {
var nav;
+ if (onlyVisible == null) {
+ onlyVisible = true;
+ }
nav = [];
nav.push({
id: 1,
@@ -5138,13 +5518,29 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
});
nav.push({
id: 2,
- title: tr("Recent"),
+ title: tr("Music"),
path: 'music',
icon: '',
classes: '',
parent: 1
});
nav.push({
+ id: 6,
+ title: tr("Genres"),
+ path: 'music/genres',
+ icon: '',
+ classes: '',
+ parent: 1
+ });
+ nav.push({
+ id: 7,
+ title: tr("Top music"),
+ path: 'music/top',
+ icon: '',
+ classes: '',
+ parent: 1
+ });
+ nav.push({
id: 3,
title: tr("Artists"),
path: 'music/artists',
@@ -5161,15 +5557,6 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
parent: 1
});
nav.push({
- id: 5,
- title: tr("Digital radio"),
- path: 'music/radio',
- icon: '',
- classes: 'pvr-link',
- parent: 1,
- visibility: "addon:pvr:enabled"
- });
- nav.push({
id: 11,
title: tr("Movies"),
path: 'movies/recent',
@@ -5179,7 +5566,7 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
});
nav.push({
id: 12,
- title: tr("Recent movies"),
+ title: tr("Movies"),
path: 'movies/recent',
icon: '',
classes: '',
@@ -5203,7 +5590,7 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
});
nav.push({
id: 22,
- title: tr("Recent episodes"),
+ title: tr("TV shows"),
path: 'tvshows/recent',
icon: '',
classes: '',
@@ -5218,15 +5605,6 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
parent: 21
});
nav.push({
- id: 24,
- title: tr("TV"),
- path: 'tvshows/live',
- icon: '',
- classes: 'pvr-link',
- parent: 21,
- visibility: "addon:pvr:enabled"
- });
- nav.push({
id: 31,
title: tr("Browser"),
path: 'browser',
@@ -5235,6 +5613,87 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
parent: 0
});
nav.push({
+ id: 81,
+ title: tr("PVR"),
+ path: 'pvr/tv',
+ icon: 'mdi-action-settings-input-antenna',
+ classes: 'pvr-link',
+ parent: 0,
+ visibility: "addon:pvr:enabled"
+ });
+ nav.push({
+ id: 82,
+ title: tr("TV Channels"),
+ path: 'pvr/tv',
+ icon: '',
+ classes: '',
+ parent: 81
+ });
+ nav.push({
+ id: 83,
+ title: tr("Radio Stations"),
+ path: 'pvr/radio',
+ icon: '',
+ classes: '',
+ parent: 81
+ });
+ nav.push({
+ id: 84,
+ title: tr("Recordings"),
+ path: 'pvr/recordings',
+ icon: '',
+ classes: '',
+ parent: 81
+ });
+ nav.push({
+ id: 71,
+ title: tr("Add-ons"),
+ path: 'addons/all',
+ icon: 'mdi-action-extension',
+ classes: 'nav-addons',
+ parent: 0
+ });
+ nav.push({
+ id: 72,
+ title: tr("all"),
+ path: 'addons/all',
+ icon: '',
+ classes: '',
+ parent: 71
+ });
+ nav.push({
+ id: 73,
+ title: tr("video"),
+ path: 'addons/video',
+ icon: '',
+ classes: '',
+ parent: 71
+ });
+ nav.push({
+ id: 74,
+ title: tr("audio"),
+ path: 'addons/audio',
+ icon: '',
+ classes: '',
+ parent: 71
+ });
+ nav.push({
+ id: 76,
+ title: tr("executable"),
+ path: 'addons/executable',
+ icon: '',
+ classes: '',
+ parent: 71
+ });
+ nav.push({
+ id: 77,
+ title: tr("settings"),
+ path: 'settings/addons',
+ icon: '',
+ classes: '',
+ parent: 71
+ });
+ nav.push({
id: 41,
title: tr("Thumbs up"),
path: 'thumbsup',
@@ -5267,6 +5726,14 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
parent: 51
});
nav.push({
+ id: 54,
+ title: tr("Main Menu"),
+ path: 'settings/nav',
+ icon: '',
+ classes: '',
+ parent: 51
+ });
+ nav.push({
id: 53,
title: tr("Add-ons"),
path: 'settings/addons',
@@ -5275,9 +5742,9 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
parent: 51
});
nav.push({
- id: 54,
- title: tr("Main Nav"),
- path: 'settings/nav',
+ id: 55,
+ title: tr("Search"),
+ path: 'settings/search',
icon: '',
classes: '',
parent: 51
@@ -5290,7 +5757,11 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
classes: 'nav-help',
parent: 0
});
- return this.checkVisibility(nav);
+ if (onlyVisible) {
+ return this.checkVisibility(nav);
+ } else {
+ return nav;
+ }
},
checkVisibility: function(items) {
var item, newItems, _i, _len;
@@ -5323,7 +5794,7 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
},
getChildStructure: function(parentId) {
var childItems, nav, parent;
- nav = this.getDefaultItems();
+ nav = this.getDefaultItems(false);
parent = _.findWhere(nav, {
id: parentId
});
@@ -5463,6 +5934,78 @@ this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _)
});
});
+this.Kodi.module("Entities", function(Entities, App, Backbone, Marionette, $, _) {
+ var API;
+ API = {
+ localKey: 'searchAddons',
+ getLocalCollection: function() {
+ var collection;
+ collection = new Entities.LocalSearchAddonsCollection([], {
+ key: this.localKey
+ });
+ collection.fetch();
+ return collection;
+ },
+ saveLocal: function(items) {
+ var collection, i, item;
+ collection = this.clearLocal();
+ for (i in items) {
+ item = items[i];
+ collection.create(item);
+ }
+ return collection;
+ },
+ clearLocal: function() {
+ var collection, model;
+ collection = this.getLocalCollection();
+ while (model = collection.first()) {
+ model.destroy();
+ }
+ return collection;
+ }
+ };
+ Entities.SearchAddons = (function(_super) {
+ __extends(SearchAddons, _super);
+
+ function SearchAddons() {
+ return SearchAddons.__super__.constructor.apply(this, arguments);
+ }
+
+ SearchAddons.prototype.defaults = {
+ id: '',
+ url: '',
+ title: 'Untitled',
+ media: 'music'
+ };
+
+ return SearchAddons;
+
+ })(App.Entities.Model);
+ Entities.LocalSearchAddonsCollection = (function(_super) {
+ __extends(LocalSearchAddonsCollection, _super);
+
+ function LocalSearchAddonsCollection() {
+ return LocalSearchAddonsCollection.__super__.constructor.apply(this, arguments);
+ }
+
+ LocalSearchAddonsCollection.prototype.model = Entities.SearchAddons;
+
+ LocalSearchAddonsCollection.prototype.localStorage = new Backbone.LocalStorage(API.localKey);
+
+ return LocalSearchAddonsCollection;
+
+ })(App.Entities.Collection);
+ App.reqres.setHandler("searchAddons:entities", function(items) {
+ return API.getLocalCollection();
+ });
+ App.reqres.setHandler("searchAddons:update:entities", function(items) {
+ return API.saveLocal(items);
+ });
+ return App.reqres.setHandler("searchAddons:update:defaults", function() {
+ return API.clearLocal();
+ });
+});
+
this.Kodi.module("Controllers", function(Controllers, App, Backbone, Marionette, $, _) {
return Controllers.Base = (function(_super) {
__extends(Base, _super);
@@ -5508,7 +6051,8 @@ this.Kodi.module("Router", function(Router, App, Backbone, Marionette, $, _) {
}
Base.prototype.before = function(route, params) {
- return App.execute("loading:show:page");
+ App.execute("loading:show:page");
+ return App.execute("selected:clear:items");
};
Base.prototype.after = function(route, params) {
@@ -5592,6 +6136,10 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
}
};
+ ItemView.prototype.onShow = function() {
+ return this.menuBlur();
+ };
+
ItemView.prototype.menuBlur = function() {
$('.dropdown', this.$el).on('show.bs.dropdown', (function(_this) {
return function() {
@@ -5631,6 +6179,18 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
};
};
+ ItemView.prototype.toggleSelect = function(e) {
+ var op;
+ if (e.ctrlKey || e.metaKey) {
+ e.preventDefault();
+ if (!this.$el.hasClass('prevent-select') && helpers.url.arg(0) !== 'thumbsup') {
+ this.$el.toggleClass('selected');
+ op = this.$el.hasClass('selected') ? 'add' : 'remove';
+ return App.execute("selected:update:items", op, this.model.toJSON());
+ }
+ }
+ };
+
return ItemView;
})(Backbone.Marionette.ItemView);
@@ -5644,6 +6204,10 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
return LayoutView.__super__.constructor.apply(this, arguments);
}
+ LayoutView.prototype.onShow = function() {
+ return App.execute("ui:dropdown:bind:close", this.$el);
+ };
+
return LayoutView;
})(Backbone.Marionette.LayoutView);
@@ -5675,7 +6239,8 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
a = [];
for (attr in attrs) {
val = attrs[attr];
- a.push("" + attr + "='" + val + "'");
+ val = String(val).split('"').join('&quot;');
+ a.push(attr + '="' + val + '"');
}
return a.join(' ');
},
@@ -5718,72 +6283,56 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
VirtualListView.prototype.buffer = 30;
- VirtualListView.prototype.isTicking = false;
+ VirtualListView.prototype.cardSelector = '.card';
+
+ VirtualListView.prototype.animateFrameTrigger = "ui:animate:stop";
+
+ VirtualListView.prototype.placeHolderViewName = 'CardViewPlaceholder';
VirtualListView.prototype.addChild = function(child, ChildView, index) {
if (index > this.preload) {
- ChildView = App.Views.CardViewPlaceholder;
+ ChildView = App.Views[this.placeHolderViewName];
}
return Backbone.Marionette.CollectionView.prototype.addChild.apply(this, arguments);
};
- VirtualListView.prototype.bindScroll = function() {
- $(window).scrollStopped((function(_this) {
- return function() {
- return _this.requestTick();
- };
- })(this));
- return $(window).resizeStopped((function(_this) {
+ VirtualListView.prototype.initialize = function() {
+ this.originalChildView = this.getOption('childView');
+ this.placeholderChildView = App.Views[this.placeHolderViewName];
+ return App.vent.on(this.animateFrameTrigger, (function(_this) {
return function() {
- return _this.requestTick();
+ return _this.renderItemsInViewport();
};
})(this));
};
- VirtualListView.prototype.initialize = function() {
- this.originalChildView = this.getOption('childView');
- this.placeholderChildView = App.Views.CardViewPlaceholder;
- return this.bindScroll();
- };
-
VirtualListView.prototype.onRender = function() {
- if (this.collection.length > 0) {
- return this.requestTick();
- }
- };
-
- VirtualListView.prototype.requestTick = function() {
- if (!this.isTicking) {
- requestAnimationFrame((function(_this) {
- return function() {
- return _this.renderItemsInViewport();
- };
- })(this));
- }
- return this.isTicking = true;
+ return this.renderItemsInViewport();
};
VirtualListView.prototype.renderItemsInViewport = function() {
var $cards, max, min, visibleIndexes, visibleRange, _i, _results;
- this.isTicking = false;
- $cards = $(".card", this.$el);
+ $cards = $(this.cardSelector, this.$el);
visibleIndexes = [];
$cards.each((function(_this) {
return function(i, d) {
- if ($(d).visible(true)) {
+ if ($cards.length <= _this.preload || $(d).visible(true)) {
return visibleIndexes.push(i);
}
};
})(this));
- min = _.min(visibleIndexes);
- max = _.max(visibleIndexes);
- min = (min - this.buffer) < 0 ? 0 : min - this.buffer;
- max = (max + this.buffer) >= $cards.length ? $cards.length - 1 : max + this.buffer;
- visibleRange = (function() {
- _results = [];
- for (var _i = min; min <= max ? _i <= max : _i >= max; min <= max ? _i++ : _i--){ _results.push(_i); }
- return _results;
- }).apply(this);
+ visibleRange = [];
+ if (visibleIndexes.length > 0) {
+ min = _.min(visibleIndexes);
+ max = _.max(visibleIndexes);
+ min = (min - this.buffer) < 0 ? 0 : min - this.buffer;
+ max = (max + this.buffer) >= $cards.length ? $cards.length - 1 : max + this.buffer;
+ visibleRange = (function() {
+ _results = [];
+ for (var _i = min; min <= max ? _i <= max : _i >= max; min <= max ? _i++ : _i--){ _results.push(_i); }
+ return _results;
+ }).apply(this);
+ }
return $cards.each((function(_this) {
return function(i, d) {
if ($(d).hasClass('ph') && helpers.global.inArray(i, visibleRange)) {
@@ -5816,11 +6365,6 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
return helpers.backscroll.scrollToLast();
};
- VirtualListView.prototype.onDestroy = function() {
- $(window).unbind('scroll');
- return $(window).unbind('resize');
- };
-
return VirtualListView;
})(Views.CollectionView);
@@ -5840,7 +6384,12 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
CardView.prototype.events = {
"click .dropdown > i": "populateMenu",
- "click .thumbs": "toggleThumbs"
+ "click .thumbs": "toggleThumbs",
+ "click": "toggleSelect"
+ };
+
+ CardView.prototype.modelEvents = {
+ 'change': 'modelChange'
};
CardView.prototype.populateMenu = function() {
@@ -5850,6 +6399,9 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
_ref = this.model.get('menu');
for (key in _ref) {
val = _ref[key];
+ if (key.lastIndexOf('divider', 0) === 0) {
+ key = 'divider';
+ }
menu += this.themeTag('li', {
"class": key
}, val);
@@ -5884,6 +6436,13 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
});
};
+ CardView.prototype.modelChange = function() {
+ if (_.isFunction(this.setMeta)) {
+ this.setMeta();
+ }
+ return this.render();
+ };
+
return CardView;
})(App.Views.ItemView);
@@ -5912,7 +6471,62 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
});
this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
- return Views.EmptyViewPage = (function(_super) {
+ return Views.DetailsItem = (function(_super) {
+ __extends(DetailsItem, _super);
+
+ function DetailsItem() {
+ return DetailsItem.__super__.constructor.apply(this, arguments);
+ }
+
+ DetailsItem.prototype.events = {
+ "click .watched": "toggleWatched",
+ "click .internal-search li": "internalSearch",
+ "click .external-search li": "externalSearch",
+ "click .youtube-search": "youtubeSearch"
+ };
+
+ DetailsItem.prototype.modelEvents = {
+ 'change': 'modelChange'
+ };
+
+ DetailsItem.prototype.modelChange = function() {
+ return this.render();
+ };
+
+ DetailsItem.prototype.onRender = function() {
+ if (this.model.get('fanart')) {
+ this.$el.closest('.detail-container').find('.region-details-fanart').css('background-image', 'url(' + this.model.get('fanart') + ')');
+ }
+ return $('.description', this.$el).attr('title', tr('Click for more')).on('click', function(e) {
+ return $(this).toggleClass('expanded');
+ });
+ };
+
+ DetailsItem.prototype.internalSearch = function(e) {
+ var $li;
+ $li = $(e.target);
+ return App.execute('search:go', 'internal', $li.data('query'), $li.data('type'));
+ };
+
+ DetailsItem.prototype.externalSearch = function(e) {
+ var $li;
+ $li = $(e.target);
+ return App.execute('search:go', 'external', $li.data('query'), $li.data('type'));
+ };
+
+ DetailsItem.prototype.youtubeSearch = function(e) {
+ var $li;
+ $li = $(e.target);
+ return App.execute("youtube:search:popup", $li.data('query'));
+ };
+
+ return DetailsItem;
+
+ })(App.Views.ItemView);
+});
+
+this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
+ Views.EmptyViewPage = (function(_super) {
__extends(EmptyViewPage, _super);
function EmptyViewPage() {
@@ -5925,24 +6539,32 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
regionEmptyContent: ".empty--page"
};
- Views.EmptyViewResults = (function(_super1) {
- __extends(EmptyViewResults, _super1);
+ return EmptyViewPage;
- function EmptyViewResults() {
- return EmptyViewResults.__super__.constructor.apply(this, arguments);
- }
+ })(App.Views.ItemView);
+ return Views.EmptyViewResults = (function(_super) {
+ __extends(EmptyViewResults, _super);
- EmptyViewResults.prototype.template = "views/empty/empty_results";
+ function EmptyViewResults() {
+ return EmptyViewResults.__super__.constructor.apply(this, arguments);
+ }
- EmptyViewResults.prototype.regions = {
- regionEmptyContent: ".empty-result"
- };
+ EmptyViewResults.prototype.template = "views/empty/empty_results";
- return EmptyViewResults;
+ EmptyViewResults.prototype.regions = {
+ regionEmptyContent: ".empty-result"
+ };
- })(App.Views.ItemView);
+ EmptyViewResults.prototype.onRender = function() {
+ if (this.options && this.options.emptyKey) {
+ $('.empty-key', this.$el).html(tr(this.options.emptyKey));
+ }
+ if (this.options && this.options.emptyBackUrl) {
+ return $('.back-link', this.$el).html(this.themeLink(tr('Go back'), this.options.emptyBackUrl));
+ }
+ };
- return EmptyViewPage;
+ return EmptyViewResults;
})(App.Views.ItemView);
});
@@ -5958,7 +6580,7 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
LayoutWithSidebarFirstView.prototype.template = "views/layouts/layout_with_sidebar_first";
LayoutWithSidebarFirstView.prototype.regions = {
- regionSidebarFirst: ".region-first",
+ regionSidebarFirst: ".region-first-primary",
regionContent: ".region-content"
};
@@ -5970,6 +6592,12 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
return this.$el.toggleClass('region-first-open');
};
+ LayoutWithSidebarFirstView.prototype.appendSidebarView = function(viewId, appendView) {
+ $('.region-first-secondary', this.$el).append('<div id="' + viewId + '">');
+ this.regionManager.addRegion(viewId, '#' + viewId);
+ return this[viewId].show(appendView);
+ };
+
return LayoutWithSidebarFirstView;
})(App.Views.LayoutView);
@@ -6011,7 +6639,6 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
};
LayoutDetailsHeaderView.prototype.onRender = function() {
- $('.region-details-fanart', this.$el).css('background-image', 'url("' + this.model.get('fanart') + '")');
return helpers.ui.getSwatch(this.model.get('thumbnail'), function(swatches) {
return helpers.ui.applyHeaderSwatch(swatches);
});
@@ -6030,6 +6657,33 @@ this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
})(App.Views.LayoutView);
});
+this.Kodi.module("Views", function(Views, App, Backbone, Marionette, $, _) {
+ return Views.SongViewPlaceholder = (function(_super) {
+ __extends(SongViewPlaceholder, _super);
+
+ function SongViewPlaceholder() {
+ return SongViewPlaceholder.__super__.constructor.apply(this, arguments);
+ }
+
+ SongViewPlaceholder.prototype.template = "views/song/song_placeholder";
+
+ SongViewPlaceholder.prototype.tagName = 'tr';
+
+ SongViewPlaceholder.prototype.attributes = function() {
+ return {
+ "class": 'song ph'
+ };
+ };
+
+ SongViewPlaceholder.prototype.onRender = function() {
+ return this.$el.data('model', this.model);
+ };
+
+ return SongViewPlaceholder;
+
+ })(App.Views.ItemView);
+});
+
this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $, _) {
Form.Controller = (function(_super) {
__extends(Controller, _super);
@@ -6065,6 +6719,7 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
Controller.prototype.formSubmit = function(options) {
var data;
data = Backbone.Syphon.serialize(this.formLayout);
+ data = App.request("form:value:entities", options.form, data);
return this.processFormSubmit(data, options);
};
@@ -6123,7 +6778,7 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
return formController.formLayout;
});
return App.reqres.setHandler("form:popup:wrapper", function(options) {
- var formContent, formController, originalCallback;
+ var formContent, formController, originalCallback, popupStyle;
if (options == null) {
options = {};
}
@@ -6135,7 +6790,8 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
formController = new Form.Controller(options);
formContent = formController.formLayout.render().$el;
formController.formLayout.trigger('show');
- return App.execute("ui:modal:form:show", options.title, formContent);
+ popupStyle = options.config.editForm ? 'edit-form' : 'form';
+ return App.execute("ui:modal:form:show", options.title, formContent, popupStyle);
});
});
@@ -6187,7 +6843,7 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
return attrs;
};
- FormWrapper.prototype.onShow = function() {
+ FormWrapper.prototype.onRender = function() {
return _.defer((function(_this) {
return function() {
if (_this.config.focusFirstInput) {
@@ -6196,7 +6852,16 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
$('.btn').ripples({
color: 'rgba(255,255,255,0.1)'
});
- return App.vent.trigger("form:onshow", _this.config);
+ App.vent.trigger("form:onshow", _this.config);
+ $('.form-item .form-button', _this.$el).on('click', function(e) {
+ e.preventDefault();
+ if ($(this).data('trigger')) {
+ return App.execute($(this).data('trigger'));
+ }
+ });
+ if (_this.config.tabs) {
+ return _this.makeTabs(_this.$el);
+ }
};
})(this));
};
@@ -6248,6 +6913,22 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
}), 5000);
};
+ FormWrapper.prototype.makeTabs = function($ctx) {
+ var $tabs;
+ $tabs = $('<ul>').addClass('form-tabs');
+ $('.group-title', $ctx).each(function(i, d) {
+ return $('<li>').html($(d).html()).click(function(e) {
+ $('.group-parent').hide();
+ $(d).closest('.group-parent').show();
+ $(e.target).closest('.form-tabs').find('li').removeClass('active');
+ return $(e.target).addClass('active');
+ }).appendTo($tabs);
+ });
+ $('.form-groups', $ctx).before($tabs);
+ $tabs.find('li').first().trigger('click');
+ return $ctx.addClass('with-tabs');
+ };
+
return FormWrapper;
})(App.Views.LayoutView);
@@ -6263,15 +6944,15 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
Item.prototype.tagName = 'div';
Item.prototype.initialize = function() {
- var attrs, baseAttrs, el, key, materialBaseAttrs, name, options, val, value, _ref;
+ var attrs, baseAttrs, el, inputType, key, materialBaseAttrs, name, options, textfields, val, value, _ref;
name = this.model.get('name') ? this.model.get('name') : this.model.get('id');
baseAttrs = _.extend({
id: 'form-edit-' + this.model.get('id'),
- name: name
+ name: name,
+ "class": ''
}, this.model.get('attributes'));
- materialBaseAttrs = _.extend(baseAttrs, {
- "class": 'form-control'
- });
+ materialBaseAttrs = _.extend({}, baseAttrs);
+ materialBaseAttrs["class"] += ' form-control';
switch (this.model.get('type')) {
case 'checkbox':
attrs = {
@@ -6285,8 +6966,13 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
el = this.themeTag('input', _.extend(baseAttrs, attrs), '');
break;
case 'textfield':
+ case 'number':
+ case 'date':
+ case 'imageselect':
+ textfields = ['textfield', 'imageselect'];
+ inputType = helpers.global.inArray(this.model.get('type'), textfields) ? 'text' : this.model.get('type');
attrs = {
- type: 'text',
+ type: inputType,
value: this.model.get('defaultValue')
};
el = this.themeTag('input', _.extend(materialBaseAttrs, attrs), '');
@@ -6303,6 +6989,9 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
attrs = {
"class": 'form-button btn btn-secondary'
};
+ if (this.model.get('trigger')) {
+ attrs['data-trigger'] = this.model.get('trigger');
+ }
el = this.themeTag('button', _.extend(baseAttrs, attrs), this.model.get('value'));
break;
case 'textarea':
@@ -6343,11 +7032,32 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
};
Item.prototype.attributes = function() {
+ var elAttrs, elClasses;
+ elClasses = [];
+ elAttrs = this.model.get('attributes');
+ if (elAttrs["class"]) {
+ elClasses = _.map(elAttrs["class"].split(' '), function(c) {
+ return 'form-item-' + c;
+ });
+ }
return {
- "class": 'form-item form-group form-type-' + this.model.get('type') + ' form-edit-' + this.model.get('id')
+ "class": 'form-item form-group form-type-' + this.model.get('type') + ' form-edit-' + this.model.get('id') + ' ' + elClasses.join(' ')
};
};
+ Item.prototype.onRender = function() {
+ return _.defer((function(_this) {
+ return function() {
+ if (_this.model.get('prefix')) {
+ _this.$el.before(_this.model.get('prefix'));
+ }
+ if (_this.model.get('suffix')) {
+ return _this.$el.after(_this.model.get('suffix'));
+ }
+ };
+ })(this));
+ };
+
return Item;
})(App.Views.ItemView);
@@ -6362,10 +7072,16 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
Group.prototype.tagName = 'div';
- Group.prototype.childView = Form.Item;
-
Group.prototype.childViewContainer = '.form-items';
+ Group.prototype.getChildView = function(item) {
+ if (item.get('type') === 'imageselect') {
+ return Form.ItemImageSelect;
+ } else {
+ return Form.Item;
+ }
+ };
+
Group.prototype.attributes = function() {
return {
"class": 'form-group group-parent ' + this.model.get('class')
@@ -6385,7 +7101,7 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
return Group;
})(App.Views.CompositeView);
- return Form.Groups = (function(_super) {
+ Form.Groups = (function(_super) {
__extends(Groups, _super);
function Groups() {
@@ -6399,18 +7115,113 @@ this.Kodi.module("Components.Form", function(Form, App, Backbone, Marionette, $,
return Groups;
})(App.Views.CollectionView);
+
+ /*
+ Custom Widgets that extend Form.Item
+ */
+ return Form.ItemImageSelect = (function(_super) {
+ __extends(ItemImageSelect, _super);
+
+ function ItemImageSelect() {
+ return ItemImageSelect.__super__.constructor.apply(this, arguments);
+ }
+
+ ItemImageSelect.prototype.template = 'components/form/form_item_imageselect';
+
+ ItemImageSelect.prototype.initialize = function() {
+ var thumb;
+ ItemImageSelect.__super__.initialize.apply(this, arguments);
+ thumb = App.request("images:path:get", this.model.get('defaultValue'), this.model.get('id'));
+ return this.model.set({
+ image: {
+ original: this.model.get('defaultValue'),
+ thumb: thumb
+ }
+ });
+ };
+
+ ItemImageSelect.prototype.onRender = function() {
+ var $input, $panes, $tabs, $thumbs, $wrapper, field, item, metadataHandler, metadataLookup;
+ item = this.model.get('formState');
+ field = this.model.get('id');
+ metadataHandler = this.model.get('metadataImageHandler');
+ metadataLookup = this.model.get('metadataLookupField');
+ $wrapper = $('.form-imageselect', this.$el);
+ $thumbs = $('.form-imageselect__thumbs', this.$el);
+ $input = $('.form-imageselect__url input', this.$el);
+ $tabs = $('.form-imageselect__tabs', this.$el);
+ $panes = $('.form-imageselect__panes', this.$el);
+ $tabs.on('click', 'li', function(e) {
+ $tabs.find('li').removeClass('active');
+ $(this).addClass('active');
+ $panes.find('.pane').removeClass('active');
+ return $panes.find('.pane[rel=' + $(this).data('pane') + ']').addClass('active');
+ });
+ $thumbs.on('click', 'li', function(e) {
+ $thumbs.find('li').removeClass('selected');
+ return $input.val($(this).addClass('selected').data('original'));
+ });
+ return _.defer(function() {
+ if (metadataHandler && metadataLookup && item[metadataLookup]) {
+ $wrapper.addClass('images-loading');
+ return App.execute(metadataHandler, item[metadataLookup], function(resp) {
+ var image, _i, _len, _ref;
+ if (resp) {
+ _ref = resp[field];
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ image = _ref[_i];
+ $thumbs.append($('<li data-original="' + image.original + '"><img src="' + image.thumb + '" /></li>'));
+ }
+ }
+ return $wrapper.removeClass('images-loading');
+ });
+ }
+ });
+ };
+
+ return ItemImageSelect;
+
+ })(Form.Item);
});
this.Kodi.module("AddonApp", function(AddonApp, App, Backbone, Marionette, $, _) {
var API;
+ AddonApp.Router = (function(_super) {
+ __extends(Router, _super);
+
+ function Router() {
+ return Router.__super__.constructor.apply(this, arguments);
+ }
+
+ Router.prototype.appRoutes = {
+ "addons/:type": "list",
+ "addon/execute/:id": "execute"
+ };
+
+ return Router;
+
+ })(App.Router.Base);
API = {
+ list: function(type) {
+ return new AddonApp.List.Controller({
+ type: type
+ });
+ },
+ execute: function(id) {
+ API.addonController().executeAddon(id, helpers.url.params(), function() {
+ return Kodi.execute("notification:show", tr('Executed addon'));
+ });
+ return App.navigate("addons/executable", {
+ trigger: true
+ });
+ },
addonController: function() {
return App.request("command:kodi:controller", 'auto', 'AddOn');
},
getEnabledAddons: function(callback) {
var addons;
addons = [];
- if (config.getLocal("addOnsLoaded", false)) {
+ if (config.getLocal("addOnsLoaded", false) === true) {
addons = config.getLocal("addOnsEnabled", []);
if (callback) {
callback(addons);
@@ -6419,6 +7230,7 @@ this.Kodi.module("AddonApp", function(AddonApp, App, Backbone, Marionette, $, _)
this.addonController().getEnabledAddons(true, function(addons) {
config.setLocal("addOnsEnabled", addons);
config.setLocal("addOnsLoaded", true);
+ config.set('app', "addOnsSearchSettings", API.getSearchSettings(addons));
if (callback) {
return callback(addons);
}
@@ -6426,6 +7238,25 @@ this.Kodi.module("AddonApp", function(AddonApp, App, Backbone, Marionette, $, _)
}
return addons;
},
+ getSearchSettings: function(addons) {
+ var addon, i, searchSetting, searchSettings, set, _i, _len;
+ searchSettings = [];
+ for (_i = 0, _len = addons.length; _i < _len; _i++) {
+ addon = addons[_i];
+ searchSetting = App.request("addon:search:settings:" + addon.addonid);
+ if (searchSetting) {
+ if (!_.isArray(searchSetting)) {
+ searchSetting = [searchSetting];
+ }
+ for (i in searchSetting) {
+ set = searchSetting[i];
+ set.id = addon.addonid + '.' + i;
+ searchSettings.push(set);
+ }
+ }
+ }
+ return searchSettings;
+ },
isAddOnEnabled: function(filter, callback) {
var addons;
if (filter == null) {
@@ -6436,7 +7267,12 @@ this.Kodi.module("AddonApp", function(AddonApp, App, Backbone, Marionette, $, _)
}
};
App.on("before:start", function() {
- return API.getEnabledAddons(function(resp) {});
+ new AddonApp.Router({
+ controller: API
+ });
+ return API.getEnabledAddons(function(resp) {
+ return App.vent.trigger("navMain:refresh");
+ });
});
App.reqres.setHandler('addon:isEnabled', function(filter, callback) {
return API.isAddOnEnabled(filter, function(enabled) {
@@ -6452,7 +7288,7 @@ this.Kodi.module("AddonApp", function(AddonApp, App, Backbone, Marionette, $, _)
}
});
});
- return App.reqres.setHandler('addon:excludedPaths', function(addonId) {
+ App.reqres.setHandler('addon:excludedPaths', function(addonId) {
var excludedPaths;
if (addonId != null) {
excludedPaths = App.request("addon:excludedPaths:" + addonId);
@@ -6462,6 +7298,139 @@ this.Kodi.module("AddonApp", function(AddonApp, App, Backbone, Marionette, $, _)
}
return excludedPaths;
});
+ return App.reqres.setHandler('addon:search:enabled', function() {
+ var settings;
+ settings = config.get('app', "addOnsSearchSettings", []);
+ settings = settings.concat(App.request('searchAddons:entities').toJSON());
+ return settings;
+ });
+});
+
+this.Kodi.module("AddonApp.GoogleMusic", function(GoogleMusic, App, Backbone, Marionette, $, _) {
+ var API;
+ API = {
+ addonId: 'plugin.audio.googlemusic.exp',
+ searchAddon: {
+ id: this.addonId,
+ url: 'plugin://plugin.audio.googlemusic.exp/?path=search_result&type=track&query=[QUERY]',
+ title: 'GoogleMusic',
+ media: 'music'
+ }
+ };
+ return App.reqres.setHandler("addon:search:settings:" + API.addonId, function() {
+ return API.searchAddon;
+ });
+});
+
+this.Kodi.module("AddonApp.List", function(List, App, Backbone, Marionette, $, _) {
+ return List.Controller = (function(_super) {
+ __extends(Controller, _super);
+
+ function Controller() {
+ return Controller.__super__.constructor.apply(this, arguments);
+ }
+
+ Controller.prototype.initialize = function(options) {
+ this.type = options.type;
+ return App.request("addon:entities", this.type, (function(_this) {
+ return function(collection) {
+ collection.sortCollection('name');
+ _this.layout = _this.getLayoutView(collection);
+ _this.listenTo(_this.layout, "show", function() {
+ _this.renderList(collection);
+ return _this.renderSidebar();
+ });
+ return App.regionContent.show(_this.layout);
+ };
+ })(this));
+ };
+
+ Controller.prototype.renderList = function(collection) {
+ var view;
+ view = new List.Addons({
+ collection: collection
+ });
+ return this.layout.regionContent.show(view);
+ };
+
+ Controller.prototype.getLayoutView = function(collection) {
+ return new List.ListLayout({
+ collection: collection
+ });
+ };
+
+ Controller.prototype.renderSidebar = function() {
+ var settingsNavView;
+ settingsNavView = App.request("navMain:children:show", 'addons/all', 'Add-ons');
+ return this.layout.regionSidebarFirst.show(settingsNavView);
+ };
+
+ return Controller;
+
+ })(App.Controllers.Base);
+});
+
+this.Kodi.module("AddonApp.List", function(List, App, Backbone, Marionette, $, _) {
+ List.ListLayout = (function(_super) {
+ __extends(ListLayout, _super);
+
+ function ListLayout() {
+ return ListLayout.__super__.constructor.apply(this, arguments);
+ }
+
+ ListLayout.prototype.className = "addon-list";
+
+ return ListLayout;
+
+ })(App.Views.LayoutWithSidebarFirstView);
+ List.Teaser = (function(_super) {
+ __extends(Teaser, _super);
+
+ function Teaser() {
+ return Teaser.__super__.constructor.apply(this, arguments);
+ }
+
+ Teaser.prototype.tagName = "li";
+
+ return Teaser;
+
+ })(App.Views.CardView);
+ return List.Addons = (function(_super) {
+ __extends(Addons, _super);
+
+ function Addons() {
+ return Addons.__super__.constructor.apply(this, arguments);
+ }
+
+ Addons.prototype.childView = List.Teaser;
+
+ Addons.prototype.emptyView = App.Views.EmptyViewResults;
+
+ Addons.prototype.tagName = "ul";
+
+ Addons.prototype.sort = 'name';
+
+ Addons.prototype.className = "card-grid--square";
+
+ return Addons;
+
+ })(App.Views.CollectionView);
+});
+
+this.Kodi.module("AddonApp.MixCloud", function(MixCloud, App, Backbone, Marionette, $, _) {
+ var API;
+ API = {
+ addonId: 'plugin.audio.mixcloud',
+ searchAddon: {
+ id: this.addonId,
+ url: 'plugin://plugin.audio.mixcloud/?mode=30&key=cloudcast&offset=0&query=[QUERY]',
+ title: 'MixCloud',
+ media: 'music'
+ }
+ };
+ return App.reqres.setHandler("addon:search:settings:" + API.addonId, function() {
+ return API.searchAddon;
+ });
});
this.Kodi.module("AddonApp.Pvr", function(Pvr, App, Backbone, Marionette, $, _) {
@@ -6478,6 +7447,22 @@ this.Kodi.module("AddonApp.Pvr", function(Pvr, App, Backbone, Marionette, $, _)
});
});
+this.Kodi.module("AddonApp.Radio", function(Radio, App, Backbone, Marionette, $, _) {
+ var API;
+ API = {
+ addonId: 'plugin.audio.radio_de',
+ searchAddon: {
+ id: this.addonId,
+ url: 'plugin://plugin.audio.radio_de/stations/search/[QUERY]',
+ title: 'Radio',
+ media: 'music'
+ }
+ };
+ return App.reqres.setHandler("addon:search:settings:" + API.addonId, function() {
+ return API.searchAddon;
+ });
+});
+
this.Kodi.module("AddonApp.SoundCloud", function(Soundcloud, App, Backbone, Marionette, $, _) {
var API;
API = {
@@ -6487,15 +7472,10 @@ this.Kodi.module("AddonApp.SoundCloud", function(Soundcloud, App, Backbone, Mari
url: 'plugin://plugin.audio.soundcloud/search/query/?q=[QUERY]',
title: 'SoundCloud',
media: 'music'
- },
- isEnabled: function() {
- return App.request("addon:isEnabled", {
- addonid: this.addonId
- });
}
};
- return App.reqres.setHandler("addon:soundcloud:enabled", function() {
- return API.isEnabled();
+ return App.reqres.setHandler("addon:search:settings:" + API.addonId, function() {
+ return API.searchAddon;
});
});
@@ -6504,21 +7484,15 @@ this.Kodi.module("AddonApp.YouTube", function(Soundcloud, App, Backbone, Marione
API = {
addonId: 'plugin.video.youtube',
searchAddon: {
- id: this.addonId,
- url: 'plugin://plugin.video.youtube/search/list/?q=[QUERY]',
+ url: 'plugin://plugin.video.youtube/search/?q=[QUERY]',
title: 'YouTube',
media: 'video'
- },
- isEnabled: function() {
- return App.request("addon:isEnabled", {
- addonid: this.addonId
- });
}
};
- App.reqres.setHandler("addon:youtube:enabled", function() {
- return API.isEnabled();
+ App.reqres.setHandler("addon:search:settings:" + API.addonId, function() {
+ return API.searchAddon;
});
- return App.reqres.setHandler("addon:excludedPaths:plugin.video.youtube", function() {
+ return App.reqres.setHandler("addon:excludedPaths:" + API.addonId, function() {
return ['plugin://plugin.video.youtube/special/', 'plugin://plugin.video.youtube/kodion/search/', 'plugin://plugin.video.youtube/kodion/', 'plugin://plugin.video.youtube/channel/'];
});
});
@@ -6533,7 +7507,6 @@ this.Kodi.module("AlbumApp", function(AlbumApp, App, Backbone, Marionette, $, _)
}
Router.prototype.appRoutes = {
- "music": "recent",
"music/albums": "list",
"music/album/:id": "view"
};
@@ -6542,9 +7515,6 @@ this.Kodi.module("AlbumApp", function(AlbumApp, App, Backbone, Marionette, $, _)
})(App.Router.Base);
API = {
- recent: function() {
- return new AlbumApp.Landing.Controller();
- },
list: function() {
return new AlbumApp.List.Controller();
},
@@ -6578,83 +7548,150 @@ this.Kodi.module("AlbumApp", function(AlbumApp, App, Backbone, Marionette, $, _)
App.commands.setHandler('album:action', function(op, model) {
return API.action(op, model);
});
- return App.reqres.setHandler('album:action:items', function() {
+ App.reqres.setHandler('album:action:items', function() {
return {
actions: {
thumbs: 'Thumbs up'
},
menu: {
- add: 'Add to Kodi playlist',
- localadd: 'Add to local playlist',
- divider: '',
- localplay: 'Play in browser'
+ add: tr('Queue in Kodi'),
+ 'divider-1': '',
+ localadd: tr('Add to playlist'),
+ localplay: tr('Play in browser'),
+ 'divider-2': '',
+ edit: tr('Edit')
}
};
});
+ return App.commands.setHandler('album:edit', function(model) {
+ var loadedModel;
+ loadedModel = App.request("album:entity", model.get('id'));
+ return App.execute("when:entity:fetched", loadedModel, (function(_this) {
+ return function() {
+ return new AlbumApp.Edit.Controller({
+ model: loadedModel
+ });
+ };
+ })(this));
+ });
});
-this.Kodi.module("AlbumApp.Landing", function(Landing, App, Backbone, Marionette, $, _) {
- return Landing.Controller = (function(_super) {
+this.Kodi.module("AlbumApp.Edit", function(Edit, App, Backbone, Marionette, $, _) {
+ return Edit.Controller = (function(_super) {
__extends(Controller, _super);
function Controller() {
return Controller.__super__.constructor.apply(this, arguments);
}
- Controller.prototype.subNavId = 'music';
-
Controller.prototype.initialize = function() {
- this.layout = this.getLayoutView();
- this.listenTo(this.layout, "show", (function(_this) {
- return function() {
- _this.getPageView();
- return _this.getSubNav();
- };
- })(this));
- return App.regionContent.show(this.layout);
- };
-
- Controller.prototype.getLayoutView = function() {
- return new Landing.Layout();
- };
-
- Controller.prototype.getSubNav = function() {
- var subNav;
- subNav = App.request("navMain:children:show", this.subNavId, 'Sections');
- return this.layout.regionSidebarFirst.show(subNav);
- };
-
- Controller.prototype.getPageView = function() {
- this.page = new Landing.Page();
- this.listenTo(this.page, "show", (function(_this) {
- return function() {
- _this.renderRecentlyAdded();
- return _this.renderRecentlyPlayed();
- };
- })(this));
- return this.layout.regionContent.show(this.page);
+ var form, options;
+ this.model = this.getOption('model');
+ options = {
+ title: '<span>' + tr('Edit') + '</span>' + this.model.get('title'),
+ form: this.getStructure(),
+ formState: this.model.attributes,
+ config: {
+ attributes: {
+ "class": 'edit-form'
+ },
+ editForm: true,
+ tabs: true,
+ callback: (function(_this) {
+ return function(data, formView) {
+ return _this.saveCallback(data, formView);
+ };
+ })(this)
+ }
+ };
+ return form = App.request("form:popup:wrapper", options);
};
- Controller.prototype.renderRecentlyAdded = function() {
- var collection;
- collection = App.request("album:recentlyadded:entities");
- return App.execute("when:entity:fetched", collection, (function(_this) {
- return function() {
- var view;
- view = App.request("album:list:view", collection);
- return _this.page.regionRecentlyAdded.show(view);
- };
- })(this));
+ Controller.prototype.getStructure = function() {
+ return [
+ {
+ title: 'General',
+ id: 'general',
+ children: [
+ {
+ id: 'title',
+ title: tr('Title'),
+ type: 'textfield'
+ }, {
+ id: 'artist',
+ title: tr('Artist'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'description',
+ title: tr('Description'),
+ type: 'textarea'
+ }, {
+ id: 'albumlabel',
+ title: tr('Label'),
+ type: 'textfield'
+ }, {
+ id: 'year',
+ title: tr('Year'),
+ type: 'number',
+ format: 'integer',
+ attributes: {
+ "class": 'half-width',
+ step: 1,
+ min: 0,
+ max: 9999
+ }
+ }, {
+ id: 'rating',
+ title: tr('Rating'),
+ type: 'number',
+ format: 'float',
+ attributes: {
+ "class": 'half-width',
+ step: 0.1,
+ min: 0,
+ max: 10
+ },
+ suffix: '<div class="clearfix"></div>'
+ }
+ ]
+ }, {
+ title: 'Tags',
+ id: 'tags',
+ children: [
+ {
+ id: 'genre',
+ title: tr('Genres'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'style',
+ title: tr('Styles'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'theme',
+ title: tr('Themes'),
+ type: 'textarea',
+ format: 'array.string'
+ }, {
+ id: 'mood',
+ title: tr('Moods'),
+ type: 'textarea',
+ format: 'array.string'
+ }
+ ]
+ }
+ ];
};
- Controller.prototype.renderRecentlyPlayed = function() {
- var collection;
- collection = App.request("album:recentlyplayed:entities");
- return App.execute("when:entity:fetched", collection, (function(_this) {
+ Controller.prototype.saveCallback = function(data, formView) {
+ var controller;
+ controller = App.request("command:kodi:controller", 'audio', 'AudioLibrary');
+ return controller.setAlbumDetails(this.model.get('id'), data, (function(_this) {
return function() {
- var view;
- view = App.request("album:list:view", collection);
- return _this.page.regionRecentlyPlayed.show(view);
+ Kodi.vent.trigger('entity:kodi:update', _this.model.get('uid'));
+ return Kodi.execute("notification:show", t.sprintf(tr("Updated %1$s details"), 'album'));
};
})(this));
};
@@ -6664,40 +7701,6 @@ this.Kodi.module("AlbumApp.Landing", function(Landing, App, Backbone, Marionette
})(App.Controllers.Base);
});
-this.Kodi.module("AlbumApp.Landing", function(Landing, App, Backbone, Marionette, $, _) {
- Landing.Layout = (function(_super) {
- __extends(Layout, _super);
-
- function Layout() {
- return Layout.__super__.constructor.apply(this, arguments);
- }
-
- Layout.prototype.className = "album-landing landing-page";
-
- return Layout;
-
- })(App.Views.LayoutWithSidebarFirstView);
- return Landing.Page = (function(_super) {
- __extends(Page, _super);
-
- function Page() {
- return Page.__super__.constructor.apply(this, arguments);
- }
-
- Page.prototype.template = 'apps/album/landing/landing';
-
- Page.prototype.className = "album-recent";
-
- Page.prototype.regions = {
- regionRecentlyAdded: '.region-recently-added',
- regionRecentlyPlayed: '.region-recently-played'
- };
-
- return Page;
-
- })(App.Views.LayoutView);
-});
-
this.Kodi.module("AlbumApp.List", function(List, App, Backbone, Marionette, $, _) {
var API;
API = {
@@ -6711,17 +7714,16 @@ this.Kodi.module("AlbumApp.List", function(List, App, Backbone, Marionette, $, _
App.listenTo(view, 'childview:album:localadd', function(list, item) {
return App.execute('album:action', 'localadd', item);
});
- return App.listenTo(view, 'childview:album:localplay', function(list, item) {
+ App.listenTo(view, 'childview:album:localplay', function(list, item) {
return App.execute('album:action', 'localplay', item);
});
+ return App.listenTo(view, 'childview:album:edit', function(parent, item) {
+ return App.execute('album:edit', item.model);
+ });
},
- getAlbumsList: function(collection, set) {
- var view, viewName;
- if (set == null) {
- set = false;
- }
- viewName = set ? 'AlbumsSet' : 'Albums';
- view = new List[viewName]({
+ getAlbumsList: function(collection) {
+ var view;
+ view = new List.Albums({
collection: collection
});
API.bindTriggers(view);
@@ -6761,8 +7763,8 @@ this.Kodi.module("AlbumApp.List", function(List, App, Backbone, Marionette, $, _
Controller.prototype.getAvailableFilters = function() {
return {
- sort: ['label', 'year', 'rating', 'artist', 'dateadded'],
- filter: ['year', 'genre', 'thumbsUp']
+ sort: ['label', 'year', 'rating', 'artist', 'dateadded', 'random'],
+ filter: ['year', 'genre', 'style', 'albumlabel', 'thumbsUp']
};
};
@@ -6789,7 +7791,7 @@ this.Kodi.module("AlbumApp.List", function(List, App, Backbone, Marionette, $, _
})(App.Controllers.Base);
return App.reqres.setHandler("album:list:view", function(collection) {
- return API.getAlbumsList(collection, true);
+ return API.getAlbumsList(collection);
});
});
@@ -6817,14 +7819,21 @@ this.Kodi.module("AlbumApp.List", function(List, App, Backbone, Marionette, $, _
"click .play": "album:play",
"click .dropdown .add": "album:add",
"click .dropdown .localadd": "album:localadd",
- "click .dropdown .localplay": "album:localplay"
+ "click .dropdown .localplay": "album:localplay",
+ "click .dropdown .edit": "album:edit"
};
AlbumTeaser.prototype.initialize = function() {
- var artist, artistLink;
AlbumTeaser.__super__.initialize.apply(this, arguments);
if (this.model != null) {
- this.model.set(App.request('album:action:items'));
+ this.setMeta();
+ return this.model.set(App.request('album:action:items'));
+ }
+ };
+
+ AlbumTeaser.prototype.setMeta = function() {
+ var artist, artistLink;
+ if (this.model) {
artist = this.model.get('artist') !== '' ? this.model.get('artist') : '&nbsp;';
artistLink = this.themeLink(artist, helpers.url.get('artist', this.model.get('artistid')));
return this.model.set({
@@ -6850,7 +7859,7 @@ this.Kodi.module("AlbumApp.List", function(List, App, Backbone, Marionette, $, _
return Empty;
})(App.Views.EmptyViewResults);
- List.Albums = (function(_super) {
+ return List.Albums = (function(_super) {
__extends(Albums, _super);
function Albums() {
@@ -6870,26 +7879,6 @@ this.Kodi.module("AlbumApp.List", function(List, App, Backbone, Marionette, $, _
return Albums;
})(App.Views.VirtualListView);
- return List.AlbumsSet = (function(_super) {
- __extends(AlbumsSet, _super);
-
- function AlbumsSet() {
- return AlbumsSet.__super__.constructor.apply(this, arguments);
- }
-
- AlbumsSet.prototype.childView = List.AlbumTeaser;
-
- AlbumsSet.prototype.emptyView = List.Empty;
-
- AlbumsSet.prototype.tagName = "ul";
-
- AlbumsSet.prototype.sort = 'artist';
-
- AlbumsSet.prototype.className = "card-grid--square";
-
- return AlbumsSet;
-
- })(App.Views.CollectionView);
});
this.Kodi.module("AlbumApp.Show", function(Show, App, Backbone, Marionette, $, _) {
@@ -6905,31 +7894,37 @@ this.Kodi.module("AlbumApp.Show", function(Show, App, Backbone, Marionette, $, _
App.listenTo(view, 'album:localadd', function(item) {
return App.execute('album:action', 'localadd', item);
});
- return App.listenTo(view, 'album:localplay', function(item) {
+ App.listenTo(view, 'album:localplay', function(item) {
return App.execute('album:action', 'localplay', item);
});
+ return App.listenTo(view, 'album:edit', function(item) {
+ return App.execute('album:edit', item.model);
+ });
},
getAlbumsFromSongs: function(songs) {
- var album, albumid, albumsCollectionView, songCollection;
+ var album, albumSet, albumsCollectionView, _i, _len;
albumsCollectionView = new Show.WithSongsCollection();
albumsCollectionView.on("add:child", (function(_this) {
return function(albumView) {
return App.execute("when:entity:fetched", album, function() {
- var model, songView, teaser;
+ var model, songSet, songView, teaser;
model = albumView.model;
teaser = new Show.AlbumTeaser({
model: model
});
API.bindTriggers(teaser);
albumView.regionMeta.show(teaser);
- songView = App.request("song:list:view", songs[model.get('albumid')]);
+ songSet = _.findWhere(songs, {
+ albumid: model.get('albumid')
+ });
+ songView = App.request("song:list:view", songSet.songs);
return albumView.regionSongs.show(songView);
});
};
})(this));
- for (albumid in songs) {
- songCollection = songs[albumid];
- album = App.request("album:entity", albumid, {
+ for (_i = 0, _len = songs.length; _i < _len; _i++) {
+ albumSet = songs[_i];
+ album = App.request("album:entity", albumSet.albumid, {
success: function(album) {
return albumsCollectionView.addChild(album, Show.WithSongsLayout);
}
@@ -6985,6 +7980,9 @@ this.Kodi.module("AlbumApp.Show", function(Show, App, Backbone, Marionette, $, _
detail = new Show.Details({
model: album
});
+ _this.listenTo(detail, "show", function() {
+ return API.bindTriggers(detail);
+ });
headerLayout.regionSide.show(teaser);
return headerLayout.regionMeta.show(detail);
};
@@ -6999,7 +7997,7 @@ this.Kodi.module("AlbumApp.Show", function(Show, App, Backbone, Marionette, $, _
albumid: id
}
};
- songs = App.request("song:filtered:entities", options);
+ songs = App.request("song:entities", options);
return App.execute("when:entity:fetched", songs, (function(_this) {
return function() {
var albumView, songView;
@@ -7092,9 +8090,17 @@ this.Kodi.module("AlbumApp.Show", function(Show, App, Backbone, Marionette, $, _
Details.prototype.template = 'apps/album/show/details_meta';
+ Details.prototype.triggers = {
+ "click .play": "album:play",
+ "click .add": "album:add",
+ "click .localadd": "album:localadd",
+ "click .localplay": "album:localplay",
+ "click .edit": "album:edit"
+ };
+
return Details;
- })(App.Views.ItemView);
+ })(App.Views.DetailsItem);
Show.AlbumTeaser = (function(_super) {
__extends(AlbumTeaser, _super);
@@ -7104,13 +8110,19 @@ this.Kodi.module("AlbumApp.Show", function(Show, App, Backbone, Marionette, $, _
AlbumTeaser.prototype.tagName = "div";
- AlbumTeaser.prototype.className = "card-minimal";
-
AlbumTeaser.prototype.initialize = function() {
- this.model.set({
+ this.setMeta();
+ return this.model.set(App.request('album:action:items'));
+ };
+
+ AlbumTeaser.prototype.setMeta = function() {
+ return this.model.set({
subtitle: this.themeLink(this.model.get('year'), 'music/albums?year=' + this.model.get('year'))
});
- return this.model.set(App.request('album:action:items'));
+ };
+
+ AlbumTeaser.prototype.attributes = function() {
+ return this.watchedAttributes('card-minimal');
};
return AlbumTeaser;
@@ -7123,7 +8135,9 @@ this.Kodi.module("AlbumApp.Show", function(Show, App, Backbone, Marionette, $, _
return AlbumDetailTeaser.__super__.constructor.apply(this, arguments);
}
- AlbumDetailTeaser.prototype.className = "card-detail";
+ AlbumDetailTeaser.prototype.attributes = function() {
+ return this.watchedAttributes('card-detail');
+ };
return AlbumDetailTeaser;
@@ -7181,19 +8195,153 @@ this.Kodi.module("ArtistApp", function(ArtistApp, App, Backbone, Marionette, $,
App.commands.setHandler('artist:action', function(op, model) {
return API.action(op, model);
});
- return App.reqres.setHandler('artist:action:items', function() {
+ App.reqres.setHandler('artist:action:items', function() {
return {
actions: {
- thumbs: 'Thumbs up'
+ thumbs: tr('Thumbs up')
},
menu: {
- add: 'Add to Kodi playlist',
- localadd: 'Add to local playlist',
- divider: '',
- localplay: 'Play in browser'
+ add: tr('Queue in Kodi'),
+ 'divider-1': '',
+ localadd: tr('Add to playlist'),
+ localplay: tr('Play in browser'),
+ 'divider-1': '',
+ edit: tr('Edit')
}
};
});
+ return App.commands.setHandler('artist:edit', function(model) {
+ var loadedModel;
+ loadedModel = App.request("artist:entity", model.get('id'));
+ return App.execute("when:entity:fetched", loadedModel, (function(_this) {
+ return function() {
+ return new ArtistApp.Edit.Controller({
+ model: loadedModel
+ });
+ };
+ })(this));
+ });
+});
+
+this.Kodi.module("ArtistApp.Edit", function(Edit, App, Backbone, Marionette, $, _) {
+ return Edit.Controller = (function(_super) {
+ __extends(Controller, _super);
+
+ function Controller() {
+ return Controller.__super__.constructor.apply(this, arguments);
+ }
+
+ Controller.prototype.initialize = function() {
+ var form, options;
+ this.model = this.getOption('model');
+ options = {
+ title: '<span>' + tr('Edit') + '</span>' + this.model.get('artist'),
+ form: this.getStructure(),
+ formState: this.model.attributes,
+ config: {
+ attributes: {
+ "class": 'edit-form'
+ },
+ editForm: true,
+ tabs: true,
+ callback: (function(_this) {
+ return function(data, formView) {
+ return _this.saveCallback(data, formView);
+ };
+ })(this)
+ }
+ };
+ return form = App.request("form:popup:wrapper", options);
+ };
+
+ Controller.prototype.getStructure = function() {
+ return [
+ {
+ title: 'General',
+ id: 'general',
+ children: [
+ {
+ id: 'artist',
+ title: tr('Title'),
+ type: 'textfield'
+ }, {
+ id: 'description',
+ title: tr('Description'),
+ type: 'textarea'
+ }, {
+ id: 'formed',
+ title: tr('Formed'),
+ type: 'textfield'
+ }, {
+ id: 'disbanded',
+ title: tr('Disbanded'),
+ type: 'textfield'
+ }, {
+ id: 'yearsactive',
+ title: tr('Years Active'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'born',
+ title: tr('Born'),
+ type: 'textfield',
+ attributes: {
+ "class": 'half-width'
+ }
+ }, {
+ id: 'died',
+ title: tr('Died'),
+ type: 'textfield',
+ attributes: {
+ "class": 'half-width'
+ },
+ suffix: '<div class="clearfix"></div>'
+ }
+ ]
+ }, {
+ title: 'Tags',
+ id: 'tags',
+ children: [
+ {
+ id: 'genre',
+ title: tr('Genres'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'style',
+ title: tr('Styles'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'instrument',
+ title: tr('Instruments'),
+ type: 'textarea',
+ format: 'array.string'
+ }, {
+ id: 'mood',
+ title: tr('Moods'),
+ type: 'textarea',
+ format: 'array.string'
+ }
+ ]
+ }
+ ];
+ };
+
+ Controller.prototype.saveCallback = function(data, formView) {
+ var controller;
+ controller = App.request("command:kodi:controller", 'audio', 'AudioLibrary');
+ return controller.setArtistDetails(this.model.get('id'), data, (function(_this) {
+ return function() {
+ Kodi.vent.trigger('entity:kodi:update', _this.model.get('uid'));
+ return Kodi.execute("notification:show", t.sprintf(tr("Updated %1$s details"), 'album'));
+ };
+ })(this));
+ };
+
+ return Controller;
+
+ })(App.Controllers.Base);
});
this.Kodi.module("ArtistApp.List", function(List, App, Backbone, Marionette, $, _) {
@@ -7209,17 +8357,16 @@ this.Kodi.module("ArtistApp.List", function(List, App, Backbone, Marionette, $,
App.listenTo(view, 'childview:artist:localadd', function(list, item) {
return App.execute('artist:action', 'localadd', item);
});
- return App.listenTo(view, 'childview:artist:localplay', function(list, item) {
+ App.listenTo(view, 'childview:artist:localplay', function(list, item) {
return App.execute('artist:action', 'localplay', item);
});
+ return App.listenTo(view, 'childview:artist:edit', function(parent, item) {
+ return App.execute('artist:edit', item.model);
+ });
},
- getArtistList: function(collection, set) {
- var view, viewName;
- if (set == null) {
- set = false;
- }
- viewName = set ? 'ArtistsSet' : 'Artists';
- view = new List[viewName]({
+ getArtistList: function(collection) {
+ var view;
+ view = new List.Artists({
collection: collection
});
API.bindTriggers(view);
@@ -7259,7 +8406,7 @@ this.Kodi.module("ArtistApp.List", function(List, App, Backbone, Marionette, $,
Controller.prototype.getAvailableFilters = function() {
return {
- sort: ['label'],
+ sort: ['label', 'random'],
filter: ['mood', 'genre', 'style', 'thumbsUp']
};
};
@@ -7287,7 +8434,7 @@ this.Kodi.module("ArtistApp.List", function(List, App, Backbone, Marionette, $,
})(App.Controllers.Base);
return App.reqres.setHandler("artist:list:view", function(collection) {
- return API.getArtistList(collection, true);
+ return API.getArtistList(collection);
});
});
@@ -7315,7 +8462,8 @@ this.Kodi.module("ArtistApp.List", function(List, App, Backbone, Marionette, $,
"click .play": "artist:play",
"click .dropdown .add": "artist:add",
"click .dropdown .localadd": "artist:localadd",
- "click .dropdown .localplay": "artist:localplay"
+ "click .dropdown .localplay": "artist:localplay",
+ "click .dropdown .edit": "artist:edit"
};
ArtistTeaser.prototype.initialize = function() {
@@ -7342,7 +8490,7 @@ this.Kodi.module("ArtistApp.List", function(List, App, Backbone, Marionette, $,
return Empty;
})(App.Views.EmptyViewResults);
- List.Artists = (function(_super) {
+ return List.Artists = (function(_super) {
__extends(Artists, _super);
function Artists() {
@@ -7360,33 +8508,27 @@ this.Kodi.module("ArtistApp.List", function(List, App, Backbone, Marionette, $,
return Artists;
})(App.Views.VirtualListView);
- return List.ArtistsSet = (function(_super) {
- __extends(ArtistsSet, _super);
-
- function ArtistsSet() {
- return ArtistsSet.__super__.constructor.apply(this, arguments);
- }
-
- ArtistsSet.prototype.childView = List.ArtistTeaser;
-
- ArtistsSet.prototype.emptyView = List.Empty;
-
- ArtistsSet.prototype.tagName = "ul";
-
- ArtistsSet.prototype.className = "card-grid--wide";
-
- return ArtistsSet;
-
- })(App.Views.CollectionView);
});
this.Kodi.module("ArtistApp.Show", function(Show, App, Backbone, Marionette, $, _) {
var API;
API = {
bindTriggers: function(view) {
- return App.listenTo(view, 'artist:play', function(item) {
+ App.listenTo(view, 'artist:play', function(item) {
return App.execute('artist:action', 'play', item);
});
+ App.listenTo(view, 'artist:add', function(item) {
+ return App.execute('artist:action', 'add', item);
+ });
+ App.listenTo(view, 'artist:localadd', function(item) {
+ return App.execute('artist:action', 'localadd', item);
+ });
+ App.listenTo(view, 'artist:localplay', function(item) {
+ return App.execute('artist:action', 'localplay', item);
+ });
+ return App.listenTo(view, 'artist:edit', function(item) {
+ return App.execute('artist:edit', item.model);
+ });
}
};
return Show.Controller = (function(_super) {
@@ -7436,6 +8578,9 @@ this.Kodi.module("ArtistApp.Show", function(Show, App, Backbone, Marionette, $,
detail = new Show.Details({
model: artist
});
+ _this.listenTo(detail, "show", function() {
+ return API.bindTriggers(detail);
+ });
headerLayout.regionSide.show(teaser);
return headerLayout.regionMeta.show(detail);
};
@@ -7444,13 +8589,15 @@ this.Kodi.module("ArtistApp.Show", function(Show, App, Backbone, Marionette, $,
};
Controller.prototype.getMusic = function(id) {
- var options, songs;
+ var loading, options, songs;
+ loading = App.request("loading:get:view", tr('Loading albums'));
+ this.layout.regionContent.show(loading);
options = {
filter: {
artistid: id
}
};
- songs = App.request("song:filtered:entities", options);
+ songs = App.request("song:entities", options);
return App.execute("when:entity:fetched", songs, (function(_this) {
return function() {
var albumsCollection, songsCollections;
@@ -7500,9 +8647,17 @@ this.Kodi.module("ArtistApp.Show", function(Show, App, Backbone, Marionette, $,
Details.prototype.template = 'apps/artist/show/details_meta';
+ Details.prototype.triggers = {
+ "click .play": "artist:play",
+ "click .add": "artist:add",
+ "click .localadd": "artist:localadd",
+ "click .localplay": "artist:localplay",
+ "click .edit": "artist:edit"
+ };
+
return Details;
- })(App.Views.ItemView);
+ })(App.Views.DetailsItem);
return Show.ArtistTeaser = (function(_super) {
__extends(ArtistTeaser, _super);
@@ -7512,7 +8667,17 @@ this.Kodi.module("ArtistApp.Show", function(Show, App, Backbone, Marionette, $,
ArtistTeaser.prototype.tagName = "div";
- ArtistTeaser.prototype.className = "card-detail";
+ ArtistTeaser.prototype.initialize = function() {
+ return this.model.set({
+ actions: {
+ thumbs: tr('Thumbs up')
+ }
+ });
+ };
+
+ ArtistTeaser.prototype.attributes = function() {
+ return this.watchedAttributes('card-detail');
+ };
return ArtistTeaser;
@@ -7535,7 +8700,7 @@ soundManager.setup({
return $(window).trigger('audiostream:ready');
},
ontimeout: function() {
- $(window).trigger('audiostream:timout');
+ $(window).trigger('audiostream:timeout');
soundManager.flashLoadTimeout = 0;
soundManager.onerror = {};
return soundManager.reboot();
@@ -7578,6 +8743,65 @@ this.Kodi.module("BrowserApp", function(BrowserApp, App, Backbone, Marionette, $
});
this.Kodi.module("BrowserApp.List", function(List, App, Backbone, Marionette, $, _) {
+ var API;
+ API = {
+ bindFileTriggers: function(view) {
+ App.listenTo(view, 'childview:file:play', (function(_this) {
+ return function(set, item) {
+ var playlist;
+ playlist = App.request("command:kodi:controller", item.model.get('player'), 'PlayList');
+ return playlist.play('file', item.model.get('file'));
+ };
+ })(this));
+ App.listenTo(view, 'childview:file:queue', (function(_this) {
+ return function(set, item) {
+ var playlist;
+ playlist = App.request("command:kodi:controller", item.model.get('player'), 'PlayList');
+ return playlist.add('file', item.model.get('file'));
+ };
+ })(this));
+ return App.listenTo(view, 'childview:file:download', (function(_this) {
+ return function(set, item) {
+ return App.request("command:kodi:controller", 'auto', 'Files').downloadFile(item.model.get('file'));
+ };
+ })(this));
+ },
+ bindFolderTriggers: function(view) {
+ App.listenTo(view, 'childview:folder:play', (function(_this) {
+ return function(set, item) {
+ return App.request("command:kodi:controller", item.model.get('player'), 'PlayList').play('directory', item.model.get('file'));
+ };
+ })(this));
+ return App.listenTo(view, 'childview:folder:queue', (function(_this) {
+ return function(set, item) {
+ return App.request("command:kodi:controller", item.model.get('player'), 'PlayList').add('directory', item.model.get('file'));
+ };
+ })(this));
+ },
+ getFileListView: function(collection) {
+ var fileView;
+ fileView = new List.FileList({
+ collection: collection
+ });
+ API.bindFileTriggers(fileView);
+ return fileView;
+ },
+ getFolderListView: function(collection) {
+ var folderView;
+ folderView = new List.FolderList({
+ collection: collection
+ });
+ App.listenTo(folderView, 'childview:folder:open', (function(_this) {
+ return function(set, item) {
+ return App.navigate(item.model.get('url'), {
+ trigger: true
+ });
+ };
+ })(this));
+ API.bindFolderTriggers(folderView);
+ return folderView;
+ }
+ };
List.Controller = (function(_super) {
__extends(Controller, _super);
@@ -7608,10 +8832,58 @@ this.Kodi.module("BrowserApp.List", function(List, App, Backbone, Marionette, $,
};
Controller.prototype.getFolderLayout = function() {
- this.folderLayout = new List.FolderLayout();
+ var options;
+ options = {
+ sortSettings: this.getSort()
+ };
+ this.folderLayout = new List.FolderLayout(options);
+ this.listenTo(this.folderLayout, 'browser:sort', (function(_this) {
+ return function(sort, $el) {
+ return _this.setSort(sort, $el);
+ };
+ })(this));
+ this.listenTo(this.folderLayout, 'browser:play', (function(_this) {
+ return function(view) {
+ if (_this.model) {
+ return App.request("command:kodi:controller", _this.model.get('player'), 'PlayList').play('directory', _this.model.get('file'));
+ }
+ };
+ })(this));
+ this.listenTo(this.folderLayout, 'browser:queue', (function(_this) {
+ return function(view) {
+ if (_this.model) {
+ return App.request("command:kodi:controller", _this.model.get('player'), 'PlayList').add('directory', _this.model.get('file'));
+ }
+ };
+ })(this));
return this.layout.regionContent.show(this.folderLayout);
};
+ Controller.prototype.setSort = function(sort, $el) {
+ var sortSettings;
+ sortSettings = this.getSort();
+ if (sortSettings.method === sort) {
+ sortSettings.order = sortSettings.order === 'ascending' ? 'descending' : 'ascending';
+ }
+ if ($el) {
+ $el.removeClassStartsWith('order-').addClass('order-' + sortSettings.order).addClass('active');
+ }
+ sortSettings.method = sort;
+ if (sortSettings.method) {
+ config.set('app', 'browserSort', sortSettings);
+ }
+ if (this.model) {
+ return this.getFolder(this.model);
+ }
+ };
+
+ Controller.prototype.getSort = function() {
+ return config.get('app', 'browserSort', {
+ method: 'none',
+ order: 'ascending'
+ });
+ };
+
Controller.prototype.getSources = function(options) {
var sources;
sources = App.request("file:source:entities", 'video');
@@ -7641,11 +8913,14 @@ this.Kodi.module("BrowserApp.List", function(List, App, Backbone, Marionette, $,
};
Controller.prototype.getFolder = function(model) {
- var collection, pathCollection;
+ var collection, pathCollection, sortSettings;
+ this.model = model;
App.navigate(model.get('url'));
+ sortSettings = this.getSort();
collection = App.request("file:entities", {
file: model.get('file'),
- media: model.get('media')
+ media: model.get('media'),
+ sort: sortSettings
});
pathCollection = App.request("file:path:entities", model.get('file'), this.sourceCollection);
this.getPathList(pathCollection);
@@ -7669,13 +8944,7 @@ this.Kodi.module("BrowserApp.List", function(List, App, Backbone, Marionette, $,
return _this.getFolder(item.model);
};
})(this));
- this.listenTo(folderView, 'childview:folder:play', (function(_this) {
- return function(set, item) {
- var playlist;
- playlist = App.request("command:kodi:controller", item.model.get('player'), 'PlayList');
- return playlist.play('directory', item.model.get('file'));
- };
- })(this));
+ API.bindFolderTriggers(folderView);
return folderView;
};
@@ -7685,25 +8954,7 @@ this.Kodi.module("BrowserApp.List", function(List, App, Backbone, Marionette, $,
};
Controller.prototype.getFileListView = function(collection) {
- var fileView;
- fileView = new List.FileList({
- collection: collection
- });
- this.listenTo(fileView, 'childview:file:play', (function(_this) {
- return function(set, item) {
- var playlist;
- playlist = App.request("command:kodi:controller", item.model.get('player'), 'PlayList');
- return playlist.play('file', item.model.get('file'));
- };
- })(this));
- this.listenTo(fileView, 'childview:file:queue', (function(_this) {
- return function(set, item) {
- var playlist;
- playlist = App.request("command:kodi:controller", item.model.get('player'), 'PlayList');
- return playlist.add('file', item.model.get('file'));
- };
- })(this));
- return fileView;
+ return API.getFileListView(collection);
};
Controller.prototype.getFileList = function(collection) {
@@ -7769,10 +9020,11 @@ this.Kodi.module("BrowserApp.List", function(List, App, Backbone, Marionette, $,
return Controller;
})(App.Controllers.Base);
- return App.reqres.setHandler("browser:files:view", function(path, media, callback) {
- var browserController;
- browserController = new List.Controller();
- return browserController.getFileViewByPath(path, media, callback);
+ App.reqres.setHandler("browser:file:view", function(collection) {
+ return API.getFileListView(collection);
+ });
+ return App.reqres.setHandler("browser:directory:view", function(collection) {
+ return API.getFolderListView(collection);
});
});
@@ -7879,6 +9131,25 @@ this.Kodi.module("BrowserApp.List", function(List, App, Backbone, Marionette, $,
regionBack: '.back'
};
+ FolderLayout.prototype.triggers = {
+ 'click .play': 'browser:play',
+ 'click .queue': 'browser:queue'
+ };
+
+ FolderLayout.prototype.events = {
+ 'click .sorts li': 'sortList'
+ };
+
+ FolderLayout.prototype.sortList = function(e) {
+ $('.sorts li', this.$el).removeClass('active');
+ return this.trigger('browser:sort', $(e.target).data('sort'), $(e.target));
+ };
+
+ FolderLayout.prototype.onRender = function() {
+ $('.sorts li', this.$el).addClass('order-' + this.options.sortSettings.order);
+ return $('.sorts li[data-sort=' + this.options.sortSettings.method + ']', this.$el).addClass('active');
+ };
+
return FolderLayout;
})(App.Views.LayoutView);
@@ -7913,7 +9184,23 @@ this.Kodi.module("BrowserApp.List", function(List, App, Backbone, Marionette, $,
Folder.prototype.triggers = {
'click .title': 'folder:open',
- 'click .play': 'folder:play'
+ 'dblclick .title': 'file:play',
+ 'click .play': 'folder:play',
+ 'click .queue': 'folder:queue'
+ };
+
+ Folder.prototype.events = {
+ "click .dropdown > i": "menuPopulate"
+ };
+
+ Folder.prototype.initialize = function() {
+ var menu;
+ menu = {
+ queue: tr('Queue in Kodi')
+ };
+ return this.model.set({
+ menu: menu
+ });
};
return Folder;
@@ -7949,8 +9236,9 @@ this.Kodi.module("BrowserApp.List", function(List, App, Backbone, Marionette, $,
File.prototype.triggers = {
'click .play': 'file:play',
- "dblclick .title": "file:play",
- 'click .queue': 'file:queue'
+ 'dblclick .title': 'file:play',
+ 'click .queue': 'file:queue',
+ 'click .download': 'file:download'
};
File.prototype.events = {
@@ -7960,8 +9248,11 @@ this.Kodi.module("BrowserApp.List", function(List, App, Backbone, Marionette, $,
File.prototype.initialize = function() {
var menu;
menu = {
- 'queue': 'Add to Kodi playlist'
+ queue: tr('Queue in Kodi')
};
+ if (this.model.get('filetype') === 'file' && this.model.get('file').lastIndexOf('plugin://', 0) !== 0) {
+ menu.download = tr('Download');
+ }
return this.model.set({
menu: menu
});
@@ -7979,6 +9270,8 @@ this.Kodi.module("BrowserApp.List", function(List, App, Backbone, Marionette, $,
FolderList.prototype.tagName = 'ul';
+ FolderList.prototype.className = 'browser-folder-list';
+
FolderList.prototype.childView = List.Folder;
return FolderList;
@@ -7993,6 +9286,8 @@ this.Kodi.module("BrowserApp.List", function(List, App, Backbone, Marionette, $,
FileList.prototype.tagName = 'ul';
+ FileList.prototype.className = 'browser-file-list';
+
FileList.prototype.childView = List.File;
FileList.prototype.emptyView = List.EmptyFiles;
@@ -8103,6 +9398,16 @@ this.Kodi.module("CastApp.List", function(List, App, Backbone, Marionette, $, _)
"click .google": "cast:google"
};
+ CastTeaser.prototype.onRender = function() {
+ return _.defer(function() {
+ var defaultThumb;
+ defaultThumb = App.request("images:path:get", '');
+ return $('img', this.$el).on('error', function(e) {
+ return $(this).attr('src', defaultThumb);
+ });
+ });
+ };
+
return CastTeaser;
})(App.Views.ItemView);
@@ -8124,6 +9429,133 @@ this.Kodi.module("CastApp.List", function(List, App, Backbone, Marionette, $, _)
})(App.Views.CollectionView);
});
+this.Kodi.module("CategoryApp", function(CategoryApp, App, Backbone, Marionette, $, _) {
+ var API;
+ CategoryApp.Router = (function(_super) {
+ __extends(Router, _super);
+
+ function Router() {
+ return Router.__super__.constructor.apply(this, arguments);
+ }
+
+ Router.prototype.appRoutes = {
+ "music/genres": "musicGenres"
+ };
+
+ return Router;
+
+ })(App.Router.Base);
+ API = {
+ musicGenres: function() {
+ return new CategoryApp.List.Controller({
+ entityKey: 'genre:entities',
+ media: 'audio',
+ subNavParent: 'music'
+ });
+ }
+ };
+ return App.on("before:start", function() {
+ return new CategoryApp.Router({
+ controller: API
+ });
+ });
+});
+
+this.Kodi.module("CategoryApp.List", function(List, App, Backbone, Marionette, $, _) {
+ return List.Controller = (function(_super) {
+ __extends(Controller, _super);
+
+ function Controller() {
+ return Controller.__super__.constructor.apply(this, arguments);
+ }
+
+ Controller.prototype.initialize = function(options) {
+ var collection;
+ collection = App.request(this.getOption('entityKey'), this.getOption('media'));
+ return App.execute("when:entity:fetched", collection, (function(_this) {
+ return function() {
+ _this.layout = _this.getLayoutView(collection);
+ _this.listenTo(_this.layout, "show", function() {
+ _this.renderList(collection);
+ return _this.getSubNav();
+ });
+ return App.regionContent.show(_this.layout);
+ };
+ })(this));
+ };
+
+ Controller.prototype.getLayoutView = function(collection) {
+ return new List.Layout({
+ collection: collection
+ });
+ };
+
+ Controller.prototype.renderList = function(collection) {
+ var view;
+ view = new List.CategoryList({
+ collection: collection
+ });
+ return this.layout.regionContent.show(view);
+ };
+
+ Controller.prototype.getSubNav = function() {
+ var subNav;
+ subNav = App.request("navMain:children:show", this.getOption('subNavParent'), 'Sections');
+ return this.layout.regionSidebarFirst.show(subNav);
+ };
+
+ return Controller;
+
+ })(App.Controllers.Base);
+});
+
+this.Kodi.module("CategoryApp.List", function(List, App, Backbone, Marionette, $, _) {
+ List.Layout = (function(_super) {
+ __extends(Layout, _super);
+
+ function Layout() {
+ return Layout.__super__.constructor.apply(this, arguments);
+ }
+
+ Layout.prototype.className = "category-list";
+
+ return Layout;
+
+ })(App.Views.LayoutWithSidebarFirstView);
+ List.Item = (function(_super) {
+ __extends(Item, _super);
+
+ function Item() {
+ return Item.__super__.constructor.apply(this, arguments);
+ }
+
+ Item.prototype.template = 'apps/category/list/item';
+
+ Item.prototype.tagName = "li";
+
+ Item.prototype.className = "card category";
+
+ return Item;
+
+ })(App.Views.CardView);
+ return List.CategoryList = (function(_super) {
+ __extends(CategoryList, _super);
+
+ function CategoryList() {
+ return CategoryList.__super__.constructor.apply(this, arguments);
+ }
+
+ CategoryList.prototype.childView = List.Item;
+
+ CategoryList.prototype.tagName = "ul";
+
+ CategoryList.prototype.className = "card-grid--square";
+
+ return CategoryList;
+
+ })(App.Views.CollectionView);
+});
+
this.Kodi.module("CommandApp", function(CommandApp, App, Backbone, Marionette, $, _) {
var API;
API = {
@@ -8194,6 +9626,16 @@ this.Kodi.module("CommandApp", function(CommandApp, App, Backbone, Marionette, $
}
});
});
+
+ /*
+ Commands that are generally used by settings pages.
+ */
+ App.commands.setHandler("command:kodi:audio:clean", function() {
+ return App.request("command:kodi:controller", 'auto', 'AudioLibrary').clean();
+ });
+ App.commands.setHandler("command:kodi:video:clean", function() {
+ return App.request("command:kodi:controller", 'auto', 'VideoLibrary').clean();
+ });
return App.addInitializer(function() {});
});
@@ -8242,7 +9684,8 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
Base.prototype.singleCommand = function(command, params, callback) {
var obj;
command = {
- method: command
+ method: command,
+ url: helpers.url.baseKodiUrl(command)
};
if ((params != null) && (params.length > 0 || _.isObject(params))) {
command.params = params;
@@ -8534,6 +9977,24 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
})(this));
};
+ AddOn.prototype.executeAddon = function(addonId, params, callback) {
+ var opts;
+ if (params == null) {
+ params = {};
+ }
+ opts = {
+ addonid: addonId
+ };
+ if (!_.isEmpty(params)) {
+ opts.params = params;
+ }
+ return this.singleCommand(this.getCommand('ExecuteAddon'), opts, (function(_this) {
+ return function(resp) {
+ return _this.doCallback(callback, resp.addons);
+ };
+ })(this));
+ };
+
return AddOn;
})(Api.Commander);
@@ -8630,7 +10091,7 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
})(this));
};
- AudioLibrary.prototype.setArtistDetails = function(id, fields, callback) {
+ AudioLibrary.prototype.setSongDetails = function(id, fields, callback) {
var params;
if (fields == null) {
fields = {};
@@ -8654,6 +10115,16 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
})(this));
};
+ AudioLibrary.prototype.clean = function(callback) {
+ return this.singleCommand(this.getCommand('Clean'), {
+ showdialogs: false
+ }, (function(_this) {
+ return function(resp) {
+ return _this.doCallback(callback, resp);
+ };
+ })(this));
+ };
+
return AudioLibrary;
})(Api.Commander);
@@ -8797,57 +10268,88 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
PlayList.prototype.commandNameSpace = 'Playlist';
PlayList.prototype.play = function(type, value, model, resume, callback) {
- var stateObj;
if (resume == null) {
resume = 0;
}
+ return this.getItems((function(_this) {
+ return function(currentPlaylist) {
+ var inPlaylist, plItem, pos, stateObj;
+ plItem = {
+ type: type.replace('id', ''),
+ id: value
+ };
+ inPlaylist = currentPlaylist.items ? _.findWhere(currentPlaylist.items, plItem) : false;
+ if (inPlaylist) {
+ return _this.playPosition(inPlaylist.position, resume, callback);
+ } else {
+ stateObj = App.request("state:kodi");
+ if (stateObj.isPlaying(_this.getPlayerName())) {
+ pos = currentPlaylist.items ? stateObj.getPlaying('position') + 1 : 0;
+ return _this.insertAndPlay(type, value, pos, resume, callback);
+ } else {
+ return _this.clear(function() {
+ return _this.insertAndPlay(type, value, 0, resume, callback);
+ });
+ }
+ }
+ };
+ })(this));
+ };
+
+ PlayList.prototype.addCollection = function(collection, position, callback) {
+ var stateObj;
+ if (position == null) {
+ position = 0;
+ }
stateObj = App.request("state:kodi");
- if (stateObj.isPlaying()) {
- return this.insertAndPlay(type, value, stateObj.getPlaying('position') + 1, resume, callback);
+ if (stateObj.isPlaying(this.getPlayerName())) {
+ position = stateObj.getPlaying('position') + 1;
+ this.addCollectionItems(collection, position, callback);
} else {
- return this.clear((function(_this) {
+ this.clear((function(_this) {
return function() {
- return _this.insertAndPlay(type, value, 0, resume, callback);
+ return _this.addCollectionItems(collection, position, callback);
};
})(this));
}
+ return position;
};
- PlayList.prototype.addCollection = function(collection, position, callback) {
+ PlayList.prototype.addCollectionItems = function(collection, position, callback) {
+ var commands, i, model, models, params, player, pos, type;
if (position == null) {
position = 0;
}
- return this.clear((function(_this) {
- return function() {
- var commands, i, model, models, params, player, pos, type;
- models = collection.getRawCollection();
- player = _this.getPlayer();
- commands = [];
- for (i in models) {
- model = models[i];
- pos = parseInt(position) + parseInt(i);
- type = model.type === 'file' ? 'file' : model.type + 'id';
- params = [player, pos, _this.paramObj(type, model[type])];
- commands.push({
- method: _this.getCommand('Insert'),
- params: params
- });
- }
- return _this.multipleCommands(commands, function(resp) {
- _this.doCallback(callback, resp);
- return _this.refreshPlaylistView();
- });
+ App.execute("notification:show", t.gettext("Adding items to the queue"));
+ models = collection.getRawCollection();
+ player = this.getPlayer();
+ commands = [];
+ for (i in models) {
+ model = models[i];
+ pos = parseInt(position) + parseInt(i);
+ type = model.type === 'file' ? 'file' : model.type + 'id';
+ params = [player, pos, this.paramObj(type, model[type])];
+ commands.push({
+ method: this.getCommand('Insert'),
+ params: params
+ });
+ }
+ return this.multipleCommands(commands, (function(_this) {
+ return function(resp) {
+ _this.doCallback(callback, resp);
+ return _this.refreshPlaylistView();
};
})(this));
};
PlayList.prototype.playCollection = function(collection, position) {
+ var pos;
if (position == null) {
position = 0;
}
- return this.addCollection(collection, position, (function(_this) {
+ return pos = this.addCollection(collection, position, (function(_this) {
return function(resp) {
- _this.playEntity('position', parseInt(position), {}, function() {});
+ _this.playEntity('position', parseInt(pos), {}, function() {});
return _this.refreshPlaylistView();
};
})(this));
@@ -8893,11 +10395,21 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
PlayList.prototype.getItems = function(callback) {
return this.singleCommand(this.getCommand('GetItems'), [this.getPlayer(), ['title']], (function(_this) {
return function(resp) {
- return _this.doCallback(callback, resp);
+ return _this.doCallback(callback, _this.parseItems(resp));
};
})(this));
};
+ PlayList.prototype.parseItems = function(resp) {
+ if (resp.items) {
+ resp.items = _.map(resp.items, function(item, idx) {
+ item.position = parseInt(idx);
+ return item;
+ });
+ }
+ return resp;
+ };
+
PlayList.prototype.insertAndPlay = function(type, value, position, resume, callback) {
if (position == null) {
position = 0;
@@ -8907,12 +10419,24 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
}
return this.insert(type, value, position, (function(_this) {
return function(resp) {
- return _this.playEntity('position', parseInt(position), {}, function() {
- if (resume > 0) {
- App.execute("player:kodi:progress:update", resume);
- }
- return _this.doCallback(callback, resp);
- });
+ return _this.playPosition(position, resume, callback);
+ };
+ })(this));
+ };
+
+ PlayList.prototype.playPosition = function(position, resume, callback) {
+ if (position == null) {
+ position = 0;
+ }
+ if (resume == null) {
+ resume = 0;
+ }
+ return this.playEntity('position', parseInt(position), {}, (function(_this) {
+ return function() {
+ if (resume > 0) {
+ App.execute("player:kodi:progress:update", resume);
+ }
+ return _this.doCallback(callback);
};
})(this));
};
@@ -8962,13 +10486,14 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
PVR.prototype.commandNameSpace = 'PVR';
- PVR.prototype.setPVRRecord = function(id, fields, callback) {
+ PVR.prototype.setRecord = function(id, fields, callback) {
var params;
if (fields == null) {
fields = {};
}
params = {
- channel: id
+ channel: id,
+ record: 'toggle'
};
params = _.extend(params, fields);
return this.singleCommand(this.getCommand('Record'), params, (function(_this) {
@@ -8978,6 +10503,50 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
})(this));
};
+ PVR.prototype.toggleTimer = function(id, timerRule, callback) {
+ var params;
+ if (timerRule == null) {
+ timerRule = false;
+ }
+ params = {
+ broadcastid: id,
+ timerrule: timerRule
+ };
+ return this.singleCommand(this.getCommand('ToggleTimer'), params, (function(_this) {
+ return function(resp) {
+ return _this.doCallback(callback, resp);
+ };
+ })(this));
+ };
+
+ PVR.prototype.addTimer = function(id, timerRule, callback) {
+ var params;
+ if (timerRule == null) {
+ timerRule = false;
+ }
+ params = {
+ broadcastid: id,
+ timerrule: timerRule
+ };
+ return this.singleCommand(this.getCommand('AddTimer'), params, (function(_this) {
+ return function(resp) {
+ return _this.doCallback(callback, resp);
+ };
+ })(this));
+ };
+
+ PVR.prototype.deleteTimer = function(id, callback) {
+ var params;
+ params = {
+ timerid: id
+ };
+ return this.singleCommand(this.getCommand('DeleteTimer'), params, (function(_this) {
+ return function(resp) {
+ return _this.doCallback(callback, resp);
+ };
+ })(this));
+ };
+
return PVR;
})(Api.Commander);
@@ -9048,6 +10617,22 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
})(this));
};
+ VideoLibrary.prototype.setTVShowDetails = function(id, fields, callback) {
+ var params;
+ if (fields == null) {
+ fields = {};
+ }
+ params = {
+ tvshowid: id
+ };
+ params = _.extend(params, fields);
+ return this.singleCommand(this.getCommand('SetTVShowDetails'), params, (function(_this) {
+ return function(resp) {
+ return _this.doCallback(callback, resp);
+ };
+ })(this));
+ };
+
VideoLibrary.prototype.scan = function(callback) {
return this.singleCommand(this.getCommand('Scan'), (function(_this) {
return function(resp) {
@@ -9056,6 +10641,16 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
})(this));
};
+ VideoLibrary.prototype.clean = function(callback) {
+ return this.singleCommand(this.getCommand('Clean'), {
+ showdialogs: false
+ }, (function(_this) {
+ return function(resp) {
+ return _this.doCallback(callback, resp);
+ };
+ })(this));
+ };
+
VideoLibrary.prototype.toggleWatchedCollection = function(collection, op, callback) {
var i, model, _ref;
_ref = collection.models;
@@ -9067,7 +10662,7 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
};
VideoLibrary.prototype.toggleWatched = function(model, op, callback) {
- var fields, setPlaycount, setProgress;
+ var fields, setPlaycount;
if (op == null) {
op = 'auto';
}
@@ -9078,13 +10673,11 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
} else if (op === 'unwatched') {
setPlaycount = 0;
}
- setProgress = setPlaycount * 100;
fields = helpers.global.paramObj('playcount', setPlaycount);
if (model.get('type') === 'movie') {
this.setMovieDetails(model.get('id'), fields, (function(_this) {
return function() {
- helpers.cache.updateCollection('MovieCollection', 'movies', model.get('id'), 'playcount', setPlaycount);
- helpers.cache.updateCollection('MovieCollection', 'movies', model.get('id'), 'progress', setProgress);
+ App.vent.trigger('entity:kodi:update', model.get('uid'));
return _this.doCallback(callback, setPlaycount);
};
})(this));
@@ -9092,14 +10685,49 @@ this.Kodi.module("CommandApp.Kodi", function(Api, App, Backbone, Marionette, $,
if (model.get('type') === 'episode') {
return this.setEpisodeDetails(model.get('id'), fields, (function(_this) {
return function() {
- helpers.cache.updateCollection('TVShowCollection', 'tvshows', model.get('tvshowid'), 'playcount', setPlaycount);
- helpers.cache.updateCollection('TVShowCollection', 'tvshows', model.get('tvshowid'), 'progress', setProgress);
+ App.vent.trigger('entity:kodi:update', model.get('uid'));
return _this.doCallback(callback, setPlaycount);
};
})(this));
}
};
+ VideoLibrary.prototype.refreshMovie = function(id, params, callback) {
+ params = _.extend({
+ movieid: id,
+ ignorenfo: false
+ }, params);
+ return this.singleCommand(this.getCommand('RefreshMovie'), params, (function(_this) {
+ return function(resp) {
+ return _this.doCallback(callback, resp);
+ };
+ })(this));
+ };
+
+ VideoLibrary.prototype.refreshTVShow = function(id, params, callback) {
+ params = _.extend({
+ tvshowid: id,
+ ignorenfo: false
+ }, params);
+ return this.singleCommand(this.getCommand('RefreshTVShow'), params, (function(_this) {
+ return function(resp) {
+ return _this.doCallback(callback, resp);
+ };
+ })(this));
+ };
+
+ VideoLibrary.prototype.refreshEpisode = function(id, params, callback) {
+ params = _.extend({
+ episodeid: id,
+ ignorenfo: false
+ }, params);
+ return this.singleCommand(this.getCommand('RefreshEpisode'), params, (function(_this) {
+ return function(resp) {
+ return _this.doCallback(callback, resp);
+ };
+ })(this));
+ };
+
return VideoLibrary;
})(Api.Commander);
@@ -9566,7 +11194,7 @@ this.Kodi.module("CommandApp.Local", function(Api, App, Backbone, Marionette, $,
};
})(this));
} else {
- songs = App.request("song:filtered:entities", {
+ songs = App.request("song:entities", {
filter: helpers.global.paramObj(type, value)
});
return App.execute("when:entity:fetched", songs, (function(_this) {
@@ -9673,8 +11301,8 @@ this.Kodi.module("EPGApp", function(EPGApp, App, Backbone, Marionette, $, _) {
}
Router.prototype.appRoutes = {
- "tvshows/live/:channelid": "tv",
- "music/radio/:channelid": "radio"
+ "pvr/tv/:channelid": "tv",
+ "pvr/radio/:channelid": "radio"
};
return Router;
@@ -9692,8 +11320,27 @@ this.Kodi.module("EPGApp", function(EPGApp, App, Backbone, Marionette, $, _) {
channelid: channelid,
type: "radio"
});
+ },
+ action: function(op, view) {
+ var model, player, pvr;
+ model = view.model;
+ player = App.request("command:kodi:controller", 'auto', 'Player');
+ pvr = App.request("command:kodi:controller", 'auto', 'PVR');
+ switch (op) {
+ case 'play':
+ return player.playEntity('channelid', model.get('channelid'));
+ case 'record':
+ return pvr.setRecord(model.get('channelid'), {}, function() {
+ return App.execute("notification:show", tr("Channel recording toggled"));
+ });
+ case 'timer':
+ return pvr.toggleTimer(model.get('id'));
+ }
}
};
+ App.commands.setHandler('broadcast:action', function(op, view) {
+ return API.action(op, view);
+ });
return App.on("before:start", function() {
return new EPGApp.Router({
controller: API
@@ -9702,6 +11349,31 @@ this.Kodi.module("EPGApp", function(EPGApp, App, Backbone, Marionette, $, _) {
});
this.Kodi.module("EPGApp.List", function(List, App, Backbone, Marionette, $, _) {
+ var API;
+ API = {
+ bindTriggers: function(view) {
+ App.listenTo(view, 'childview:broadcast:play', function(parent, child) {
+ return App.execute('broadcast:action', 'play', child);
+ });
+ App.listenTo(view, 'childview:broadcast:record', function(parent, child) {
+ return App.execute('broadcast:action', 'record', child);
+ });
+ return App.listenTo(view, 'childview:broadcast:timer', function(parent, child) {
+ return App.execute('broadcast:action', 'timer', child);
+ });
+ },
+ bindChannelTriggers: function(view) {
+ App.listenTo(view, 'broadcast:play', function(child) {
+ return App.execute('broadcast:action', 'play', child);
+ });
+ App.listenTo(view, 'broadcast:record', function(child) {
+ return App.execute('broadcast:action', 'record', child);
+ });
+ return App.listenTo(view, 'broadcast:timer', function(child) {
+ return App.execute('broadcast:action', 'timer', child);
+ });
+ }
+ };
return List.Controller = (function(_super) {
__extends(Controller, _super);
@@ -9710,16 +11382,21 @@ this.Kodi.module("EPGApp.List", function(List, App, Backbone, Marionette, $, _)
}
Controller.prototype.initialize = function(options) {
- var collection;
- collection = App.request("broadcast:entities", options.channelid);
- return App.execute("when:entity:fetched", collection, (function(_this) {
+ var model;
+ model = App.request('channel:entity', options.channelid);
+ return App.execute("when:entity:fetched", model, (function(_this) {
return function() {
- _this.layout = _this.getLayoutView(collection);
- _this.listenTo(_this.layout, "show", function() {
- _this.getSubNav();
- return _this.renderProgrammes(collection);
+ var collection;
+ collection = App.request("broadcast:entities", options.channelid);
+ return App.execute("when:entity:fetched", collection, function() {
+ _this.layout = _this.getLayoutView(collection);
+ _this.listenTo(_this.layout, "show", function() {
+ _this.getSubNav(model);
+ _this.getChannelActions(model);
+ return _this.renderProgrammes(collection);
+ });
+ return App.regionContent.show(_this.layout);
});
- return App.regionContent.show(_this.layout);
};
})(this));
};
@@ -9735,22 +11412,25 @@ this.Kodi.module("EPGApp.List", function(List, App, Backbone, Marionette, $, _)
view = new List.EPGList({
collection: collection
});
-
- /*@listenTo view, 'childview:channel:play', (parent, child) ->
- player = App.request "command:kodi:controller", 'auto', 'Player'
- player.playEntity 'channelid', child.model.get('id'), {}, =>
- *# update state?
- */
+ API.bindTriggers(view);
return this.layout.regionContent.show(view);
};
- Controller.prototype.getSubNav = function() {
- var subNav, subNavId;
- subNavId = this.getOption('type') === 'tv' ? 'tvshows/recent' : 'music';
- subNav = App.request("navMain:children:show", subNavId, 'Sections');
+ Controller.prototype.getSubNav = function(model) {
+ var subNav;
+ subNav = App.request("navMain:children:show", 'pvr/tv', 'PVR');
return this.layout.regionSidebarFirst.show(subNav);
};
+ Controller.prototype.getChannelActions = function(model) {
+ var view;
+ view = new List.ChannelActions({
+ model: model
+ });
+ API.bindChannelTriggers(view);
+ return this.layout.appendSidebarView('channel-actions', view);
+ };
+
return Controller;
})(App.Controllers.Base);
@@ -9769,6 +11449,34 @@ this.Kodi.module("EPGApp.List", function(List, App, Backbone, Marionette, $, _)
return Layout;
})(App.Views.LayoutWithSidebarFirstView);
+ List.ChannelActions = (function(_super) {
+ __extends(ChannelActions, _super);
+
+ function ChannelActions() {
+ return ChannelActions.__super__.constructor.apply(this, arguments);
+ }
+
+ ChannelActions.prototype.template = 'apps/epg/list/channel';
+
+ ChannelActions.prototype.className = 'nav-sub';
+
+ ChannelActions.prototype.triggers = {
+ 'click .play': 'broadcast:play'
+ };
+
+ ChannelActions.prototype.events = {
+ 'click .record': 'toggleRecord'
+ };
+
+ ChannelActions.prototype.toggleRecord = function() {
+ console.log($('.airing'));
+ $('.airing').toggleClass('has-timer');
+ return this.trigger('broadcast:record', this);
+ };
+
+ return ChannelActions;
+
+ })(App.Views.ItemView);
List.ProgrammeList = (function(_super) {
__extends(ProgrammeList, _super);
@@ -9776,18 +11484,43 @@ this.Kodi.module("EPGApp.List", function(List, App, Backbone, Marionette, $, _)
return ProgrammeList.__super__.constructor.apply(this, arguments);
}
- ProgrammeList.prototype.template = 'apps/epg/list/programmes';
+ ProgrammeList.prototype.template = 'apps/epg/list/programme';
ProgrammeList.prototype.tagName = "li";
- ProgrammeList.prototype.className = "programme";
+ ProgrammeList.prototype.className = "pvr-card card";
ProgrammeList.prototype.onRender = function() {
if (this.model.attributes.wasactive) {
- return this.$el.addClass("aired");
+ this.$el.addClass("aired");
+ }
+ if (this.model.attributes.isactive) {
+ this.$el.addClass("airing");
+ }
+ if (this.model.attributes.hastimer) {
+ return this.$el.addClass("has-timer");
}
};
+ ProgrammeList.prototype.triggers = {
+ 'click .play': 'broadcast:play'
+ };
+
+ ProgrammeList.prototype.events = {
+ 'click .record': 'toggleRecord',
+ 'click .toggle-timer': 'toggleTimer'
+ };
+
+ ProgrammeList.prototype.toggleRecord = function() {
+ this.$el.toggleClass('has-timer');
+ return this.trigger('broadcast:record', this);
+ };
+
+ ProgrammeList.prototype.toggleTimer = function() {
+ this.$el.toggleClass('has-timer');
+ return this.trigger('broadcast:timer', this);
+ };
+
return ProgrammeList;
})(App.Views.ItemView);
@@ -9804,8 +11537,18 @@ this.Kodi.module("EPGApp.List", function(List, App, Backbone, Marionette, $, _)
EPGList.prototype.className = "programmes";
+ EPGList.prototype.emptyView = App.Views.EmptyViewResults;
+
+ EPGList.prototype.emptyViewOptions = {
+ emptyKey: 'EPG data'
+ };
+
EPGList.prototype.onShow = function() {
- return $(window).scrollTop(this.$el.find('.airing').offset().top - 150);
+ var $airing;
+ $airing = this.$el.find('.airing');
+ if ($airing.length) {
+ return $(window).scrollTop($airing.offset().top - 150);
+ }
};
return EPGList;
@@ -9815,6 +11558,131 @@ this.Kodi.module("EPGApp.List", function(List, App, Backbone, Marionette, $, _)
this.Kodi.module("ExternalApp", function(ExternalApp, App, Backbone, Marionette, $, _) {});
+this.Kodi.module("ExternalApp.TheMovieDB", function(Provider, App, Backbone, Marionette, $, _) {
+ var API;
+ API = {
+ getController: function() {
+ return new Provider.Controller();
+ }
+ };
+ Provider.Controller = (function(_super) {
+ __extends(Controller, _super);
+
+ function Controller() {
+ return Controller.__super__.constructor.apply(this, arguments);
+ }
+
+ Controller.prototype.apiKey = 'f7f51775877e0bb6703520952b3c7840';
+
+ Controller.prototype.baseURL = 'https://api.themoviedb.org/3/';
+
+ Controller.prototype.baseImageURL = 'https://image.tmdb.org/t/p/';
+
+ Controller.prototype.defaultLang = 'en';
+
+ Controller.prototype.maxImageCount = 15;
+
+ Controller.prototype.thumbSize = {
+ backdrops: 'w300',
+ posters: 'w185'
+ };
+
+ Controller.prototype.fieldTranslate = {
+ backdrops: 'fanart',
+ posters: 'thumbnail'
+ };
+
+ Controller.prototype.call = function(path, params, callback) {
+ var defaultParams, url;
+ defaultParams = {
+ api_key: this.apiKey
+ };
+ params = _.extend(defaultParams, params);
+ url = this.baseURL + path + helpers.url.buildParams(params) + '&callback=?';
+ return $.getJSON(url, function(resp) {
+ return callback(resp);
+ });
+ };
+
+ Controller.prototype.getImageURL = function(path, size) {
+ if (size == null) {
+ size = 'original';
+ }
+ return this.baseImageURL + size + path;
+ };
+
+ Controller.prototype.addImageUrls = function(collection) {
+ var field, i, item, ret, row, type, types, _i, _len, _ref;
+ ret = {};
+ types = ['backdrops', 'posters'];
+ for (_i = 0, _len = types.length; _i < _len; _i++) {
+ type = types[_i];
+ field = this.fieldTranslate[type];
+ ret[field] = [];
+ collection[type] = collection[type].slice(0, this.maxImageCount);
+ _ref = collection[type];
+ for (i in _ref) {
+ item = _ref[i];
+ row = item;
+ row.original = this.getImageURL(item.file_path, 'original');
+ row.thumb = this.getImageURL(item.file_path, this.thumbSize[type]);
+ ret[field].push(row);
+ }
+ }
+ return ret;
+ };
+
+ Controller.prototype.find = function(id, source, callback) {
+ if (source == null) {
+ source = 'imdb_id';
+ }
+ return this.call('find/' + id, {
+ external_source: source
+ }, callback);
+ };
+
+ Controller.prototype.images = function(type, tmdbId, callback) {
+ return this.call(type + '/' + tmdbId + '/images', {
+ include_image_language: this.defaultLang + ',null'
+ }, (function(_this) {
+ return function(resp) {
+ return callback(_this.addImageUrls(resp));
+ };
+ })(this));
+ };
+
+ return Controller;
+
+ })(App.Controllers.Base);
+ App.commands.setHandler("themoviedb:movie:images", function(imdbId, callback) {
+ var controller;
+ controller = API.getController();
+ return controller.find(imdbId, 'imdb_id', function(resp) {
+ var item;
+ if (resp.movie_results && resp.movie_results.length > 0) {
+ item = _.first(resp.movie_results);
+ return controller.images('movie', item.id, callback);
+ } else {
+ return callback(false);
+ }
+ });
+ });
+ return App.commands.setHandler("themoviedb:tv:images", function(id, callback) {
+ var controller, idType;
+ controller = API.getController();
+ idType = id.lastIndexOf('tt', 0) === 0 ? 'imdb_id' : 'tvdb_id';
+ return controller.find(id, idType, function(resp) {
+ var item;
+ if (resp.tv_results && resp.tv_results.length > 0) {
+ item = _.first(resp.tv_results);
+ return controller.images('tv', item.id, callback);
+ } else {
+ return callback(false);
+ }
+ });
+ });
+});
+
this.Kodi.module("ExternalApp.Youtube", function(Youtube, App, Backbone, Marionette, $, _) {
var API;
API = {
@@ -9832,15 +11700,27 @@ this.Kodi.module("ExternalApp.Youtube", function(Youtube, App, Backbone, Marione
App.listenTo(view, 'childview:youtube:localplay', function(parent, item) {
var localPlayer;
localPlayer = "videoPlayer.html?yt=" + item.model.get('id');
- return helpers.global.localVideoPopup(localPlayer, 500);
+ return helpers.global.localVideoPopup(localPlayer, 530);
});
return callback(view);
});
}
};
- return App.commands.setHandler("youtube:search:view", function(query, callback) {
+ App.commands.setHandler("youtube:search:view", function(query, callback) {
return API.getSearchView(query, callback);
});
+ return App.commands.setHandler("youtube:search:popup", function(query) {
+ return API.getSearchView(query, function(view) {
+ var $footer;
+ $footer = $('<a>', {
+ "class": 'btn btn-primary',
+ href: 'https://www.youtube.com/results?search_query=' + query,
+ target: '_blank'
+ });
+ $footer.html('More videos');
+ return App.execute("ui:modal:show", query, view.render().$el, $footer);
+ });
+ });
});
this.Kodi.module("ExternalApp.Youtube", function(Youtube, App, Backbone, Marionette, $, _) {
@@ -9898,116 +11778,134 @@ this.Kodi.module("FilterApp", function(FilterApp, App, Backbone, Marionette, $,
*/
sortFields: [
{
- alias: 'Title',
+ alias: 'title',
type: 'string',
defaultSort: true,
defaultOrder: 'asc',
key: 'title'
}, {
- alias: 'Title',
+ alias: 'title',
type: 'string',
defaultSort: true,
defaultOrder: 'asc',
key: 'label'
}, {
- alias: 'Year',
+ alias: 'year',
type: 'number',
key: 'year',
defaultOrder: 'desc'
}, {
- alias: 'Date added',
+ alias: 'date added',
type: 'string',
key: 'dateadded',
defaultOrder: 'desc'
}, {
- alias: 'Rating',
+ alias: 'rating',
type: 'float',
key: 'rating',
defaultOrder: 'desc'
}, {
- alias: 'Artist',
+ alias: 'artist',
type: 'string',
key: 'artist',
defaultOrder: 'asc'
+ }, {
+ alias: 'random',
+ type: 'other',
+ key: 'random',
+ defaultOrder: 'asc'
}
],
filterFields: [
{
- alias: 'Year',
+ alias: 'year',
type: 'number',
key: 'year',
sortOrder: 'desc',
filterCallback: 'multiple'
}, {
- alias: 'Genre',
+ alias: 'genre',
type: 'array',
key: 'genre',
sortOrder: 'asc',
filterCallback: 'multiple'
}, {
- alias: 'Mood',
+ alias: 'mood',
type: 'array',
key: 'mood',
sortOrder: 'asc',
filterCallback: 'multiple'
}, {
- alias: 'Style',
+ alias: 'style',
type: 'array',
key: 'style',
sortOrder: 'asc',
filterCallback: 'multiple'
}, {
- alias: 'Unwatched',
+ alias: 'unwatched',
type: "boolean",
key: 'unwatched',
sortOrder: 'asc',
filterCallback: 'unwatched'
}, {
- alias: 'Thumbs Up',
+ alias: 'in progress',
type: "boolean",
- key: 'thumbsUp',
+ key: 'inprogress',
sortOrder: 'asc',
- filterCallback: 'thumbsup'
+ filterCallback: 'inprogress'
}, {
- alias: 'Writer',
+ alias: 'writer',
type: 'array',
key: 'writer',
sortOrder: 'asc',
filterCallback: 'multiple'
}, {
- alias: 'Director',
+ alias: 'director',
type: 'array',
key: 'director',
sortOrder: 'asc',
filterCallback: 'multiple'
}, {
- alias: 'Actor',
+ alias: 'actor',
type: 'object',
property: 'name',
key: 'cast',
sortOrder: 'asc',
filterCallback: 'multiple'
}, {
- alias: 'Set',
+ alias: 'set',
type: 'string',
property: 'set',
key: 'set',
sortOrder: 'asc',
filterCallback: 'multiple'
}, {
- alias: 'Rated',
+ alias: 'rated',
type: 'string',
property: 'mpaa',
key: 'mpaa',
sortOrder: 'asc',
filterCallback: 'multiple'
}, {
- alias: 'Studio',
+ alias: 'studio',
type: 'array',
property: 'studio',
key: 'studio',
sortOrder: 'asc',
filterCallback: 'multiple'
+ }, {
+ alias: 'label',
+ type: 'string',
+ property: 'albumlabel',
+ key: 'albumlabel',
+ sortOrder: 'asc',
+ filterCallback: 'multiple'
+ }, {
+ alias: 'Thumbs up',
+ type: "boolean",
+ key: 'thumbsUp',
+ sortOrder: 'asc',
+ filterCallback: 'thumbsup'
}
],
getFilterFields: function(type) {
@@ -10210,6 +12108,9 @@ this.Kodi.module("FilterApp", function(FilterApp, App, Backbone, Marionette, $,
case 'unwatched':
collection.filterByUnwatched();
break;
+ case 'inprogress':
+ collection.filterByInProgress();
+ break;
case 'thumbsup':
collection.filterByThumbsUp();
break;
@@ -10282,10 +12183,14 @@ this.Kodi.module("FilterApp", function(FilterApp, App, Backbone, Marionette, $,
return App.request('filter:filters:entities', API.parseFilterable(API.getFilterFields('filter')));
});
App.reqres.setHandler('filter:init', function(availableFilters) {
- var filterSettings, key, params, values, _i, _len, _ref, _results;
+ var filterSettings, key, order, params, values, _i, _len, _ref, _results;
params = helpers.url.params();
if (!_.isEmpty(params)) {
API.setStoreFilters({});
+ if (params.sort) {
+ order = params.order ? params.order : 'asc';
+ API.setStoreSort(params.sort, order);
+ }
_ref = availableFilters.filter;
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
@@ -10434,7 +12339,6 @@ this.Kodi.module("FilterApp.Show", function(Show, App, Backbone, Marionette, $,
App.listenTo(filtersView, "childview:filter:filterable:select", (function(_this) {
return function(parentview, childview) {
var key;
- App.vent.trigger('filter:filtering:start');
key = childview.model.get('key');
if (childview.model.get('type') === 'boolean') {
App.request('filter:store:key:toggle', key, childview.model.get('alias'));
@@ -10503,6 +12407,7 @@ this.Kodi.module("FilterApp.Show", function(Show, App, Backbone, Marionette, $,
if (clearOptions == null) {
clearOptions = true;
}
+ App.vent.trigger('filter:filtering:start');
this.getFilters(clearOptions);
this.getActive();
App.navigate(helpers.url.path());
@@ -10650,7 +12555,7 @@ this.Kodi.module("FilterApp.Show", function(Show, App, Backbone, Marionette, $,
classes.push('order-' + this.model.get('order'));
tag = this.themeTag('span', {
'class': classes.join(' ')
- }, this.model.get('alias'));
+ }, t.gettext(this.model.get('alias')));
return this.model.set({
title: tag
});
@@ -10690,7 +12595,7 @@ this.Kodi.module("FilterApp.Show", function(Show, App, Backbone, Marionette, $,
}
tag = this.themeTag('span', {
'class': classes.join(' ')
- }, this.model.get('alias'));
+ }, t.gettext(this.model.get('alias')));
return this.model.set({
title: tag
});
@@ -10908,10 +12813,10 @@ this.Kodi.module("HelpApp", function(HelpApp, App, Backbone, Marionette, $, _) {
},
getSubNav: function() {
var collection;
- collection = App.request("navMain:array:entities", this.getSideBarSructure());
+ collection = App.request("navMain:array:entities", this.getSideBarStructure());
return App.request("navMain:collection:show", collection, t.gettext('Help topics'));
},
- getSideBarSructure: function() {
+ getSideBarStructure: function() {
return [
{
title: t.gettext('About'),
@@ -10926,8 +12831,14 @@ this.Kodi.module("HelpApp", function(HelpApp, App, Backbone, Marionette, $, _) {
title: t.gettext('Keyboard'),
path: 'help/keybind-readme'
}, {
+ title: t.gettext('Add-ons'),
+ path: 'help/addons'
+ }, {
title: t.gettext('Translations'),
path: 'help/lang-readme'
+ }, {
+ title: t.gettext('License'),
+ path: 'help/license'
}
];
}
@@ -11175,11 +13086,14 @@ this.Kodi.module("Images", function(Images, App, Backbone, Marionette, $, _) {
return $body.removeAttr('style');
}
},
- getImageUrl: function(rawPath, type) {
+ getImageUrl: function(rawPath, type, useFallback) {
var path;
if (type == null) {
type = 'thumbnail';
}
+ if (useFallback == null) {
+ useFallback = true;
+ }
path = '';
if ((rawPath == null) || rawPath === '') {
switch (type) {
@@ -11213,9 +13127,11 @@ this.Kodi.module("Images", function(Images, App, Backbone, Marionette, $, _) {
return App.reqres.setHandler("images:path:entity", function(model) {
var i, person, _ref;
if (model.thumbnail != null) {
+ model.thumbnailOriginal = model.thumbnail;
model.thumbnail = API.getImageUrl(model.thumbnail, 'thumbnail');
}
if (model.fanart != null) {
+ model.fanartOriginal = model.fanart;
model.fanart = API.getImageUrl(model.fanart, 'fanart');
}
if ((model.cast != null) && model.cast.length > 0) {
@@ -11302,12 +13218,16 @@ this.Kodi.module("InputApp", function(InputApp, App, Backbone, Marionette, $, _)
return App.regionContent.empty();
},
keyBind: function(e) {
- var kodiControl, remotePage, stateObj, vol;
+ var kodiControl, remotePage, stateObj, vol, whiteListCommands;
kodiControl = config.getLocal('keyboardControl') === 'kodi';
remotePage = $('body').hasClass('page-remote');
if ($(e.target).is("input, textarea, select")) {
return;
}
+ whiteListCommands = [17, 16, 9, 91, 18, 70];
+ if (helpers.global.inArray(e.which, whiteListCommands)) {
+ return;
+ }
if (!kodiControl && !remotePage) {
return;
}
@@ -11315,7 +13235,6 @@ this.Kodi.module("InputApp", function(InputApp, App, Backbone, Marionette, $, _)
e.preventDefault();
}
stateObj = App.request("state:kodi");
- console.log(e.which);
switch (e.which) {
case 37:
return this.doInput("Left");
@@ -11355,7 +13274,9 @@ this.Kodi.module("InputApp", function(InputApp, App, Backbone, Marionette, $, _)
}
};
App.commands.setHandler("input:textbox", function(msg) {
- return App.execute("ui:textinput:show", "Input required", msg, function(text) {
+ return App.execute("ui:textinput:show", "Input required", {
+ msg: msg
+ }, function(text) {
API.inputController().sendText(text);
return App.execute("notification:show", t.gettext('Sent text') + ' "' + text + '" ' + t.gettext('to Kodi'));
});
@@ -11559,6 +13480,7 @@ this.Kodi.module("LabApp.apiBrowser", function(apiBrowser, App, Backbone, Marion
collection = App.request("introspect:entities");
return App.execute("when:entity:fetched", collection, (function(_this) {
return function() {
+ collection.dictionary = App.request("introspect:dictionary");
_this.layout = _this.getLayoutView(collection);
_this.listenTo(_this.layout, "show", function() {
_this.renderList(collection);
@@ -11713,7 +13635,9 @@ this.Kodi.module("LabApp.apiBrowser", function(apiBrowser, App, Backbone, Marion
apiMethodPage.prototype.onShow = function() {
$('.api-method--params', this.$el).html(prettyPrint(this.model.get('params')));
- return $('.api-method--return', this.$el).html(prettyPrint(this.model.get('returns')));
+ if (this.model.get('type') === 'method') {
+ return $('.api-method--return', this.$el).html(prettyPrint(this.model.get('returns')));
+ }
};
return apiMethodPage;
@@ -11737,6 +13661,48 @@ this.Kodi.module("LabApp.apiBrowser", function(apiBrowser, App, Backbone, Marion
})(App.Views.ItemView);
});
+this.Kodi.module("LabApp.IconBrowser", function(lab, App, Backbone, Marionette, $, _) {
+ return lab.IconsPage = (function(_super) {
+ __extends(IconsPage, _super);
+
+ function IconsPage() {
+ return IconsPage.__super__.constructor.apply(this, arguments);
+ }
+
+ IconsPage.prototype.template = 'apps/lab/iconBrowser/icon_browser_page';
+
+ IconsPage.prototype.tagName = "div";
+
+ IconsPage.prototype.className = "icon-browser page";
+
+ IconsPage.prototype.onRender = function() {
+ var $ctx, $ico, icoClass, name, set, type, _i, _len, _ref, _results;
+ _ref = ['material', 'custom'];
+ _results = [];
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ type = _ref[_i];
+ $ctx = $('#icons-' + type, this.$el);
+ set = type + 'Icons';
+ _results.push((function() {
+ var _ref1, _results1;
+ _ref1 = this.options[set];
+ _results1 = [];
+ for (icoClass in _ref1) {
+ name = _ref1[icoClass];
+ $ico = $('<li><i class="' + icoClass + '"></i><span>' + name + '</span><small>' + icoClass + '</small></li>');
+ _results1.push($ctx.append($ico));
+ }
+ return _results1;
+ }).call(this));
+ }
+ return _results;
+ };
+
+ return IconsPage;
+
+ })(App.Views.LayoutView);
+});
+
this.Kodi.module("LabApp.lab", function(lab, App, Backbone, Marionette, $, _) {
lab.labItem = (function(_super) {
__extends(labItem, _super);
@@ -11791,7 +13757,8 @@ this.Kodi.module("LabApp", function(LabApp, App, Backbone, Marionette, $, _) {
"lab": "labLanding",
"lab/api-browser": "apiBrowser",
"lab/api-browser/:method": "apiBrowser",
- "lab/screenshot": "screenShot"
+ "lab/screenshot": "screenShot",
+ "lab/icon-browser": "iconBrowser"
};
return Router;
@@ -11815,6 +13782,10 @@ this.Kodi.module("LabApp", function(LabApp, App, Backbone, Marionette, $, _) {
title: 'Screenshot',
description: 'Take a screenshot of Kodi right now.',
path: 'lab/screenshot'
+ }, {
+ title: 'Icon browser',
+ description: 'View all the icons available to Chorus.',
+ path: 'lab/icon-browser'
}
];
},
@@ -11832,6 +13803,21 @@ this.Kodi.module("LabApp", function(LabApp, App, Backbone, Marionette, $, _) {
return App.navigate("#lab", {
trigger: true
});
+ },
+ iconBrowser: function() {
+ return $.getJSON('lib/icons/mdi.json', (function(_this) {
+ return function(mdiIcons) {
+ return $.getJSON('lib/icons/icomoon.json', function(customIcons) {
+ var view;
+ console.log(mdiIcons, customIcons);
+ view = new LabApp.IconBrowser.IconsPage({
+ materialIcons: mdiIcons,
+ customIcons: customIcons
+ });
+ return App.regionContent.show(view);
+ });
+ };
+ })(this));
}
};
return App.on("before:start", function() {
@@ -11841,15 +13827,437 @@ this.Kodi.module("LabApp", function(LabApp, App, Backbone, Marionette, $, _) {
});
});
+this.Kodi.module("LandingApp", function(LandingApp, App, Backbone, Marionette, $, _) {
+ var API;
+ LandingApp.Router = (function(_super) {
+ __extends(Router, _super);
+
+ function Router() {
+ return Router.__super__.constructor.apply(this, arguments);
+ }
+
+ Router.prototype.appRoutes = {
+ "music": "landingPage",
+ "music/top": "landingPage",
+ "movies/recent": "landingPage",
+ "tvshows/recent": "landingPage",
+ "music/genre/:filter": "filteredPage"
+ };
+
+ return Router;
+
+ })(App.Router.Base);
+ API = {
+ landingSettings: {
+ music: {
+ subnavId: 'music',
+ sections: [
+ {
+ title: 'Recently added albums',
+ entity: 'album',
+ sort: 'dateadded',
+ order: 'descending',
+ limit: 14,
+ moreLink: 'music/albums?sort=dateadded&order=desc'
+ }, {
+ title: 'Recently played albums',
+ entity: 'album',
+ sort: 'lastplayed',
+ order: 'descending',
+ limit: 14
+ }, {
+ title: 'Random albums',
+ entity: 'album',
+ sort: 'random',
+ order: 'descending',
+ limit: 14,
+ moreLink: 'music/albums?sort=random'
+ }
+ ]
+ },
+ musictop: {
+ subnavId: 'music',
+ sections: [
+ {
+ title: 'Top Albums',
+ entity: 'album',
+ sort: 'playcount',
+ order: 'descending',
+ limit: 56,
+ filter: {
+ 'operator': 'greaterthan',
+ 'field': 'playcount',
+ 'value': '0'
+ }
+ }, {
+ title: 'Top Songs',
+ entity: 'song',
+ sort: 'playcount',
+ order: 'descending',
+ limit: 100,
+ filter: {
+ 'operator': 'greaterthan',
+ 'field': 'playcount',
+ 'value': '0'
+ }
+ }
+ ]
+ },
+ moviesrecent: {
+ subnavId: 'movies/recent',
+ sections: [
+ {
+ title: 'Continue watching',
+ entity: 'movie',
+ sort: 'lastplayed',
+ order: 'descending',
+ limit: 14,
+ filter: {
+ 'operator': 'true',
+ 'field': 'inprogress',
+ 'value': ''
+ },
+ moreLink: 'movies?sort=dateadded&order=desc&inprogress=in progress'
+ }, {
+ title: 'Recently added',
+ entity: 'movie',
+ sort: 'dateadded',
+ order: 'descending',
+ limit: 14,
+ filter: {
+ 'operator': 'is',
+ 'field': 'playcount',
+ 'value': '0'
+ },
+ moreLink: 'movies?sort=dateadded&order=desc&unwatched=unwatched'
+ }, {
+ title: 'Random movies',
+ entity: 'movie',
+ sort: 'random',
+ order: 'descending',
+ limit: 14,
+ moreLink: 'movies?sort=random'
+ }
+ ]
+ },
+ tvshowsrecent: {
+ subnavId: 'tvshows/recent',
+ sections: [
+ {
+ title: 'Continue watching',
+ entity: 'tvshow',
+ sort: 'lastplayed',
+ order: 'descending',
+ limit: 14,
+ filter: {
+ 'operator': 'true',
+ 'field': 'inprogress',
+ 'value': ''
+ },
+ moreLink: 'tvshows?sort=dateadded&order=desc&inprogress=in progress'
+ }, {
+ title: 'Recently added',
+ entity: 'episode',
+ sort: 'dateadded',
+ order: 'descending',
+ limit: 12,
+ filter: {
+ 'operator': 'is',
+ 'field': 'playcount',
+ 'value': '0'
+ }
+ }
+ ]
+ }
+ },
+ filteredSettings: {
+ musicgenre: {
+ subnavId: 'music',
+ sections: [
+ {
+ title: '%1$s Artists',
+ entity: 'artist',
+ sort: 'title',
+ order: 'ascending',
+ limit: 500,
+ filter: {
+ 'operator': 'is',
+ 'field': 'genre',
+ 'value': '[FILTER]'
+ }
+ }, {
+ title: '%1$s Albums',
+ entity: 'album',
+ sort: 'title',
+ order: 'ascending',
+ limit: 500,
+ filter: {
+ 'operator': 'is',
+ 'field': 'genre',
+ 'value': '[FILTER]'
+ }
+ }, {
+ title: '%1$s Songs',
+ entity: 'song',
+ sort: 'title',
+ order: 'ascending',
+ limit: 1000,
+ filter: {
+ 'operator': 'is',
+ 'field': 'genre',
+ 'value': '[FILTER]'
+ }
+ }
+ ]
+ }
+ },
+ landingPage: function() {
+ var settings, type;
+ type = helpers.url.arg(0) + helpers.url.arg(1);
+ settings = API.landingSettings[type];
+ return new LandingApp.Show.Controller({
+ settings: settings,
+ filter: false
+ });
+ },
+ filteredPage: function(filter) {
+ var settings, type;
+ type = helpers.url.arg(0) + helpers.url.arg(1);
+ settings = API.filteredSettings[type];
+ return new LandingApp.Show.Controller({
+ settings: settings,
+ filter: decodeURIComponent(filter)
+ });
+ }
+ };
+ return App.on("before:start", function() {
+ return new LandingApp.Router({
+ controller: API
+ });
+ });
+});
+
+this.Kodi.module("LandingApp.Show", function(Show, App, Backbone, Marionette, $, _) {
+ return Show.Controller = (function(_super) {
+ __extends(Controller, _super);
+
+ function Controller() {
+ this.renderSection = __bind(this.renderSection, this);
+ this.getSections = __bind(this.getSections, this);
+ return Controller.__super__.constructor.apply(this, arguments);
+ }
+
+ Controller.prototype.initialize = function(options) {
+ this.fanarts = [];
+ this.rendered = 0;
+ this.settings = options.settings;
+ this.layout = this.getLayoutView();
+ $('body').addClass('landing-loading');
+ this.listenTo(this.layout, "show", (function(_this) {
+ return function() {
+ _this.content = _this.getContentView();
+ _this.listenTo(_this.content, "show", function() {
+ window.scroll(0, 350);
+ _this.getSections(_this.settings.sections);
+ return _this.getSubNav(_this.settings.subnavId);
+ });
+ return _this.layout.regionContent.show(_this.content);
+ };
+ })(this));
+ return App.regionContent.show(this.layout);
+ };
+
+ Controller.prototype.getLayoutView = function() {
+ return new Show.Layout();
+ };
+
+ Controller.prototype.getContentView = function() {
+ return new Show.Page();
+ };
+
+ Controller.prototype.getSubNav = function(subnavId) {
+ var subNav;
+ subNav = App.request("navMain:children:show", subnavId, 'Sections');
+ return this.layout.regionSidebarFirst.show(subNav);
+ };
+
+ Controller.prototype.getSections = function(sections) {
+ var i, section, _results;
+ _results = [];
+ for (i in sections) {
+ section = sections[i];
+ section.idx = parseInt(i) + 1;
+ _results.push(this.getSection(section));
+ }
+ return _results;
+ };
+
+ Controller.prototype.getSection = function(section) {
+ var opts;
+ section = this.addFilterValue(section);
+ opts = {
+ sort: {
+ method: section.sort,
+ order: section.order
+ },
+ limit: {
+ start: 0,
+ end: section.limit
+ },
+ addFields: ['fanart'],
+ cache: false,
+ success: (function(_this) {
+ return function(collection) {
+ _this.rendered++;
+ if (collection.length > 0) {
+ _this.renderSection(section, collection);
+ return _this.getFanArts(collection);
+ }
+ };
+ })(this)
+ };
+ if (section.filter) {
+ opts.filter = section.filter;
+ }
+ return App.request("" + section.entity + ":entities", opts);
+ };
+
+ Controller.prototype.renderSection = function(section, collection) {
+ var setView, view;
+ view = App.request("" + section.entity + ":list:view", collection, true);
+ setView = new Show.ListSet({
+ section: section,
+ filter: this.getOption('filter')
+ });
+ App.listenTo(setView, "show", (function(_this) {
+ return function() {
+ return setView.regionResult.show(view);
+ };
+ })(this));
+ return this.content["regionSection" + section.idx].show(setView);
+ };
+
+ Controller.prototype.addFilterValue = function(section) {
+ var filterVal;
+ filterVal = this.getOption('filter');
+ if (filterVal !== false) {
+ if (section.filter && section.filter.value) {
+ section.filter.value = filterVal;
+ }
+ }
+ return section;
+ };
+
+ Controller.prototype.getFanArts = function(collection) {
+ var $hero, item, randomModel, _i, _len, _ref;
+ $hero = $("#landing-hero");
+ _ref = collection.toJSON();
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ item = _ref[_i];
+ if (item.fanart && item.fanart !== '') {
+ this.fanarts.push(item);
+ }
+ }
+ if ($hero.is(':visible') && this.rendered === this.settings.sections.length && this.fanarts.length > 0) {
+ randomModel = this.fanarts[Math.floor(Math.random() * this.fanarts.length)];
+ $hero.css('background-image', 'url(' + randomModel.fanart + ')').attr('href', '#' + randomModel.url).attr('title', randomModel.title);
+ return $('body').removeClass('landing-loading');
+ }
+ };
+
+ return Controller;
+
+ })(App.Controllers.Base);
+});
+
+this.Kodi.module("LandingApp.Show", function(Show, App, Backbone, Marionette, $, _) {
+ Show.Layout = (function(_super) {
+ __extends(Layout, _super);
+
+ function Layout() {
+ return Layout.__super__.constructor.apply(this, arguments);
+ }
+
+ Layout.prototype.className = "landing-page";
+
+ return Layout;
+
+ })(App.Views.LayoutWithSidebarFirstView);
+ Show.Page = (function(_super) {
+ __extends(Page, _super);
+
+ function Page() {
+ return Page.__super__.constructor.apply(this, arguments);
+ }
+
+ Page.prototype.template = "apps/landing/show/landing_page";
+
+ Page.prototype.className = "landing-content";
+
+ Page.prototype.regions = {
+ regionHero: '#landing-hero',
+ regionSection1: '#landing-section-1',
+ regionSection2: '#landing-section-2',
+ regionSection3: '#landing-section-3',
+ regionSection4: '#landing-section-4',
+ regionSection5: '#landing-section-5',
+ regionSection6: '#landing-section-6'
+ };
+
+ return Page;
+
+ })(App.Views.LayoutView);
+ return Show.ListSet = (function(_super) {
+ __extends(ListSet, _super);
+
+ function ListSet() {
+ this.onRender = __bind(this.onRender, this);
+ return ListSet.__super__.constructor.apply(this, arguments);
+ }
+
+ ListSet.prototype.template = 'apps/landing/show/landing_set';
+
+ ListSet.prototype.className = "landing-set";
+
+ ListSet.prototype.onRender = function() {
+ var $header;
+ if (this.options) {
+ $header = $('h3.set-header', this.$el);
+ if (this.options.filter !== false && this.options.section.title) {
+ $header.html(t.sprintf(tr(this.options.section.title), this.options.filter));
+ } else if (this.options.section.title) {
+ $header.html(tr(this.options.section.title));
+ }
+ if (this.options.filter !== false && this.options.section.moreLink) {
+ return $header.append(this.themeLink(tr('more'), this.options.section.moreLink + this.options.filter));
+ } else if (this.options.section.moreLink) {
+ return $header.append(this.themeLink(tr('more'), this.options.section.moreLink));
+ }
+ }
+ };
+
+ ListSet.prototype.regions = {
+ regionResult: '.set-results'
+ };
+
+ return ListSet;
+
+ })(App.Views.LayoutView);
+});
+
this.Kodi.module("LoadingApp", function(LoadingApp, App, Backbone, Marionette, $, _) {
var API;
API = {
- getLoaderView: function(msgText) {
+ getLoaderView: function(msgText, inline) {
if (msgText == null) {
msgText = 'Just a sec...';
}
+ if (inline == null) {
+ inline = false;
+ }
return new LoadingApp.Show.Page({
- text: msgText
+ text: msgText,
+ inline: inline
});
}
};
@@ -11858,9 +14266,15 @@ this.Kodi.module("LoadingApp", function(LoadingApp, App, Backbone, Marionette, $
view = API.getLoaderView(msgText);
return region.show(view);
});
- return App.commands.setHandler("loading:show:page", function() {
+ App.commands.setHandler("loading:show:page", function() {
return App.execute("loading:show:view", App.regionContent);
});
+ return App.reqres.setHandler("loading:get:view", function(msgText, inline) {
+ if (inline == null) {
+ inline = true;
+ }
+ return API.getLoaderView(msgText, inline);
+ });
});
this.Kodi.module("LoadingApp.Show", function(Show, App, Backbone, Marionette, $, _) {
@@ -11877,6 +14291,14 @@ this.Kodi.module("LoadingApp.Show", function(Show, App, Backbone, Marionette, $,
return this.$el.find('h2').html(this.options.text);
};
+ Page.prototype.attributes = function() {
+ if (this.options.inline) {
+ return {
+ "class": 'loader-inline'
+ };
+ }
+ };
+
return Page;
})(Backbone.Marionette.ItemView);
@@ -11942,7 +14364,9 @@ this.Kodi.module("localPlaylistApp.List", function(List, App, Backbone, Marionet
if (collection.length > 0) {
media = playlist.get('media');
view = App.request("" + media + ":list:view", collection, true);
- return _this.itemLayout.regionListItems.show(view);
+ _this.itemLayout.regionListItems.show(view);
+ _this.bindRemove(id, view);
+ return _this.initSortable(id, view);
}
};
})(this));
@@ -11964,16 +14388,63 @@ this.Kodi.module("localPlaylistApp.List", function(List, App, Backbone, Marionet
trigger: true
});
});
+ App.listenTo(this.itemLayout, 'list:rename', function() {
+ return App.execute("localplaylist:rename", id);
+ });
App.listenTo(this.itemLayout, 'list:play', function() {
var kodiPlaylist;
kodiPlaylist = App.request("command:kodi:controller", 'audio', 'PlayList');
return kodiPlaylist.playCollection(collection);
});
- return App.listenTo(this.itemLayout, 'list:localplay', function() {
+ App.listenTo(this.itemLayout, 'list:localplay', function() {
var localPlaylist;
localPlaylist = App.request("command:local:controller", 'audio', 'PlayList');
return localPlaylist.playCollection(collection);
});
+ return App.listenTo(this.itemLayout, 'list:export', function() {
+ return App.execute("playlist:export", collection);
+ });
+ };
+
+ Controller.prototype.bindRemove = function(id, view) {
+ return App.listenTo(view, 'childview:song:remove', (function(_this) {
+ return function(parent, viewItem) {
+ return _this.updateOrder(id, view.$el, [parent.$el.data('id')]);
+ };
+ })(this));
+ };
+
+ Controller.prototype.initSortable = function(id, view) {
+ var self;
+ self = this;
+ return $('tbody', view.$el).sortable({
+ onEnd: (function(_this) {
+ return function(e) {
+ return self.updateOrder(id, _this.el);
+ };
+ })(this)
+ });
+ };
+
+ Controller.prototype.updateOrder = function(playlistId, $ctx, exclude) {
+ var order, pos;
+ if (exclude == null) {
+ exclude = [];
+ }
+ order = [];
+ pos = 0;
+ $('tr', $ctx).each(function(i, d) {
+ var id;
+ id = $(d).data('id');
+ if (helpers.global.inArray(id, exclude)) {
+ return $(d).remove();
+ } else {
+ order.push(id);
+ $(d).data('id', pos);
+ return pos++;
+ }
+ });
+ return App.request("localplaylist:item:updateorder", playlistId, order);
};
return Controller;
@@ -12135,10 +14606,12 @@ this.Kodi.module("localPlaylistApp.List", function(List, App, Backbone, Marionet
};
Layout.prototype.triggers = {
+ 'click .local-playlist-header .rename': 'list:rename',
'click .local-playlist-header .clear': 'list:clear',
'click .local-playlist-header .delete': 'list:delete',
'click .local-playlist-header .play': 'list:play',
- 'click .local-playlist-header .localplay': 'list:localplay'
+ 'click .local-playlist-header .localplay': 'list:localplay',
+ 'click .local-playlist-header .export': 'list:export'
};
Layout.prototype.onRender = function() {
@@ -12174,6 +14647,7 @@ this.Kodi.module("localPlaylistApp", function(localPlaylistApp, App, Backbone, M
Main functionality.
*/
API = {
+ playlistNameMsg: 'Give your playlist a name',
list: function(id) {
var item, items, lists;
if (id === null) {
@@ -12203,7 +14677,7 @@ this.Kodi.module("localPlaylistApp", function(localPlaylistApp, App, Backbone, M
collection: playlists
});
$content = view.render().$el;
- $new = $('<button>').html(t.gettext('Create a new list')).addClass('btn btn-primary');
+ $new = $('<button>').html(tr('Create a new list')).addClass('btn btn-primary');
$new.on('click', (function(_this) {
return function() {
return _.defer(function() {
@@ -12211,7 +14685,7 @@ this.Kodi.module("localPlaylistApp", function(localPlaylistApp, App, Backbone, M
});
};
})(this));
- App.execute("ui:modal:show", t.gettext('Add to playlist'), $content, $new);
+ App.execute("ui:modal:show", tr('Add to playlist'), $content, $new);
return App.listenTo(view, 'childview:item:selected', (function(_this) {
return function(list, item) {
return _this.addToExistingList(item.model.get('id'), entityType, id);
@@ -12219,19 +14693,13 @@ this.Kodi.module("localPlaylistApp", function(localPlaylistApp, App, Backbone, M
})(this));
}
},
- addToExistingList: function(playlistId, entityType, id) {
+ addToExistingList: function(playlistId, entityType, ids) {
var collection;
- if (helpers.global.inArray(entityType, ['albumid', 'artistid'])) {
- collection = App.request("song:filtered:entities", {
- filter: helpers.global.paramObj(entityType, id)
- });
- return App.execute("when:entity:fetched", collection, (function(_this) {
- return function() {
- return _this.addCollectionToList(collection, playlistId);
- };
- })(this));
- } else if (entityType === 'songid') {
- return App.request("song:byid:entities", [id], (function(_this) {
+ if (!_.isArray(ids)) {
+ ids = [ids];
+ }
+ if (helpers.global.inArray(entityType, ['albumid', 'artistid', 'songid'])) {
+ return App.request("song:custom:entities", entityType, ids, (function(_this) {
return function(collection) {
return _this.addCollectionToList(collection, playlistId);
};
@@ -12247,13 +14715,20 @@ this.Kodi.module("localPlaylistApp", function(localPlaylistApp, App, Backbone, M
}
},
- addCollectionToList: function(collection, playlistId) {
+ addCollectionToList: function(collection, playlistId, notify) {
+ if (notify == null) {
+ notify = true;
+ }
App.request("localplaylist:item:add:entities", playlistId, collection);
App.execute("ui:modal:close");
- return App.execute("notification:show", t.gettext("Added to your playlist"));
+ if (notify === true) {
+ return App.execute("notification:show", tr("Added to your playlist"));
+ }
},
createNewList: function(entityType, id) {
- return App.execute("ui:textinput:show", t.gettext('Add a new playlist'), t.gettext('Give your playlist a name'), (function(_this) {
+ return App.execute("ui:textinput:show", tr('Add a new playlist'), {
+ msg: tr(API.playlistNameMsg)
+ }, (function(_this) {
return function(text) {
var playlistId;
if (text !== '') {
@@ -12264,7 +14739,9 @@ this.Kodi.module("localPlaylistApp", function(localPlaylistApp, App, Backbone, M
})(this), false);
},
createEmptyList: function() {
- return App.execute("ui:textinput:show", t.gettext('Add a new playlist'), t.gettext('Give your playlist a name'), (function(_this) {
+ return App.execute("ui:textinput:show", tr('Add a new playlist'), {
+ msg: tr(API.playlistNameMsg)
+ }, (function(_this) {
return function(text) {
var playlistId;
if (text !== '') {
@@ -12275,6 +14752,21 @@ this.Kodi.module("localPlaylistApp", function(localPlaylistApp, App, Backbone, M
}
};
})(this));
+ },
+ rename: function(id) {
+ var listModel;
+ listModel = App.request("localplaylist:entity", id);
+ return App.execute("ui:textinput:show", tr('Rename playlist'), {
+ msg: tr(API.playlistNameMsg),
+ defaultVal: listModel.get('name')
+ }, (function(_this) {
+ return function(text) {
+ listModel.set({
+ name: text
+ }).save();
+ return API.list(id);
+ };
+ })(this));
}
};
@@ -12290,6 +14782,9 @@ this.Kodi.module("localPlaylistApp", function(localPlaylistApp, App, Backbone, M
App.commands.setHandler("localplaylist:reload", function(id) {
return API.list(id);
});
+ App.commands.setHandler("localplaylist:rename", function(id) {
+ return API.rename(id);
+ });
/*
Init the router
@@ -12313,13 +14808,15 @@ this.Kodi.module("MovieApp.Edit", function(Edit, App, Backbone, Marionette, $, _
var form, options;
this.model = this.getOption('model');
options = {
- title: this.model.get('title'),
- form: this.getSructure(),
+ title: '<span>' + tr('Edit') + '</span>' + this.model.get('title'),
+ form: this.getStructure(),
formState: this.model.attributes,
config: {
attributes: {
"class": 'edit-form'
},
+ editForm: true,
+ tabs: true,
callback: (function(_this) {
return function(data, formView) {
return _this.saveCallback(data, formView);
@@ -12330,37 +14827,148 @@ this.Kodi.module("MovieApp.Edit", function(Edit, App, Backbone, Marionette, $, _
return form = App.request("form:popup:wrapper", options);
};
- Controller.prototype.getSructure = function() {
+ Controller.prototype.getStructure = function() {
return [
{
- title: 'Information',
+ title: 'General',
id: 'general',
children: [
{
id: 'title',
- title: 'Title',
- type: 'textfield',
- defaultValue: ''
+ title: tr('Title'),
+ type: 'textfield'
}, {
id: 'plotoutline',
- title: 'Plot outline',
- type: 'textarea',
- defaultValue: ''
+ title: tr('Tagline'),
+ type: 'textfield'
}, {
id: 'plot',
- title: 'Plot',
- type: 'textarea',
- defaultValue: ''
+ title: tr('Plot'),
+ type: 'textarea'
}, {
- id: 'rating',
- title: 'Rating',
+ id: 'studio',
+ title: tr('Studio'),
type: 'textfield',
- defaultValue: ''
+ format: 'array.string'
+ }, {
+ id: 'mpaa',
+ title: tr('Content rating'),
+ type: 'textfield'
+ }, {
+ id: 'rating',
+ title: tr('Rating'),
+ type: 'number',
+ format: 'float',
+ attributes: {
+ "class": 'half-width',
+ step: 0.1,
+ min: 0,
+ max: 10
+ }
}, {
id: 'imdbnumber',
- title: 'IMDb',
+ title: tr('IMDb'),
+ type: 'textfield',
+ attributes: {
+ "class": 'half-width'
+ },
+ suffix: '<div class="clearfix"></div>'
+ }, {
+ id: 'sorttitle',
+ title: tr('Sort title'),
+ type: 'textfield'
+ }, {
+ id: 'originaltitle',
+ title: tr('Original title'),
+ type: 'textfield'
+ }
+ ]
+ }, {
+ title: 'Tags',
+ id: 'tags',
+ children: [
+ {
+ id: 'director',
+ title: tr('Directors'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'writer',
+ title: tr('Writers'),
type: 'textfield',
- defaultValue: ''
+ format: 'array.string'
+ }, {
+ id: 'genre',
+ title: tr('Genres'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'country',
+ title: tr('Country'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'set',
+ title: tr('Set'),
+ type: 'textfield'
+ }, {
+ id: 'tag',
+ title: tr('Tags'),
+ type: 'textarea',
+ format: 'array.string'
+ }
+ ]
+ }, {
+ title: 'Other media',
+ id: 'media',
+ children: [
+ {
+ id: 'trailer',
+ title: tr('Trailer'),
+ type: 'textfield'
+ }
+ ]
+ }, {
+ title: 'Poster',
+ id: 'poster',
+ children: [
+ {
+ id: 'thumbnail',
+ title: tr('URL'),
+ type: 'imageselect',
+ valueProperty: 'thumbnailOriginal',
+ description: tr('Add an image via an external URL'),
+ metadataImageHandler: 'themoviedb:movie:images',
+ metadataLookupField: 'imdbnumber'
+ }
+ ]
+ }, {
+ title: 'Background',
+ id: 'background',
+ children: [
+ {
+ id: 'fanart',
+ title: tr('URL'),
+ type: 'imageselect',
+ valueProperty: 'fanartOriginal',
+ description: tr('Add an image via an external URL'),
+ metadataImageHandler: 'themoviedb:movie:images',
+ metadataLookupField: 'imdbnumber'
+ }
+ ]
+ }, {
+ title: 'Information',
+ id: 'info',
+ children: [
+ {
+ id: 'file',
+ title: tr('File path'),
+ type: 'textarea',
+ attributes: {
+ disabled: 'disabled',
+ cols: 5
+ },
+ format: 'prevent.submit'
}
]
}
@@ -12368,68 +14976,12 @@ this.Kodi.module("MovieApp.Edit", function(Edit, App, Backbone, Marionette, $, _
};
Controller.prototype.saveCallback = function(data, formView) {
- var videoLib;
- data.rating = parseFloat(data.rating);
- videoLib = App.request("command:kodi:controller", 'video', 'VideoLibrary');
- return videoLib.setMovieDetails(this.model.get('id'), data, function() {
- return Kodi.execute("notification:show", t.gettext("Updated movie details"));
- });
- };
-
- return Controller;
-
- })(App.Controllers.Base);
-});
-
-this.Kodi.module("MovieApp.Landing", function(Landing, App, Backbone, Marionette, $, _) {
- return Landing.Controller = (function(_super) {
- __extends(Controller, _super);
-
- function Controller() {
- return Controller.__super__.constructor.apply(this, arguments);
- }
-
- Controller.prototype.subNavId = 'movies/recent';
-
- Controller.prototype.initialize = function() {
- this.layout = this.getLayoutView();
- this.listenTo(this.layout, "show", (function(_this) {
+ var controller;
+ controller = App.request("command:kodi:controller", 'video', 'VideoLibrary');
+ return controller.setMovieDetails(this.model.get('id'), data, (function(_this) {
return function() {
- _this.getPageView();
- return _this.getSubNav();
- };
- })(this));
- return App.regionContent.show(this.layout);
- };
-
- Controller.prototype.getLayoutView = function() {
- return new Landing.Layout();
- };
-
- Controller.prototype.getSubNav = function() {
- var subNav;
- subNav = App.request("navMain:children:show", this.subNavId, 'Sections');
- return this.layout.regionSidebarFirst.show(subNav);
- };
-
- Controller.prototype.getPageView = function() {
- this.page = new Landing.Page();
- this.listenTo(this.page, "show", (function(_this) {
- return function() {
- return _this.renderRecentlyAdded();
- };
- })(this));
- return this.layout.regionContent.show(this.page);
- };
-
- Controller.prototype.renderRecentlyAdded = function() {
- var collection;
- collection = App.request("movie:recentlyadded:entities");
- return App.execute("when:entity:fetched", collection, (function(_this) {
- return function() {
- var view;
- view = App.request("movie:list:view", collection);
- return _this.page.regionRecentlyAdded.show(view);
+ Kodi.vent.trigger('entity:kodi:update', _this.model.get('uid'));
+ return App.execute("notification:show", t.sprintf(tr("Updated %1$s details"), 'movie'));
};
})(this));
};
@@ -12439,39 +14991,6 @@ this.Kodi.module("MovieApp.Landing", function(Landing, App, Backbone, Marionette
})(App.Controllers.Base);
});
-this.Kodi.module("MovieApp.Landing", function(Landing, App, Backbone, Marionette, $, _) {
- Landing.Layout = (function(_super) {
- __extends(Layout, _super);
-
- function Layout() {
- return Layout.__super__.constructor.apply(this, arguments);
- }
-
- Layout.prototype.className = "movie-landing landing-page";
-
- return Layout;
-
- })(App.Views.LayoutWithSidebarFirstView);
- return Landing.Page = (function(_super) {
- __extends(Page, _super);
-
- function Page() {
- return Page.__super__.constructor.apply(this, arguments);
- }
-
- Page.prototype.template = 'apps/movie/landing/landing';
-
- Page.prototype.className = "movie-recent";
-
- Page.prototype.regions = {
- regionRecentlyAdded: '.region-recently-added'
- };
-
- return Page;
-
- })(App.Views.LayoutView);
-});
-
this.Kodi.module("MovieApp.List", function(List, App, Backbone, Marionette, $, _) {
var API;
API = {
@@ -12541,8 +15060,8 @@ this.Kodi.module("MovieApp.List", function(List, App, Backbone, Marionette, $, _
Controller.prototype.getAvailableFilters = function() {
return {
- sort: ['title', 'year', 'dateadded', 'rating'],
- filter: ['year', 'genre', 'writer', 'director', 'cast', 'set', 'unwatched', 'mpaa', 'studio', 'thumbsUp']
+ sort: ['title', 'year', 'dateadded', 'rating', 'random'],
+ filter: ['year', 'genre', 'writer', 'director', 'cast', 'set', 'unwatched', 'inprogress', 'mpaa', 'studio', 'thumbsUp']
};
};
@@ -12604,10 +15123,8 @@ this.Kodi.module("MovieApp.List", function(List, App, Backbone, Marionette, $, _
MovieTeaser.prototype.initialize = function() {
MovieTeaser.__super__.initialize.apply(this, arguments);
+ this.setMeta();
if (this.model != null) {
- this.model.set({
- subtitle: this.themeLink(this.model.get('year'), 'movies?year=' + this.model.get('year'))
- });
return this.model.set(App.request('movie:action:items'));
}
};
@@ -12616,6 +15133,14 @@ this.Kodi.module("MovieApp.List", function(List, App, Backbone, Marionette, $, _
return this.watchedAttributes('card');
};
+ MovieTeaser.prototype.setMeta = function() {
+ if (this.model) {
+ return this.model.set({
+ subtitle: this.themeLink(this.model.get('year'), 'movies?year=' + this.model.get('year'))
+ });
+ }
+ };
+
return MovieTeaser;
})(App.Views.CardView);
@@ -12681,7 +15206,6 @@ this.Kodi.module("MovieApp", function(MovieApp, App, Backbone, Marionette, $, _)
}
Router.prototype.appRoutes = {
- "movies/recent": "landing",
"movies": "list",
"movie/:id": "view"
};
@@ -12690,9 +15214,6 @@ this.Kodi.module("MovieApp", function(MovieApp, App, Backbone, Marionette, $, _)
})(App.Router.Base);
API = {
- landing: function() {
- return new MovieApp.Landing.Controller();
- },
list: function() {
return new MovieApp.List.Controller();
},
@@ -12720,21 +15241,24 @@ this.Kodi.module("MovieApp", function(MovieApp, App, Backbone, Marionette, $, _)
return videoLib.toggleWatched(model, 'auto');
case 'edit':
return App.execute('movie:edit', model);
+ case 'refresh':
+ return helpers.entities.refreshEntity(model, videoLib, 'refreshMovie');
}
}
};
App.reqres.setHandler('movie:action:items', function() {
return {
actions: {
- watched: 'Watched',
- thumbs: 'Thumbs up'
+ watched: tr('Watched'),
+ thumbs: tr('Thumbs up')
},
menu: {
- add: 'Add to Kodi playlist',
- edit: 'Edit',
- divider: '',
- download: 'Download',
- localplay: 'Play in browser'
+ add: tr('Queue in Kodi'),
+ 'divider-1': '',
+ download: tr('Download'),
+ localplay: tr('Play in browser'),
+ 'divider-2': '',
+ edit: tr('Edit')
}
};
});
@@ -12784,10 +15308,43 @@ this.Kodi.module("MovieApp.Show", function(Show, App, Backbone, Marionette, $, _
App.listenTo(view, 'movie:download', function(viewItem) {
return App.execute('movie:action', 'download', viewItem);
});
- return App.listenTo(view, 'toggle:watched', function(viewItem) {
+ App.listenTo(view, 'toggle:watched', function(viewItem) {
return App.execute('movie:action:watched', viewItem.view, viewItem.view);
});
- }
+ App.listenTo(view, 'movie:refresh', function(viewItem) {
+ return App.execute('movie:action', 'refresh', viewItem);
+ });
+ return App.listenTo(view, 'movie:edit', function(viewItem) {
+ return App.execute('movie:edit', viewItem.model);
+ });
+ },
+ moreContent: [
+ {
+ title: 'More from %1$s',
+ filter: 'set',
+ key: 'set',
+ type: 'string',
+ pluck: false
+ }, {
+ title: 'More %1$s movies',
+ filter: 'genre',
+ key: 'genre',
+ type: 'array',
+ pluck: false
+ }, {
+ title: 'More movies staring %1$s',
+ filter: 'actor',
+ key: 'cast',
+ type: 'array',
+ pluck: 'name'
+ }, {
+ title: 'Other movies released in %1$s',
+ filter: 'year',
+ key: 'year',
+ type: 'string',
+ pluck: false
+ }
+ ]
};
return Show.Controller = (function(_super) {
__extends(Controller, _super);
@@ -12803,9 +15360,6 @@ this.Kodi.module("MovieApp.Show", function(Show, App, Backbone, Marionette, $, _
return App.execute("when:entity:fetched", movie, (function(_this) {
return function() {
_this.layout = _this.getLayoutView(movie);
- _this.listenTo(_this.layout, "destroy", function() {
- return App.execute("images:fanart:set", 'none');
- });
_this.listenTo(_this.layout, "show", function() {
_this.getDetailsLayoutView(movie);
return _this.getContentView(movie);
@@ -12827,7 +15381,7 @@ this.Kodi.module("MovieApp.Show", function(Show, App, Backbone, Marionette, $, _
});
this.listenTo(this.contentLayout, "movie:youtube", function(view) {
var trailer;
- trailer = movie.get('trailer');
+ trailer = movie.get('mediaTrailer');
return App.execute("ui:modal:youtube", movie.get('title') + ' Trailer', trailer.id);
});
this.listenTo(this.contentLayout, 'show', (function(_this) {
@@ -12835,7 +15389,7 @@ this.Kodi.module("MovieApp.Show", function(Show, App, Backbone, Marionette, $, _
if (movie.get('cast').length > 0) {
_this.contentLayout.regionCast.show(_this.getCast(movie));
}
- return _this.getSetView(movie);
+ return _this.getMoreContent(movie);
};
})(this));
return this.layout.regionContent.show(this.contentLayout);
@@ -12868,29 +15422,61 @@ this.Kodi.module("MovieApp.Show", function(Show, App, Backbone, Marionette, $, _
return this.layout.regionHeader.show(headerLayout);
};
- Controller.prototype.getSetView = function(movie) {
- var collection;
- if (movie.get('set') !== '') {
- collection = App.request("movie:entities");
- return App.execute("when:entity:fetched", collection, (function(_this) {
- return function() {
- var filteredCollection, view;
- filteredCollection = new App.Entities.Filtered(collection);
- filteredCollection.filterBy('set', {
- set: movie.get('set')
- });
- view = new Show.Set({
- set: movie.get('set')
- });
- App.listenTo(view, "show", function() {
- var listview;
- listview = App.request("movie:list:view", filteredCollection);
- return view.regionCollection.show(listview);
- });
- return _this.contentLayout.regionSets.show(view);
+ Controller.prototype.getMoreContent = function(movie) {
+ var filterVal, filterVals, i, idx, more, opts, _ref, _results;
+ idx = 0;
+ _ref = API.moreContent;
+ _results = [];
+ for (i in _ref) {
+ more = _ref[i];
+ filterVal = false;
+ if (more.type === 'array') {
+ filterVals = more.pluck ? _.pluck(movie.get(more.key), more.pluck) : movie.get(more.key);
+ filterVals = _.shuffle(filterVals.slice(0, 4));
+ filterVal = _.first(filterVals);
+ } else {
+ filterVal = movie.get(more.key);
+ }
+ if (filterVal && filterVal !== '') {
+ idx++;
+ opts = {
+ limit: {
+ start: 0,
+ end: 6
+ },
+ cache: false,
+ sort: {
+ method: 'random',
+ order: 'ascending'
+ },
+ filter: {},
+ title: t.sprintf(tr(more.title), '<a href="#movies?' + more.key + '=' + filterVal + '">' + filterVal + '</a>'),
+ idx: idx
};
- })(this));
+ opts.filter[more.filter] = filterVal;
+ opts.success = (function(_this) {
+ return function(collection) {
+ var view;
+ collection.remove(movie);
+ if (collection.length > 0) {
+ view = new Show.Set({
+ set: collection.options.title
+ });
+ App.listenTo(view, "show", function() {
+ var listview;
+ listview = App.request("movie:list:view", collection);
+ return view.regionCollection.show(listview);
+ });
+ return _this.contentLayout["regionMore" + collection.options.idx].show(view);
+ }
+ };
+ })(this);
+ _results.push(App.request("movie:entities", opts));
+ } else {
+ _results.push(void 0);
+ }
}
+ return _results;
};
return Controller;
@@ -12936,11 +15522,9 @@ this.Kodi.module("MovieApp.Show", function(Show, App, Backbone, Marionette, $, _
'click .play': 'movie:play',
'click .add': 'movie:add',
'click .stream': 'movie:localplay',
- 'click .download': 'movie:download'
- };
-
- Details.prototype.events = {
- "click .watched": "toggleWatched"
+ 'click .download': 'movie:download',
+ 'click .edit': 'movie:edit',
+ 'click .refresh': 'movie:refresh'
};
Details.prototype.attributes = function() {
@@ -12949,7 +15533,7 @@ this.Kodi.module("MovieApp.Show", function(Show, App, Backbone, Marionette, $, _
return Details;
- })(App.Views.ItemView);
+ })(App.Views.DetailsItem);
Show.MovieTeaser = (function(_super) {
__extends(MovieTeaser, _super);
@@ -12959,12 +15543,22 @@ this.Kodi.module("MovieApp.Show", function(Show, App, Backbone, Marionette, $, _
MovieTeaser.prototype.tagName = "div";
- MovieTeaser.prototype.className = "card-detail";
-
MovieTeaser.prototype.triggers = {
'click .play': 'movie:play'
};
+ MovieTeaser.prototype.initialize = function() {
+ return this.model.set({
+ actions: {
+ thumbs: tr('Thumbs up')
+ }
+ });
+ };
+
+ MovieTeaser.prototype.attributes = function() {
+ return this.watchedAttributes('card-detail');
+ };
+
return MovieTeaser;
})(App.Views.CardView);
@@ -12979,15 +15573,26 @@ this.Kodi.module("MovieApp.Show", function(Show, App, Backbone, Marionette, $, _
Content.prototype.className = "movie-content content-sections";
- Content.prototype.onRender = $('[data-toggle="tooltip"]', Content.$el).tooltip();
-
Content.prototype.triggers = {
'click .youtube': 'movie:youtube'
};
Content.prototype.regions = {
regionCast: '.region-cast',
- regionSets: '.region-sets'
+ regionMore1: '.region-more-1',
+ regionMore2: '.region-more-2',
+ regionMore3: '.region-more-3',
+ regionMore4: '.region-more-4',
+ regionMore5: '.region-more-5'
+ };
+
+ Content.prototype.modelEvents = {
+ 'change': 'modelChange'
+ };
+
+ Content.prototype.modelChange = function() {
+ this.render();
+ return this.trigger('show');
};
return Content;
@@ -13005,10 +15610,8 @@ this.Kodi.module("MovieApp.Show", function(Show, App, Backbone, Marionette, $, _
Set.prototype.className = 'movie-set';
Set.prototype.onRender = function() {
- if (this.options) {
- if (this.options.set) {
- return $('h2.set-name', this.$el).html(this.options.set);
- }
+ if (this.options && this.options.set) {
+ return $('h2.set-name', this.$el).html(this.options.set);
}
};
@@ -13041,7 +15644,7 @@ this.Kodi.module("NavMain", function(NavMain, App, Backbone, Marionette, $, _) {
navStructure = App.request('navMain:entities', path);
if (title !== 'default') {
navStructure.set({
- title: title
+ title: tr(title)
});
}
return new NavMain.ItemList({
@@ -13578,6 +16181,7 @@ this.Kodi.module("PlaylistApp.List", function(List, App, Backbone, Marionette, $
$ctx = $('.' + type + '-playlist');
playlist = this.playlistController(type, media);
return $('ul.playlist-items', $ctx).sortable({
+ filter: '.row-playing,.row-paused',
onEnd: function(e) {
return playlist.moveItem($(e.item).data('type'), $(e.item).data('id'), e.oldIndex, e.newIndex);
}
@@ -13671,14 +16275,30 @@ this.Kodi.module("PlaylistApp.List", function(List, App, Backbone, Marionette, $
"click .play": "playlist:item:play"
};
+ Item.prototype.events = {
+ "click .thumbs": "toggleThumbs"
+ };
+
Item.prototype.attributes = function() {
+ var classes;
+ classes = ['item', 'pos-' + this.model.get('position'), 'plitem-' + this.model.get('type') + '-' + this.model.get('id')];
+ if (this.model.get('canThumbsUp') && App.request('thumbsup:check', this.model)) {
+ classes.push('thumbs-up');
+ }
return {
- "class": 'item pos-' + this.model.get('position'),
+ "class": classes.join(' '),
'data-type': this.model.get('type'),
- 'data-id': this.model.get('id')
+ 'data-id': this.model.get('id'),
+ 'data-pos': this.model.get('position')
};
};
+ Item.prototype.toggleThumbs = function() {
+ App.request("thumbsup:toggle:entity", this.model);
+ this.$el.toggleClass('thumbs-up');
+ return $('.item-' + this.model.get('type') + '-' + this.model.get('id')).toggleClass('thumbs-up');
+ };
+
return Item;
})(App.Views.ItemView);
@@ -13700,6 +16320,57 @@ this.Kodi.module("PlaylistApp.List", function(List, App, Backbone, Marionette, $
})(App.Views.CollectionView);
});
+this.Kodi.module("PlaylistApp.M3u", function(M3u, App, Backbone, Marionette, $, _) {
+ return M3u.Controller = (function(_super) {
+ __extends(Controller, _super);
+
+ function Controller() {
+ return Controller.__super__.constructor.apply(this, arguments);
+ }
+
+ Controller.prototype.initialize = function(options) {
+ var List;
+ List = this.getList(options.collection);
+ return App.regionOffscreen.show(List);
+ };
+
+ Controller.prototype.getList = function(collection) {
+ return new M3u.List({
+ collection: collection
+ });
+ };
+
+ return Controller;
+
+ })(App.Controllers.Base);
+});
+
+this.Kodi.module("PlaylistApp.M3u", function(M3u, App, Backbone, Marionette, $, _) {
+ return M3u.List = (function(_super) {
+ __extends(List, _super);
+
+ function List() {
+ return List.__super__.constructor.apply(this, arguments);
+ }
+
+ List.prototype.template = 'apps/playlist/m3u/list';
+
+ List.prototype.tagName = "pre";
+
+ List.prototype.className = "m3u-export";
+
+ List.prototype.onRender = function() {
+ var content, filename;
+ content = this.$el.text();
+ filename = $('.local-playlist-header h2').html() + ".m3u";
+ return helpers.global.saveFileText(content, filename);
+ };
+
+ return List;
+
+ })(App.Views.LayoutView);
+});
+
this.Kodi.module("PlaylistApp", function(PlaylistApp, App, Backbone, Marionette, $, _) {
var API;
PlaylistApp.Router = (function(_super) {
@@ -13720,6 +16391,11 @@ this.Kodi.module("PlaylistApp", function(PlaylistApp, App, Backbone, Marionette,
list: function() {
return new PlaylistApp.Show.Controller();
},
+ "export": function(collection) {
+ return new PlaylistApp.M3u.Controller({
+ collection: collection
+ });
+ },
type: 'kodi',
media: 'audio',
setContext: function(type, media) {
@@ -13743,6 +16419,9 @@ this.Kodi.module("PlaylistApp", function(PlaylistApp, App, Backbone, Marionette,
API.setContext(type, media);
return API.getPlaylistItems();
});
+ App.commands.setHandler("playlist:export", function(collection) {
+ return API["export"](collection);
+ });
App.on("before:start", function() {
return new PlaylistApp.Router({
controller: API
@@ -13797,7 +16476,7 @@ this.Kodi.module("PlaylistApp.Show", function(Show, App, Backbone, Marionette, $
})(App.Views.ItemView);
});
-this.Kodi.module("ChannelApp.List", function(List, App, Backbone, Marionette, $, _) {
+this.Kodi.module("PVR.ChannelList", function(List, App, Backbone, Marionette, $, _) {
return List.Controller = (function(_super) {
__extends(Controller, _super);
@@ -13839,23 +16518,18 @@ this.Kodi.module("ChannelApp.List", function(List, App, Backbone, Marionette, $,
})(this));
});
this.listenTo(view, 'childview:channel:record', function(parent, child) {
- var record;
- record = App.request("command:kodi:controller", 'auto', 'PVR');
- return record.setPVRRecord(child.model.get('id'), {
- "record": "toggle"
- }, (function(_this) {
- return function() {
- return App.execute("notification:show", t.gettext("Channel recording toggled"));
- };
- })(this));
+ var pvr;
+ pvr = App.request("command:kodi:controller", 'auto', 'PVR');
+ return pvr.setRecord(child.model.get('id'), {}, function() {
+ return App.execute("notification:show", tr("Channel recording toggled"));
+ });
});
return this.layout.regionContent.show(view);
};
Controller.prototype.getSubNav = function() {
- var subNav, subNavId;
- subNavId = this.getOption('group') === 'alltv' ? 'tvshows/recent' : 'music';
- subNav = App.request("navMain:children:show", subNavId, 'Sections');
+ var subNav;
+ subNav = App.request("navMain:children:show", 'pvr/tv', 'PVR');
return this.layout.regionSidebarFirst.show(subNav);
};
@@ -13864,7 +16538,7 @@ this.Kodi.module("ChannelApp.List", function(List, App, Backbone, Marionette, $,
})(App.Controllers.Base);
});
-this.Kodi.module("ChannelApp.List", function(List, App, Backbone, Marionette, $, _) {
+this.Kodi.module("PVR.ChannelList", function(List, App, Backbone, Marionette, $, _) {
List.Layout = (function(_super) {
__extends(Layout, _super);
@@ -13921,9 +16595,9 @@ this.Kodi.module("ChannelApp.List", function(List, App, Backbone, Marionette, $,
})(App.Views.CollectionView);
});
-this.Kodi.module("ChannelApp", function(ChannelApp, App, Backbone, Marionette, $, _) {
+this.Kodi.module("PVR", function(PVR, App, Backbone, Marionette, $, _) {
var API;
- ChannelApp.Router = (function(_super) {
+ PVR.Router = (function(_super) {
__extends(Router, _super);
function Router() {
@@ -13931,8 +16605,9 @@ this.Kodi.module("ChannelApp", function(ChannelApp, App, Backbone, Marionette, $
}
Router.prototype.appRoutes = {
- "tvshows/live": "tv",
- "music/radio": "radio"
+ "pvr/tv": "tv",
+ "pvr/radio": "radio",
+ "pvr/recordings": "recordings"
};
return Router;
@@ -13940,23 +16615,135 @@ this.Kodi.module("ChannelApp", function(ChannelApp, App, Backbone, Marionette, $
})(App.Router.Base);
API = {
tv: function() {
- return new ChannelApp.List.Controller({
+ return new PVR.ChannelList.Controller({
group: 'alltv'
});
},
radio: function() {
- return new ChannelApp.List.Controller({
+ return new PVR.ChannelList.Controller({
group: 'allradio'
});
+ },
+ recordings: function() {
+ return new PVR.RecordingList.Controller();
}
};
return App.on("before:start", function() {
- return new ChannelApp.Router({
+ return new PVR.Router({
controller: API
});
});
});
+this.Kodi.module("PVR.RecordingList", function(List, App, Backbone, Marionette, $, _) {
+ return List.Controller = (function(_super) {
+ __extends(Controller, _super);
+
+ function Controller() {
+ return Controller.__super__.constructor.apply(this, arguments);
+ }
+
+ Controller.prototype.initialize = function(options) {
+ var collection;
+ collection = App.request("recording:entities", options.group);
+ return App.execute("when:entity:fetched", collection, (function(_this) {
+ return function() {
+ collection.sortCollection('starttime', 'desc');
+ _this.layout = _this.getLayoutView(collection);
+ _this.listenTo(_this.layout, "show", function() {
+ _this.renderChannels(collection);
+ return _this.getSubNav();
+ });
+ return App.regionContent.show(_this.layout);
+ };
+ })(this));
+ };
+
+ Controller.prototype.getLayoutView = function(collection) {
+ return new List.Layout({
+ collection: collection
+ });
+ };
+
+ Controller.prototype.renderChannels = function(collection) {
+ var view;
+ view = new List.RecordingList({
+ collection: collection
+ });
+ this.listenTo(view, 'childview:recording:play', function(parent, child) {
+ var playlist;
+ if (child.model.get('player') === 'video') {
+ return App.execute("input:resume", child.model, 'file');
+ } else {
+ playlist = App.request("command:kodi:controller", child.model.get('player'), 'PlayList');
+ return playlist.play('file', child.model.get('file'));
+ }
+ });
+ return this.layout.regionContent.show(view);
+ };
+
+ Controller.prototype.getSubNav = function() {
+ var subNav;
+ subNav = App.request("navMain:children:show", 'pvr/tv', 'PVR');
+ return this.layout.regionSidebarFirst.show(subNav);
+ };
+
+ return Controller;
+
+ })(App.Controllers.Base);
+});
+
+this.Kodi.module("PVR.RecordingList", function(List, App, Backbone, Marionette, $, _) {
+ List.Layout = (function(_super) {
+ __extends(Layout, _super);
+
+ function Layout() {
+ return Layout.__super__.constructor.apply(this, arguments);
+ }
+
+ Layout.prototype.className = "pvr-page";
+
+ return Layout;
+
+ })(App.Views.LayoutWithSidebarFirstView);
+ List.RecordingTeaser = (function(_super) {
+ __extends(RecordingTeaser, _super);
+
+ function RecordingTeaser() {
+ return RecordingTeaser.__super__.constructor.apply(this, arguments);
+ }
+
+ RecordingTeaser.prototype.template = 'apps/pvr/recordingList/recording';
+
+ RecordingTeaser.prototype.tagName = "li";
+
+ RecordingTeaser.prototype.className = 'pvr-card card';
+
+ RecordingTeaser.prototype.triggers = {
+ "click .play": "recording:play"
+ };
+
+ return RecordingTeaser;
+
+ })(App.Views.ItemView);
+ return List.RecordingList = (function(_super) {
+ __extends(RecordingList, _super);
+
+ function RecordingList() {
+ return RecordingList.__super__.constructor.apply(this, arguments);
+ }
+
+ RecordingList.prototype.childView = List.RecordingTeaser;
+
+ RecordingList.prototype.tagName = "ul";
+
+ RecordingList.prototype.className = "recordings";
+
+ return RecordingList;
+
+ })(App.Views.CollectionView);
+});
+
this.Kodi.module("SearchApp.List", function(List, App, Backbone, Marionette, $, _) {
return List.Controller = (function(_super) {
__extends(Controller, _super);
@@ -13967,13 +16754,28 @@ this.Kodi.module("SearchApp.List", function(List, App, Backbone, Marionette, $,
return Controller.__super__.constructor.apply(this, arguments);
}
+ Controller.prototype.maxItemsCombinedSearch = 21;
+
+ Controller.prototype.allEntities = ['movie', 'tvshow', 'artist', 'album', 'song'];
+
+ Controller.prototype.searchFieldMap = {
+ artist: 'artist',
+ album: 'album',
+ song: 'title',
+ movie: 'title',
+ tvshow: 'title'
+ };
+
Controller.prototype.initialize = function() {
var media;
+ this.pageLayout = this.getPageLayout();
this.layout = this.getLayout();
this.processed = [];
+ this.processedItems = 0;
+ this.addonSearches = App.request("addon:search:enabled");
media = this.getOption('media');
if (media === 'all') {
- this.entities = ['song', 'artist', 'album', 'tvshow', 'movie'];
+ this.entities = this.allEntities;
} else {
this.entities = [media];
}
@@ -13985,48 +16787,158 @@ this.Kodi.module("SearchApp.List", function(List, App, Backbone, Marionette, $,
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
entity = _ref[_i];
- _results.push(_this.getResult(entity));
+ if (helpers.global.inArray(entity, _this.allEntities)) {
+ _results.push(_this.getResultMedia(entity));
+ } else {
+ _results.push(_this.getResultAddon(entity));
+ }
}
return _results;
};
})(this));
- return App.regionContent.show(this.layout);
+ this.listenTo(this.pageLayout, "show", (function(_this) {
+ return function() {
+ _this.pageLayout.regionContent.show(_this.layout);
+ return _this.pageLayout.regionSidebarFirst.show(_this.getSidebar());
+ };
+ })(this));
+ return App.regionContent.show(this.pageLayout);
+ };
+
+ Controller.prototype.getPageLayout = function() {
+ return new List.PageLayout();
};
Controller.prototype.getLayout = function() {
return new List.ListLayout();
};
+ Controller.prototype.getSidebar = function() {
+ var media, medias, opts, _i, _len, _ref;
+ medias = [
+ {
+ id: 'all',
+ title: 'all media'
+ }
+ ];
+ _ref = this.allEntities;
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ media = _ref[_i];
+ medias.push({
+ id: media,
+ title: media + 's'
+ });
+ }
+ opts = {
+ links: {
+ media: medias,
+ addon: this.addonSearches
+ },
+ query: this.getOption('query')
+ };
+ return new List.Sidebar(opts);
+ };
+
Controller.prototype.getLoader = function() {
- var query, searchNames, text;
- searchNames = helpers.global.arrayToSentence(_.difference(this.entities, this.processed));
+ var addon, i, name, query, searchNames, text, toProcess;
+ toProcess = _.difference(this.entities, this.processed);
+ for (i in toProcess) {
+ name = toProcess[i];
+ addon = _.findWhere(this.addonSearches, {
+ id: name
+ });
+ toProcess[parseInt(i)] = addon ? addon.title : name + 's';
+ }
+ searchNames = helpers.global.arrayToSentence(toProcess, false);
query = helpers.global.arrayToSentence([this.getOption('query')], false);
text = t.gettext('Searching for') + ' ' + query + ' ' + t.gettext('in') + ' ' + searchNames;
return App.execute("loading:show:view", this.layout.loadingSet, text);
};
- Controller.prototype.getResult = function(entity) {
- var limit, query;
+ Controller.prototype.getResultMedia = function(entity) {
+ var limit, opts, query;
query = this.getOption('query');
- limit = this.getOption('media') === 'all' ? 'limit' : 'all';
- return App.execute("" + entity + ":search:entities", query, limit, (function(_this) {
- return function(loaded) {
- var setView, view;
- if (loaded.length > 0) {
- view = App.request("" + entity + ":list:view", loaded, true);
- setView = new List.ListSet({
- entity: entity,
- more: (loaded.more ? true : false),
- query: query
- });
- App.listenTo(setView, "show", function() {
- return setView.regionResult.show(view);
- });
- _this.layout["" + entity + "Set"].show(setView);
- }
- return _this.updateProgress(entity);
- };
- })(this));
+ limit = {
+ start: 0
+ };
+ if (this.getOption('media') === 'all') {
+ limit.end = this.maxItemsCombinedSearch;
+ }
+ opts = {
+ limits: limit,
+ filter: {
+ 'operator': 'contains',
+ 'field': this.searchFieldMap[entity],
+ 'value': query
+ },
+ success: (function(_this) {
+ return function(loaded) {
+ var more, setView, view;
+ if (loaded.length > 0) {
+ _this.processedItems = _this.processedItems + loaded.length;
+ more = false;
+ if (loaded.length === _this.maxItemsCombinedSearch) {
+ more = true;
+ loaded.first(20);
+ }
+ view = App.request("" + entity + ":list:view", loaded, true);
+ setView = new List.ListSet({
+ entity: entity,
+ more: more,
+ query: query,
+ title: entity + 's'
+ });
+ App.listenTo(setView, "show", function() {
+ return setView.regionResult.show(view);
+ });
+ _this.layout["" + entity + "Set"].show(setView);
+ }
+ return _this.updateProgress(entity);
+ };
+ })(this)
+ };
+ return App.request("" + entity + ":entities", opts);
+ };
+
+ Controller.prototype.getResultAddon = function(addonId) {
+ var addonSearch, opts;
+ addonSearch = _.findWhere(this.addonSearches, {
+ id: addonId
+ });
+ opts = {
+ file: addonSearch.url.replace('[QUERY]', this.getOption('query')),
+ media: addonSearch.media,
+ addonId: addonSearch.id,
+ success: (function(_this) {
+ return function(fullCollection) {
+ var collection, filesView, i, setView, type, typeCollection, _i, _len, _ref;
+ i = 0;
+ typeCollection = App.request("file:parsed:entities", fullCollection);
+ _ref = ['file', 'directory'];
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ type = _ref[_i];
+ collection = typeCollection[type];
+ if (collection.length > 0) {
+ i++;
+ _this.processedItems = _this.processedItems + collection.length;
+ filesView = App.request("browser:" + type + ":view", collection);
+ setView = new List.ListSet({
+ entity: addonSearch.title,
+ title: i === 1 ? addonSearch.title : '',
+ more: false,
+ query: _this.getOption('query')
+ });
+ App.listenTo(setView, "show", function() {
+ return setView.regionResult.show(filesView);
+ });
+ _this.layout.appendAddonView(addonId + type, setView);
+ }
+ }
+ return _this.updateProgress(addonId);
+ };
+ })(this)
+ };
+ return App.request("file:entities", opts);
};
Controller.prototype.updateProgress = function(done) {
@@ -14035,7 +16947,10 @@ this.Kodi.module("SearchApp.List", function(List, App, Backbone, Marionette, $,
}
this.getLoader();
if (this.processed.length === this.entities.length) {
- return this.layout.loadingSet.$el.empty();
+ this.layout.loadingSet.$el.empty();
+ if (this.processedItems === 0) {
+ return this.pageLayout.regionContent.$el.html('<h2 class="search-no-result">' + tr('No results found') + '</h2>');
+ }
}
};
@@ -14045,6 +16960,18 @@ this.Kodi.module("SearchApp.List", function(List, App, Backbone, Marionette, $,
});
this.Kodi.module("SearchApp.List", function(List, App, Backbone, Marionette, $, _) {
+ List.PageLayout = (function(_super) {
+ __extends(PageLayout, _super);
+
+ function PageLayout() {
+ return PageLayout.__super__.constructor.apply(this, arguments);
+ }
+
+ PageLayout.prototype.className = "search-page-layout";
+
+ return PageLayout;
+
+ })(App.Views.LayoutWithSidebarFirstView);
List.ListLayout = (function(_super) {
__extends(ListLayout, _super);
@@ -14065,10 +16992,18 @@ this.Kodi.module("SearchApp.List", function(List, App, Backbone, Marionette, $,
loadingSet: '.entity-set-loading'
};
+ ListLayout.prototype.appendAddonView = function(addonId, addonView) {
+ var addonViewId;
+ addonViewId = 'addonSet_' + addonId.split('.').join('_');
+ $('.entity-set-addons', this.$el).append('<div id="' + addonViewId + '">');
+ this.regionManager.addRegion(addonViewId, '#' + addonViewId);
+ return this[addonViewId].show(addonView);
+ };
+
return ListLayout;
})(App.Views.LayoutView);
- return List.ListSet = (function(_super) {
+ List.ListSet = (function(_super) {
__extends(ListSet, _super);
function ListSet() {
@@ -14081,13 +17016,15 @@ this.Kodi.module("SearchApp.List", function(List, App, Backbone, Marionette, $,
ListSet.prototype.onRender = function() {
var moreLink;
- if (this.options) {
- if (this.options.entity) {
- $('h2.set-header', this.$el).html(t.gettext(this.options.entity + 's'));
- if (this.options.more && this.options.query) {
- moreLink = this.themeLink(t.gettext('Show more'), 'search/' + this.options.entity + '/' + this.options.query);
- return $('.more', this.$el).html(moreLink);
- }
+ if (this.options && this.options.entity) {
+ if (this.options.title) {
+ $('h2.set-header', this.$el).html(t.gettext(this.options.title));
+ } else {
+ $('h2.set-header', this.$el).remove();
+ }
+ if (this.options.more && this.options.query) {
+ moreLink = this.themeLink(t.gettext('Show more'), 'search/' + this.options.entity + '/' + this.options.query);
+ return $('.more', this.$el).html(moreLink);
}
}
};
@@ -14099,6 +17036,49 @@ this.Kodi.module("SearchApp.List", function(List, App, Backbone, Marionette, $,
return ListSet;
})(App.Views.LayoutView);
+ return List.Sidebar = (function(_super) {
+ __extends(Sidebar, _super);
+
+ function Sidebar() {
+ return Sidebar.__super__.constructor.apply(this, arguments);
+ }
+
+ Sidebar.prototype.template = 'apps/search/list/search_sidebar';
+
+ Sidebar.prototype.className = "search-sidebar";
+
+ Sidebar.prototype.onRender = function() {
+ var $list, active, item, link, links, query, type, _ref, _results;
+ query = encodeURIComponent(this.options.query);
+ _ref = this.options.links;
+ _results = [];
+ for (type in _ref) {
+ links = _ref[type];
+ if (links.length === 0) {
+ _results.push($('.sidebar-section-' + type, this.$el).remove());
+ } else {
+ $list = $('.search-' + type + '-links', this.$el);
+ _results.push((function() {
+ var _i, _len, _results1;
+ _results1 = [];
+ for (_i = 0, _len = links.length; _i < _len; _i++) {
+ item = links[_i];
+ active = helpers.url.arg(1) === item.id ? 'active' : '';
+ link = this.themeLink(t.gettext(item.title), 'search/' + item.id + '/' + query, {
+ className: active
+ });
+ _results1.push($list.append(this.themeTag('li', {}, link)));
+ }
+ return _results1;
+ }).call(this));
+ }
+ }
+ return _results;
+ };
+
+ return Sidebar;
+
+ })(App.Views.LayoutView);
});
this.Kodi.module("SearchApp", function(SearchApp, App, Backbone, Marionette, $, _) {
@@ -14120,13 +17100,17 @@ this.Kodi.module("SearchApp", function(SearchApp, App, Backbone, Marionette, $,
})(App.Router.Base);
API = {
keyUpTimeout: 2000,
+ externalSearchUrls: {
+ google: 'https://www.google.com/webhp?#q=[QUERY]',
+ imdb: 'http://www.imdb.com/find?s=all&q=[QUERY]',
+ tmdb: 'https://www.themoviedb.org/search?query=[QUERY]',
+ tvdb: 'http://thetvdb.com/?searchseriesid=&tab=listseries&function=Search&string=[QUERY]',
+ soundcloud: 'https://soundcloud.com/search?q=[QUERY]',
+ youtube: 'https://www.youtube.com/results?search_query=[QUERY]'
+ },
list: function(media, query) {
- var $search;
App.navigate("search/" + media + "/" + query);
- $search = $('#search');
- if ($search.val() === '') {
- $search.val(query);
- }
+ $('#search').val(query);
return new SearchApp.List.Controller({
query: query,
media: media
@@ -14137,22 +17121,37 @@ this.Kodi.module("SearchApp", function(SearchApp, App, Backbone, Marionette, $,
},
searchBind: function() {
return $('#search').on('keyup', function(e) {
- var val;
+ var media, val;
$('#search-region').removeClass('pre-search');
val = $('#search').val();
+ media = helpers.url.arg(0) === 'search' ? helpers.url.arg(1) : 'all';
clearTimeout(App.searchAllTimeout);
if (e.which === 13) {
- return API.list('all', val);
+ return API.list(media, val);
} else {
$('#search-region').addClass('pre-search');
return App.searchAllTimeout = setTimeout((function() {
$('#search-region').removeClass('pre-search');
- return API.list('all', val);
+ return API.list(media, val);
}), API.keyUpTimeout);
}
});
}
};
+ App.commands.setHandler('search:go', function(type, query, provider) {
+ var url;
+ if (provider == null) {
+ provider = 'all';
+ }
+ if (type === 'internal') {
+ return App.navigate("search/" + provider + "/" + query, {
+ trigger: true
+ });
+ } else if (API.externalSearchUrls[provider]) {
+ url = API.externalSearchUrls[provider].replace('[QUERY]', encodeURIComponent(query));
+ return window.open(url);
+ }
+ });
App.on("before:start", function() {
return new SearchApp.Router({
controller: API
@@ -14207,6 +17206,132 @@ this.Kodi.module("SearchApp.Show", function(Show, App, Backbone, Marionette, $,
})(App.Views.ItemView);
});
+this.Kodi.module("Selected", function(Selected, App, Backbone, Marionette, $, _) {
+ Selected.List = (function(_super) {
+ __extends(List, _super);
+
+ function List() {
+ return List.__super__.constructor.apply(this, arguments);
+ }
+
+ List.prototype.items = [];
+
+ List.prototype.media = '';
+
+ List.prototype.type = '';
+
+ List.prototype.getItems = function() {
+ return this.items;
+ };
+
+ List.prototype.getCollection = function(callback) {
+ var collection, idProp, ids;
+ if (helpers.global.inArray(this.type, ['song', 'artist', 'album'])) {
+ ids = _.pluck(this.items, 'id');
+ idProp = this.type + 'id';
+ return App.request("song:custom:entities", idProp, ids, function(collection) {
+ return callback(collection);
+ });
+ } else {
+ collection = App.request(this.type + ":build:collection", this.items);
+ return callback(collection);
+ }
+ };
+
+ List.prototype.updateItems = function(op, model) {
+ this.items = _.filter(this.items, function(item) {
+ return item.uid !== model.uid;
+ });
+ if (op === 'add') {
+ this.items.push(model);
+ this.type = model.type;
+ this.media = helpers.global.inArray(this.type, ['song', 'album', 'artist']) ? 'audio' : 'video';
+ }
+ this.updateUi();
+ return this;
+ };
+
+ List.prototype.clearItems = function() {
+ this.items = [];
+ this.updateUi();
+ return this;
+ };
+
+ List.prototype.setMedia = function(media) {
+ this.media = media;
+ return this;
+ };
+
+ List.prototype.getType = function() {
+ return this.type;
+ };
+
+ List.prototype.getMedia = function() {
+ return this.media;
+ };
+
+ List.prototype.updateUi = function() {
+ var $selectedRegion, selectedText;
+ selectedText = this.items.length + ' ' + t.ngettext("item selected", "items selected", this.items.length);
+ $('#selected-count').html(selectedText);
+ $selectedRegion = $('#selected-region');
+ $selectedRegion.removeClassStartsWith('media-');
+ $selectedRegion.addClass('media-' + this.media);
+ if (this.items.length === 0) {
+ $selectedRegion.hide();
+ return $('.selected').removeClass('selected');
+ } else {
+ return $selectedRegion.show();
+ }
+ };
+
+ return List;
+
+ })(Marionette.Object);
+ App.addInitializer(function() {
+ return App.selected = new Selected.List;
+ });
+ App.reqres.setHandler("selected:get:items", function() {
+ return App.selected.getItems();
+ });
+ App.reqres.setHandler("selected:get:media", function() {
+ return App.selected.getMedia();
+ });
+ App.commands.setHandler("selected:update:items", function(op, model) {
+ return App.selected.updateItems(op, model);
+ });
+ App.commands.setHandler("selected:clear:items", function() {
+ return App.selected.clearItems();
+ });
+ App.commands.setHandler("selected:set:media", function(media) {
+ return App.selected.setMedia(media);
+ });
+ App.commands.setHandler("selected:action:play", function() {
+ return App.selected.getCollection(function(collection) {
+ var kodiPlaylist;
+ kodiPlaylist = App.request("command:kodi:controller", App.selected.getMedia(), 'PlayList');
+ kodiPlaylist.playCollection(collection);
+ return App.selected.clearItems();
+ });
+ });
+ App.commands.setHandler("selected:action:add", function() {
+ return App.selected.getCollection(function(collection) {
+ var kodiPlaylist;
+ kodiPlaylist = App.request("command:kodi:controller", App.selected.getMedia(), 'PlayList');
+ kodiPlaylist.addCollection(collection);
+ return App.selected.clearItems();
+ });
+ });
+ return App.commands.setHandler("selected:action:localadd", function() {
+ var idProp, ids, items;
+ items = App.selected.getItems();
+ ids = _.pluck(items, 'id');
+ idProp = App.selected.getType() + 'id';
+ App.execute("localplaylist:addentity", idProp, ids);
+ return App.selected.clearItems();
+ });
+});
+
this.Kodi.module("SettingsApp", function(SettingsApp, App, Backbone, Marionette, $, _) {
var API;
SettingsApp.Router = (function(_super) {
@@ -14221,7 +17346,8 @@ this.Kodi.module("SettingsApp", function(SettingsApp, App, Backbone, Marionette,
"settings/kodi": "kodi",
"settings/kodi/:section": "kodi",
"settings/addons": "addons",
- "settings/nav": "navMain"
+ "settings/nav": "navMain",
+ "settings/search": "search"
};
return Router;
@@ -14238,6 +17364,9 @@ this.Kodi.module("SettingsApp", function(SettingsApp, App, Backbone, Marionette,
navMain: function() {
return new SettingsApp.Show.navMain.Controller();
},
+ search: function() {
+ return new SettingsApp.Show.Search.Controller();
+ },
kodi: function(section, category) {
return new SettingsApp.Show.Kodi.Controller({
section: section,
@@ -14426,6 +17555,7 @@ this.Kodi.module("SettingsApp.Show.Addons", function(Addons, App, Backbone, Mari
el = elements[i];
elements[i] = $.extend(el, {
id: el.addonid,
+ name: el.addonid,
type: 'checkbox',
defaultValue: el.enabled,
title: el.name
@@ -14443,30 +17573,30 @@ this.Kodi.module("SettingsApp.Show.Addons", function(Addons, App, Backbone, Mari
Controller.prototype.saveCallback = function(data, formView) {
var updating;
updating = [];
- return this.getAllAddons((function(_this) {
- return function(addons) {
- var addon, addonid, commander, commands, key, val;
- for (key in addons) {
- addon = addons[key];
- addonid = addon.addonid;
- if (addon.enabled === !data[addonid]) {
- updating[addonid] = data[addonid];
- }
+ return this.getAllAddons(function(addons) {
+ var addon, addonid, commander, commands, key, val;
+ for (key in addons) {
+ addon = addons[key];
+ addonid = addon.addonid;
+ if (addon.enabled === !data[addonid]) {
+ updating[addonid] = data[addonid];
}
- commander = App.request("command:kodi:controller", 'auto', 'Commander');
- commands = [];
- for (key in updating) {
- val = updating[key];
- commands.push({
- method: 'Addons.SetAddonEnabled',
- params: [key, val]
- });
- }
- return commander.multipleCommands(commands, function(resp) {
- return Kodi.execute("notification:show", 'Toggled ' + commands.length + ' addons');
+ }
+ commander = App.request("command:kodi:controller", 'auto', 'Commander');
+ commands = [];
+ for (key in updating) {
+ val = updating[key];
+ commands.push({
+ method: 'Addons.SetAddonEnabled',
+ params: [key, val]
});
- };
- })(this));
+ }
+ return commander.multipleCommands(commands, (function(_this) {
+ return function(resp) {
+ return Kodi.execute("notification:show", 'Toggled ' + commands.length + ' addons');
+ };
+ })(this));
+ });
};
return Controller;
@@ -14497,6 +17627,10 @@ this.Kodi.module("SettingsApp.Show.Kodi", function(Kodi, App, Backbone, Marionet
'subtitles.movie': 'xbmc.subtitle.module',
'audiocds.encoder': 'xbmc.audioencoder'
},
+ actionLookups: {
+ "musiclibrary.cleanup": "command:kodi:audio:clean",
+ "videolibrary.cleanup": "command:kodi:video:clean"
+ },
parseOptions: function(options) {
var out;
out = {};
@@ -14504,6 +17638,15 @@ this.Kodi.module("SettingsApp.Show.Kodi", function(Kodi, App, Backbone, Marionet
return out[option.value] = option.label;
});
return out;
+ },
+ labelRewrites: function(item) {
+ if (item.id.lastIndexOf('videolibrary', 0) === 0) {
+ item.title += ' (video)';
+ }
+ if (item.id.lastIndexOf('musiclibrary', 0) === 0) {
+ item.title += ' (music)';
+ }
+ return item;
}
};
@@ -14641,6 +17784,15 @@ this.Kodi.module("SettingsApp.Show.Kodi", function(Kodi, App, Backbone, Marionet
case 'string':
type = 'textfield';
break;
+ case 'action':
+ if (API.actionLookups[item.id]) {
+ type = 'button';
+ item.value = item.label;
+ item.trigger = API.actionLookups[item.id];
+ } else {
+ type = 'hide';
+ }
+ break;
default:
type = 'hide';
}
@@ -14648,6 +17800,7 @@ this.Kodi.module("SettingsApp.Show.Kodi", function(Kodi, App, Backbone, Marionet
type = 'select';
item.options = API.parseOptions(item.options);
}
+ item = API.labelRewrites(item);
if (type === 'hide') {
return console.log('no setting to field mapping for: ' + item.type + ' -> ' + item.id);
} else {
@@ -14734,14 +17887,14 @@ this.Kodi.module("SettingsApp.Show.Local", function(Local, App, Backbone, Marion
children: [
{
id: 'lang',
- title: t.gettext("Language"),
+ title: tr("Language"),
type: 'select',
options: helpers.translate.getLanguages(),
defaultValue: 'en',
- description: t.gettext('Preferred language, need to refresh browser to take effect')
+ description: tr('Preferred language, need to refresh browser to take effect')
}, {
id: 'defaultPlayer',
- title: t.gettext("Default player"),
+ title: tr("Default player"),
type: 'select',
options: {
auto: 'Auto',
@@ -14749,10 +17902,10 @@ this.Kodi.module("SettingsApp.Show.Local", function(Local, App, Backbone, Marion
local: 'Local'
},
defaultValue: 'auto',
- description: t.gettext('Which player to start with')
+ description: tr('Which player to start with')
}, {
id: 'keyboardControl',
- title: t.gettext("Keyboard controls"),
+ title: tr("Keyboard controls"),
type: 'select',
options: {
kodi: 'Kodi',
@@ -14760,7 +17913,7 @@ this.Kodi.module("SettingsApp.Show.Local", function(Local, App, Backbone, Marion
both: 'Both'
},
defaultValue: 'kodi',
- description: t.gettext('In Chorus, will you keyboard control Kodi, the browser or both') + '. <a href="#help/keybind-readme">' + t.gettext('Learn more') + '</a>'
+ description: tr('In Chorus, will you keyboard control Kodi, the browser or both') + '. <a href="#help/keybind-readme">' + tr('Learn more') + '</a>'
}
]
}, {
@@ -14769,22 +17922,22 @@ this.Kodi.module("SettingsApp.Show.Local", function(Local, App, Backbone, Marion
children: [
{
id: 'ignoreArticle',
- title: t.gettext("Ignore article"),
+ title: tr("Ignore article"),
type: 'checkbox',
defaultValue: true,
- description: t.gettext("Ignore articles (terms such as 'The' and 'A') when sorting lists")
+ description: tr("Ignore articles (terms such as 'The' and 'A') when sorting lists")
}, {
- id: 'albumAtristsOnly',
- title: t.gettext("Album artists only"),
+ id: 'albumArtistsOnly',
+ title: tr("Album artists only"),
type: 'checkbox',
defaultValue: true,
- description: t.gettext('When listing artists should we only see artists with albums or all artists found. Warning: turning this off can impact performance with large libraries')
+ description: tr('When listing artists should we only see artists with albums or all artists found. Warning: turning this off can impact performance with large libraries')
}, {
id: 'playlistFocusPlaying',
- title: t.gettext("Focus playlist on playing"),
+ title: tr("Focus playlist on playing"),
type: 'checkbox',
defaultValue: true,
- description: t.gettext('Automatically scroll the playlist to the current playing item. This happens whenever the playing item is changed')
+ description: tr('Automatically scroll the playlist to the current playing item. This happens whenever the playing item is changed')
}
]
}, {
@@ -14793,22 +17946,22 @@ this.Kodi.module("SettingsApp.Show.Local", function(Local, App, Backbone, Marion
children: [
{
id: 'vibrantHeaders',
- title: t.gettext("Vibrant headers"),
+ title: tr("Vibrant headers"),
type: 'checkbox',
defaultValue: true,
- description: t.gettext("Use colourful headers for media pages")
+ description: tr("Use colourful headers for media pages")
}, {
id: 'disableThumbs',
- title: t.gettext("Disable Thumbs Up"),
+ title: tr("Disable Thumbs Up"),
type: 'checkbox',
defaultValue: false,
- description: t.gettext("Remove the thumbs up button from media. Note: you may also want to remove the menu item from the ") + '<a href="#settings/nav">' + t.gettext('Main Nav') + '</a>'
+ description: t.sprintf(tr("Remove the thumbs up button from media. Note: you may also want to remove the menu item from the %1$s"), '<a href="#settings/nav">' + tr('Main Nav') + '</a>')
}, {
id: 'showDeviceName',
- title: t.gettext("Show device name"),
+ title: tr("Show device name"),
type: 'checkbox',
defaultValue: false,
- description: t.gettext("Show the Kodi device name in the header of Chorus")
+ description: tr("Show the Kodi device name in the header of Chorus")
}
]
}, {
@@ -14817,31 +17970,31 @@ this.Kodi.module("SettingsApp.Show.Local", function(Local, App, Backbone, Marion
children: [
{
id: 'socketsPort',
- title: t.gettext("Websockets port"),
+ title: tr("Websockets port"),
type: 'textfield',
defaultValue: '9090',
- description: "9090 " + t.gettext("is the default")
+ description: "9090 " + tr("is the default")
}, {
id: 'socketsHost',
- title: t.gettext("Websockets host"),
+ title: tr("Websockets host"),
type: 'textfield',
defaultValue: 'auto',
- description: t.gettext("The hostname used for websockets connection. Set to 'auto' to use the current hostname.")
+ description: tr("The hostname used for websockets connection. Set to 'auto' to use the current hostname.")
}, {
id: 'pollInterval',
- title: t.gettext("Poll interval"),
+ title: tr("Poll interval"),
type: 'select',
defaultValue: '10000',
options: {
- '5000': "5 " + t.gettext('sec'),
- '10000': "10 " + t.gettext('sec'),
- '30000': "30 " + t.gettext('sec'),
- '60000': "60 " + t.gettext('sec')
+ '5000': "5 " + tr('sec'),
+ '10000': "10 " + tr('sec'),
+ '30000': "30 " + tr('sec'),
+ '60000': "60 " + tr('sec')
},
- description: t.gettext("How often do I poll for updates from Kodi (Only applies when websockets inactive)")
+ description: tr("How often do I poll for updates from Kodi (Only applies when websockets inactive)")
}, {
id: 'kodiSettingsLevel',
- title: t.gettext("Kodi settings level"),
+ title: tr("Kodi settings level"),
type: 'select',
defaultValue: 'standard',
options: {
@@ -14849,13 +18002,19 @@ this.Kodi.module("SettingsApp.Show.Local", function(Local, App, Backbone, Marion
'advanced': 'Advanced',
'expert': 'Expert'
},
- description: t.gettext('Advanced setting level is recommended for those who know what they are doing.')
+ description: tr('Advanced setting level is recommended for those who know what they are doing.')
}, {
id: 'reverseProxy',
- title: t.gettext("Reverse proxy support"),
+ title: tr("Reverse proxy support"),
type: 'checkbox',
defaultValue: false,
- description: t.gettext('Enable support for reverse proxying.')
+ description: tr('Enable support for reverse proxying.')
+ }, {
+ id: 'refreshIgnoreNFO',
+ title: tr("Refresh Ignore NFO"),
+ type: 'checkbox',
+ defaultValue: true,
+ description: tr('Ignore local NFO files when manually refreshing media.')
}
]
}
@@ -14870,7 +18029,7 @@ this.Kodi.module("SettingsApp.Show.Local", function(Local, App, Backbone, Marion
config.set('app', 'config:local', data);
config["static"] = _.extend(config["static"], config.get('app', 'config:local', config["static"]));
Kodi.vent.trigger("config:local:updated", config["static"]);
- return Kodi.execute("notification:show", t.gettext("Web Settings saved."));
+ return Kodi.execute("notification:show", tr("Web Settings saved."));
};
return Controller;
@@ -14899,9 +18058,10 @@ this.Kodi.module("SettingsApp.Show.navMain", function(NavMain, App, Backbone, Ma
};
Controller.prototype.getStructure = function(data) {
- var defaults, form, i, item, row, _ref;
+ var defaults, form, i, iconLink, item, row, _ref;
this.data = data;
defaults = ' <a class="nav-restore-defaults">' + t.gettext('Click here restore defaults') + '</a>';
+ iconLink = '<a href="#lab/icon-browser">icons</a>';
form = [
{
title: t.gettext('Main Menu Structure'),
@@ -14910,7 +18070,7 @@ this.Kodi.module("SettingsApp.Show.navMain", function(NavMain, App, Backbone, Ma
{
id: 'intro-text',
type: 'markup',
- markup: t.gettext('Here you can change the title, url and icons for menu items. You can also remove, re-order and add new items.') + defaults
+ markup: t.sprintf(tr('Here you can change the title, url and %1$s for menu items. You can also remove, re-order and add new items.'), iconLink) + defaults
}
]
}
@@ -15060,6 +18220,179 @@ this.Kodi.module("SettingsApp.Show.navMain", function(NavMain, App, Backbone, Ma
})(App.SettingsApp.Show.Base.Controller);
});
+this.Kodi.module("SettingsApp.Show.Search", function(Search, App, Backbone, Marionette, $, _) {
+ return Search.Controller = (function(_super) {
+ __extends(Controller, _super);
+
+ function Controller() {
+ this.onReady = __bind(this.onReady, this);
+ return Controller.__super__.constructor.apply(this, arguments);
+ }
+
+ Controller.prototype.getCollection = function(callback) {
+ this.collection = App.request('searchAddons:entities');
+ return callback(this.collection);
+ };
+
+ Controller.prototype.getStructure = function(data) {
+ var form, i, item, items, row;
+ this.data = data;
+ form = [
+ {
+ title: t.gettext('Custom Add-on search'),
+ id: 'intro',
+ children: [
+ {
+ id: 'intro-text',
+ type: 'markup',
+ markup: t.sprintf(tr("Add custom add-on searches"), '<a href="#help/addons">' + tr('Add-ons help page') + '</a>')
+ }
+ ]
+ }
+ ];
+ items = this.collection.toJSON();
+ if (items.length === 0) {
+ items.push(this.getBlank(items.length));
+ }
+ for (i in items) {
+ item = items[i];
+ item.weight = i;
+ row = this.getRow(item);
+ form.push(row);
+ }
+ form.push({
+ id: 'add-another',
+ "class": 'add-another-wrapper',
+ children: [
+ {
+ type: 'button',
+ value: 'Add another',
+ id: 'add-another'
+ }
+ ]
+ });
+ return form;
+ };
+
+ Controller.prototype.saveCallback = function(formState, formView) {
+ var i, item, items, _ref;
+ items = [];
+ _ref = formState.title;
+ for (i in _ref) {
+ item = _ref[i];
+ items.push({
+ title: formState.title[i],
+ url: formState.url[i],
+ media: formState.media[i],
+ weight: formState.weight[i],
+ id: formState.id[i]
+ });
+ }
+ App.request("searchAddons:update:entities", items);
+ return Kodi.execute("notification:show", t.gettext('Custom Addon search updated'));
+ };
+
+ Controller.prototype.onReady = function() {
+ var $ctx, self;
+ self = this;
+ $ctx = this.layout.regionContent.$el;
+ $('.settings-form').addClass('settings-form-draggable');
+ this.binds();
+ $('.form-groups', $ctx).sortable({
+ draggable: ".draggable-row",
+ onEnd: function(e) {
+ return $('input[id^="form-edit-weight-"]', e.target).each(function(i, d) {
+ return $(d).attr('value', i);
+ });
+ }
+ });
+ $('#form-edit-add-another', $ctx).click(function(e) {
+ var blank, formView, row;
+ e.preventDefault();
+ blank = self.getBlank($(".item-row").length);
+ row = self.getRow(blank);
+ formView = App.request("form:render:items", [row]);
+ $(this).closest('.add-another-wrapper').before(formView.render().$el);
+ return self.binds();
+ });
+ return $('.restore-defaults', $ctx).on("click", (function(_this) {
+ return function(e) {};
+ })(this));
+ };
+
+ Controller.prototype.getBlank = function(weight) {
+ return {
+ weight: weight,
+ title: '',
+ url: '',
+ media: 'music'
+ };
+ };
+
+ Controller.prototype.binds = function() {
+ var $ctx;
+ $ctx = $('.settings-form');
+ $('.remove-item', $ctx).on("click", function(e) {
+ return $(this).closest('.group-parent', $ctx).remove();
+ });
+ return $.material.init();
+ };
+
+ Controller.prototype.getRow = function(item) {
+ var i;
+ i = item.weight;
+ return {
+ id: 'item-' + item.weight,
+ "class": 'item-row draggable-row',
+ children: [
+ {
+ id: 'title-' + i,
+ name: 'title[]',
+ type: 'textfield',
+ title: 'Title',
+ defaultValue: item.title
+ }, {
+ id: 'url-' + i,
+ name: 'url[]',
+ type: 'textfield',
+ title: 'Url',
+ defaultValue: item.url
+ }, {
+ id: 'media-' + i,
+ name: 'media[]',
+ type: 'select',
+ title: 'Media',
+ defaultValue: item.media,
+ options: {
+ music: 'Music',
+ video: 'Video'
+ }
+ }, {
+ id: 'weight-' + i,
+ name: 'weight[]',
+ type: 'hidden',
+ title: '',
+ defaultValue: i
+ }, {
+ id: 'id-' + i,
+ name: 'id[]',
+ type: 'hidden',
+ title: '',
+ defaultValue: 'custom.addon.' + i
+ }, {
+ id: 'remove-' + i,
+ type: 'markup',
+ markup: '<span class="remove-item">&times;</span>'
+ }
+ ]
+ };
+ };
+
+ return Controller;
+
+ })(App.SettingsApp.Show.Base.Controller);
+});
+
this.Kodi.module("SettingsApp.Show", function(Show, App, Backbone, Marionette, $, _) {
Show.Layout = (function(_super) {
__extends(Layout, _super);
@@ -15180,35 +18513,8 @@ this.Kodi.module("Shell", function(Shell, App, Backbone, Marionette, $, _) {
return _this.alterRegionClasses('toggle', "shell-playlist-closed");
};
})(this));
- App.listenTo(shellLayout, "shell:audio:scan", (function(_this) {
- return function() {
- return App.request("command:kodi:controller", 'auto', 'AudioLibrary').scan();
- };
- })(this));
- App.listenTo(shellLayout, "shell:video:scan", (function(_this) {
- return function() {
- return App.request("command:kodi:controller", 'auto', 'VideoLibrary').scan();
- };
- })(this));
- App.listenTo(shellLayout, "shell:goto:lab", (function(_this) {
- return function() {
- return App.navigate("#lab", {
- trigger: true
- });
- };
- })(this));
- App.listenTo(shellLayout, "shell:send:input", (function(_this) {
- return function() {
- return App.execute("input:textbox", '');
- };
- })(this));
- return App.listenTo(shellLayout, "shell:about", (function(_this) {
- return function() {
- return App.navigate("#help", {
- trigger: true
- });
- };
- })(this));
+ this.bindListenersContextMenu(shellLayout);
+ return this.bindListenersSelectedMenu(shellLayout);
},
alterRegionClasses: function(op, classes, region) {
var $body, action;
@@ -15235,6 +18541,38 @@ this.Kodi.module("Shell", function(Shell, App, Backbone, Marionette, $, _) {
return App.getRegion('regionTitle').$el.html(title);
});
}
+ },
+ bindListenersContextMenu: function(shellLayout) {
+ App.listenTo(shellLayout, "shell:audio:scan", function() {
+ return App.request("command:kodi:controller", 'auto', 'AudioLibrary').scan();
+ });
+ App.listenTo(shellLayout, "shell:video:scan", function() {
+ return App.request("command:kodi:controller", 'auto', 'VideoLibrary').scan();
+ });
+ App.listenTo(shellLayout, "shell:goto:lab", function() {
+ return App.navigate("#lab", {
+ trigger: true
+ });
+ });
+ App.listenTo(shellLayout, "shell:about", function() {
+ return App.navigate("#help", {
+ trigger: true
+ });
+ });
+ return App.listenTo(shellLayout, "shell:send:input", function() {
+ return App.execute("input:textbox", '');
+ });
+ },
+ bindListenersSelectedMenu: function(shellLayout) {
+ App.listenTo(shellLayout, "shell:selected:play", function() {
+ return App.execute("selected:action:play");
+ });
+ App.listenTo(shellLayout, "shell:selected:add", function() {
+ return App.execute("selected:action:add");
+ });
+ return App.listenTo(shellLayout, "shell:selected:localadd", function() {
+ return App.execute("selected:action:localadd");
+ });
}
};
return App.addInitializer(function() {
@@ -15277,7 +18615,8 @@ this.Kodi.module("Shell", function(Shell, App, Backbone, Marionette, $, _) {
regionModalFooter: '.modal-footer',
regionRemote: '#remote',
regionSearch: '#search-region',
- regionTitle: '#page-title .title'
+ regionTitle: '#page-title .title',
+ regionOffscreen: '#offscreen'
};
Layout.prototype.triggers = {
@@ -15286,7 +18625,10 @@ this.Kodi.module("Shell", function(Shell, App, Backbone, Marionette, $, _) {
"click .video-scan": "shell:video:scan",
"click .goto-lab": "shell:goto:lab",
"click .send-input": "shell:send:input",
- "click .about": "shell:about"
+ "click .about": "shell:about",
+ "click .selected-play": "shell:selected:play",
+ "click .selected-add": "shell:selected:add",
+ "click .selected-localadd": "shell:selected:localadd"
};
Layout.prototype.events = {
@@ -15299,7 +18641,7 @@ this.Kodi.module("Shell", function(Shell, App, Backbone, Marionette, $, _) {
return Layout;
- })(Backbone.Marionette.LayoutView);
+ })(App.Views.LayoutView);
Shell.HomepageLayout = (function(_super) {
__extends(HomepageLayout, _super);
@@ -15315,6 +18657,149 @@ this.Kodi.module("Shell", function(Shell, App, Backbone, Marionette, $, _) {
return App.execute("shell:view:ready");
});
+this.Kodi.module("SongApp.Edit", function(Edit, App, Backbone, Marionette, $, _) {
+ return Edit.Controller = (function(_super) {
+ __extends(Controller, _super);
+
+ function Controller() {
+ return Controller.__super__.constructor.apply(this, arguments);
+ }
+
+ Controller.prototype.initialize = function() {
+ var form, options;
+ this.model = this.getOption('model');
+ options = {
+ title: '<span>' + tr('Edit') + '</span>' + this.model.get('title'),
+ form: this.getStructure(),
+ formState: this.model.attributes,
+ config: {
+ attributes: {
+ "class": 'edit-form'
+ },
+ editForm: true,
+ tabs: true,
+ callback: (function(_this) {
+ return function(data, formView) {
+ return _this.saveCallback(data, formView);
+ };
+ })(this)
+ }
+ };
+ return form = App.request("form:popup:wrapper", options);
+ };
+
+ Controller.prototype.getStructure = function() {
+ return [
+ {
+ title: 'General',
+ id: 'general',
+ children: [
+ {
+ id: 'title',
+ title: tr('Title'),
+ type: 'textfield'
+ }, {
+ id: 'artist',
+ title: tr('Artist'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'albumartist',
+ title: tr('Album artist'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'album',
+ title: tr('Album'),
+ type: 'textfield'
+ }, {
+ id: 'year',
+ title: tr('Year'),
+ type: 'number',
+ format: 'integer',
+ attributes: {
+ "class": 'half-width',
+ step: 1,
+ min: 1000,
+ max: 9999
+ }
+ }, {
+ id: 'rating',
+ title: tr('Rating'),
+ type: 'number',
+ format: 'float',
+ attributes: {
+ "class": 'half-width',
+ step: 0.1,
+ min: 0,
+ max: 10
+ },
+ suffix: '<div class="clearfix"></div>'
+ }, {
+ id: 'track',
+ title: tr('Track'),
+ type: 'textfield',
+ format: 'integer',
+ attributes: {
+ "class": 'half-width'
+ }
+ }, {
+ id: 'disc',
+ title: tr('Disc'),
+ type: 'textfield',
+ format: 'integer',
+ attributes: {
+ "class": 'half-width'
+ },
+ suffix: '<div class="clearfix"></div>'
+ }
+ ]
+ }, {
+ title: 'Tags',
+ id: 'tags',
+ children: [
+ {
+ id: 'genre',
+ title: tr('Genres'),
+ type: 'textfield',
+ format: 'array.string'
+ }
+ ]
+ }, {
+ title: 'Information',
+ id: 'info',
+ children: [
+ {
+ id: 'file',
+ title: tr('File path'),
+ type: 'textarea',
+ attributes: {
+ disabled: 'disabled',
+ cols: 5
+ },
+ format: 'prevent.submit'
+ }
+ ]
+ }
+ ];
+ };
+
+ Controller.prototype.saveCallback = function(data, formView) {
+ var controller;
+ controller = App.request("command:kodi:controller", 'audio', 'AudioLibrary');
+ return controller.setSongDetails(this.model.get('id'), data, (function(_this) {
+ return function() {
+ Kodi.vent.trigger('entity:kodi:update', _this.model.get('uid'));
+ return Kodi.execute("notification:show", t.sprintf(tr("Updated %1$s details"), 'song'));
+ };
+ })(this));
+ };
+
+ return Controller;
+
+ })(App.Controllers.Base);
+});
+
this.Kodi.module("SongApp.List", function(List, App, Backbone, Marionette, $, _) {
var API;
API = {
@@ -15343,7 +18828,7 @@ this.Kodi.module("SongApp.List", function(List, App, Backbone, Marionette, $, _)
})(this));
App.listenTo(this.songsView, 'childview:song:localplay', (function(_this) {
return function(list, item) {
- return _this.localPlaySong(item.model);
+ return _this.localPlaySong(item.model.get('songid'));
};
})(this));
App.listenTo(this.songsView, 'childview:song:download', (function(_this) {
@@ -15353,9 +18838,12 @@ this.Kodi.module("SongApp.List", function(List, App, Backbone, Marionette, $, _)
})(this));
App.listenTo(this.songsView, 'childview:song:musicvideo', (function(_this) {
return function(list, item) {
- return _this.musicVideo(item.model);
+ return App.execute("youtube:search:popup", item.model.get('label') + ' ' + item.model.get('artist'));
};
})(this));
+ App.listenTo(this.songsView, 'childview:song:edit', function(parent, item) {
+ return App.execute('song:edit', item.model);
+ });
App.listenTo(this.songsView, "show", function() {
return App.vent.trigger("state:content:updated");
});
@@ -15370,29 +18858,15 @@ this.Kodi.module("SongApp.List", function(List, App, Backbone, Marionette, $, _)
localAddSong: function(songId) {
return App.execute("localplaylist:addentity", 'songid', songId);
},
- localPlaySong: function(model) {
+ localPlaySong: function(songId) {
var localPlaylist;
localPlaylist = App.request("command:local:controller", 'audio', 'PlayList');
- return localPlaylist.play(model.attributes);
+ return localPlaylist.play('songid', songId);
},
downloadSong: function(model) {
var files;
files = App.request("command:kodi:controller", 'video', 'Files');
return files.downloadFile(model.get('file'));
- },
- musicVideo: function(model) {
- var query;
- query = model.get('label') + ' ' + model.get('artist');
- return App.execute("youtube:search:view", query, function(view) {
- var $footer;
- $footer = $('<a>', {
- "class": 'btn btn-primary',
- href: 'https://www.youtube.com/results?search_query=' + query,
- target: '_blank'
- });
- $footer.html('More videos');
- return App.execute("ui:modal:show", query, view.render().$el, $footer);
- });
}
};
return App.reqres.setHandler("song:list:view", function(songs, verbose) {
@@ -15417,17 +18891,22 @@ this.Kodi.module("SongApp.List", function(List, App, Backbone, Marionette, $, _)
Song.prototype.initialize = function() {
var duration, menu;
- duration = helpers.global.secToTime(this.model.get('duration'));
- menu = {
- 'song-localadd': 'Add to playlist',
- 'song-download': 'Download song',
- 'song-localplay': 'Play in browser',
- 'song-musicvideo': 'Music video'
- };
- return this.model.set({
- displayDuration: helpers.global.formatTime(duration),
- menu: menu
- });
+ Song.__super__.initialize.apply(this, arguments);
+ if (this.model) {
+ duration = helpers.global.secToTime(this.model.get('duration'));
+ menu = {
+ 'song-localadd': 'Add to playlist',
+ 'song-download': 'Download song',
+ 'song-localplay': 'Play in browser',
+ 'song-musicvideo': 'Music video',
+ 'divider': '',
+ 'song-edit': 'Edit'
+ };
+ return this.model.set({
+ displayDuration: helpers.global.formatTime(duration),
+ menu: menu
+ });
+ }
};
Song.prototype.triggers = {
@@ -15437,34 +18916,49 @@ this.Kodi.module("SongApp.List", function(List, App, Backbone, Marionette, $, _)
"click .song-localadd": "song:localadd",
"click .song-download": "song:download",
"click .song-localplay": "song:localplay",
- "click .song-musicvideo": "song:musicvideo"
+ "click .song-musicvideo": "song:musicvideo",
+ "click .song-remove": "song:remove",
+ "click .song-edit": "song:edit"
};
Song.prototype.events = {
"click .dropdown > i": "menuPopulate",
- "click .thumbs": "toggleThumbs"
+ "click .thumbs": "toggleThumbs",
+ "click": "toggleSelect"
+ };
+
+ Song.prototype.modelEvents = {
+ 'change': 'render'
};
Song.prototype.toggleThumbs = function() {
App.request("thumbsup:toggle:entity", this.model);
- return this.$el.toggleClass('thumbs-up');
+ this.$el.toggleClass('thumbs-up');
+ return $('.plitem-' + this.model.get('type') + '-' + this.model.get('id')).toggleClass('thumbs-up');
};
Song.prototype.attributes = function() {
var classes;
- classes = ['song', 'table-row', 'can-play', 'item-' + this.model.get('uid')];
- if (App.request("thumbsup:check", this.model)) {
- classes.push('thumbs-up');
+ if (this.model) {
+ classes = ['song', 'table-row', 'can-play', 'item-' + this.model.get('uid')];
+ if (App.request("thumbsup:check", this.model)) {
+ classes.push('thumbs-up');
+ }
+ return {
+ 'class': classes.join(' '),
+ 'data-id': this.model.id
+ };
}
- return {
- "class": classes.join(' ')
- };
};
Song.prototype.onShow = function() {
return this.menuBlur();
};
+ Song.prototype.onRender = function() {
+ return this.$el.data('model', this.model);
+ };
+
return Song;
})(App.Views.ItemView);
@@ -15477,6 +18971,12 @@ this.Kodi.module("SongApp.List", function(List, App, Backbone, Marionette, $, _)
Songs.prototype.childView = List.Song;
+ Songs.prototype.placeHolderViewName = 'SongViewPlaceholder';
+
+ Songs.prototype.cardSelector = '.song';
+
+ Songs.prototype.preload = 40;
+
Songs.prototype.tagName = "table";
Songs.prototype.attributes = function() {
@@ -15489,7 +18989,21 @@ this.Kodi.module("SongApp.List", function(List, App, Backbone, Marionette, $, _)
return Songs;
- })(App.Views.CollectionView);
+ })(App.Views.VirtualListView);
+});
+
+this.Kodi.module("SongApp", function(SongApp, App, Backbone, Marionette, $, _) {
+ return App.commands.setHandler('song:edit', function(model) {
+ var loadedModel;
+ loadedModel = App.request("song:entity", model.get('songid'));
+ return App.execute("when:entity:fetched", loadedModel, (function(_this) {
+ return function() {
+ return new SongApp.Edit.Controller({
+ model: loadedModel
+ });
+ };
+ })(this));
+ });
});
this.Kodi.module("StateApp", function(StateApp, App, Backbone, Marionette, $, _) {
@@ -15593,8 +19107,15 @@ this.Kodi.module("StateApp", function(StateApp, App, Backbone, Marionette, $, _)
return this.playing[key] = value;
};
- Base.prototype.isPlaying = function() {
- return this.getPlaying('playing');
+ Base.prototype.isPlaying = function(media) {
+ if (media == null) {
+ media = 'auto';
+ }
+ if (media === 'auto') {
+ return this.getPlaying('playing');
+ } else {
+ return media === this.getState('media') && this.getPlaying('playing');
+ }
};
Base.prototype.isPlayingItemChanged = function() {
@@ -15781,7 +19302,7 @@ this.Kodi.module("StateApp.Kodi", function(StateApp, App, Backbone, Marionette,
})(this);
ws.onmessage = (function(_this) {
return function(resp) {
- return _this.messageRecieved(resp);
+ return _this.messageReceived(resp);
};
})(this);
ws.onclose = (function(_this) {
@@ -15806,7 +19327,7 @@ this.Kodi.module("StateApp.Kodi", function(StateApp, App, Backbone, Marionette,
return jQuery.parseJSON(resp.data);
};
- Notifications.prototype.messageRecieved = function(resp) {
+ Notifications.prototype.messageReceived = function(resp) {
var data;
data = this.parseResponse(resp);
return this.onMessage(data);
@@ -15831,8 +19352,25 @@ this.Kodi.module("StateApp.Kodi", function(StateApp, App, Backbone, Marionette,
})(this)), 1000);
};
+ Notifications.prototype.onLibraryUpdate = function(data) {
+ var model;
+ model = data.params.data.item ? data.params.data.item : data.params.data;
+ model.uid = helpers.entities.createUid(model, model.type);
+ App.vent.trigger('entity:kodi:update', model.uid);
+ if (model.type === 'episode') {
+ clearTimeout(App.episodeRecheckTimeout);
+ return App.episodeRecheckTimeout = setTimeout(function() {
+ return App.request('episode:entity', model.id, {
+ success: function(epModel) {
+ return App.vent.trigger('entity:kodi:update', 'tvshow-' + epModel.get('tvshowid'));
+ }
+ });
+ }, 2000);
+ }
+ };
+
Notifications.prototype.onMessage = function(data) {
- var playerController, wait;
+ var wait;
switch (data.method) {
case 'Player.OnPlay':
this.setPlaying('paused', false);
@@ -15863,14 +19401,18 @@ this.Kodi.module("StateApp.Kodi", function(StateApp, App, Backbone, Marionette,
case 'Playlist.OnClear':
case 'Playlist.OnAdd':
case 'Playlist.OnRemove':
- playerController = App.request("command:kodi:controller", 'auto', 'Player');
- App.execute("playlist:refresh", 'kodi', playerController.playerIdToName(data.params.data.playlistid));
- this.refreshStateNow();
+ clearTimeout(App.playlistUpdateTimeout);
+ App.playlistUpdateTimeout = setTimeout((function(_this) {
+ return function(e) {
+ var playerController;
+ playerController = App.request("command:kodi:controller", 'auto', 'Player');
+ App.execute("playlist:refresh", 'kodi', playerController.playerIdToName(data.params.data.playlistid));
+ return _this.refreshStateNow();
+ };
+ })(this), 500);
break;
case 'Application.OnVolumeChanged':
- this.setState('volume', data.params.data.volume);
- this.setState('muted', data.params.data.muted);
- this.refreshStateNow();
+ App.request("state:kodi").getCurrentState();
break;
case 'VideoLibrary.OnScanStarted':
App.execute("notification:show", t.gettext("Video library scan started"));
@@ -15888,12 +19430,29 @@ this.Kodi.module("StateApp.Kodi", function(StateApp, App, Backbone, Marionette,
Backbone.fetchCache.clearItem('AlbumCollection');
Backbone.fetchCache.clearItem('ArtistCollection');
break;
+ case 'AudioLibrary.OnCleanStarted':
+ App.execute("notification:show", t.gettext("Audio library clean started"));
+ break;
+ case 'AudioLibrary.OnCleanFinished':
+ App.execute("notification:show", t.gettext("Audio library clean finished"));
+ break;
+ case 'VideoLibrary.OnCleanStarted':
+ App.execute("notification:show", t.gettext("Video library clean started"));
+ break;
+ case 'VideoLibrary.OnCleanFinished':
+ App.execute("notification:show", t.gettext("Video library clean finished"));
+ break;
+ case 'AudioLibrary.OnUpdate':
+ case 'VideoLibrary.OnUpdate':
+ this.onLibraryUpdate(data);
+ break;
case 'Input.OnInputRequested':
App.execute("input:textbox", '');
wait = 60;
App.inputTimeout = setTimeout((function() {
- var msg;
- msg = wait + t.gettext(' seconds ago, an input dialog opened on xbmc and it is still open! To prevent ' + 'a mainframe implosion, you should probably give me some text. I don\'t really care what it is at this point, ' + 'why not be creative? Do you have a ') + '<a href="http://goo.gl/PGE7wg" target="_blank">' + t.gettext('word of the day') + '</a>? ' + t.gettext('I won\'t tell...');
+ var msg, wotd;
+ wotd = '<a href="http://goo.gl/PGE7wg" target="_blank">word of the day</a>';
+ msg = t.sprintf(tr("%1$d seconds ago, an input dialog opened in Kodi and it is still open! To prevent " + "a mainframe implosion, you should probably give me some text. I don't really care what it " + "is at this point, why not be creative? Do you have a %2$s? I won't tell..."), wait, wotd);
App.execute("input:textbox", msg);
}), 1000 * wait);
break;
@@ -16073,7 +19632,7 @@ this.Kodi.module("StateApp", function(StateApp, App, Backbone, Marionette, $, _)
return _results;
},
setPlayingContent: function(player) {
- var $playlistCtx, className, item, playState, stateObj;
+ var $plItem, $playlistCtx, className, item, playState, stateObj;
stateObj = App.request("state:" + player);
$playlistCtx = $('.media-' + stateObj.getState('media') + ' .' + player + '-playlist');
$('.can-play').removeClassStartsWith(player + '-row-');
@@ -16083,7 +19642,11 @@ this.Kodi.module("StateApp", function(StateApp, App, Backbone, Marionette, $, _)
playState = stateObj.getPlaying('playState');
className = '.item-' + item.uid;
$(className).addClass(this.playerClass('row-' + playState, player));
- $('.pos-' + stateObj.getPlaying('position'), $playlistCtx).addClass('row-' + playState);
+ $plItem = $('.pos-' + stateObj.getPlaying('position'), $playlistCtx).addClass('row-' + playState);
+ if ($plItem.data('type') === 'file') {
+ $('.thumb', $plItem).css("background-image", "url('" + item.thumbnail + "')");
+ $('.title', $plItem).html(helpers.entities.playingLink(item));
+ }
return App.vent.trigger("state:" + player + ":playing:updated", stateObj);
}
},
@@ -16184,7 +19747,7 @@ this.Kodi.module("ThumbsApp.List", function(List, App, Backbone, Marionette, $,
Controller.prototype.initialize = function() {
var entities;
this.layout = this.getLayout();
- entities = ['song', 'artist', 'album', 'tvshow', 'movie'];
+ entities = ['song', 'artist', 'album', 'tvshow', 'movie', 'episode'];
this.listenTo(this.layout, "show", (function(_this) {
return function() {
var entity, _i, _len, _results;
@@ -16244,7 +19807,8 @@ this.Kodi.module("ThumbsApp.List", function(List, App, Backbone, Marionette, $,
albumSet: '.entity-set-album',
songSet: '.entity-set-song',
movieSet: '.entity-set-movie',
- tvshowSet: '.entity-set-tvshow'
+ tvshowSet: '.entity-set-tvshow',
+ episodeSet: '.entity-set-episode'
};
return ListLayout;
@@ -16306,6 +19870,285 @@ this.Kodi.module("ThumbsApp", function(ThumbsApp, App, Backbone, Marionette, $,
});
});
+this.Kodi.module("TVShowApp.EditEpisode", function(Edit, App, Backbone, Marionette, $, _) {
+ return Edit.Controller = (function(_super) {
+ __extends(Controller, _super);
+
+ function Controller() {
+ return Controller.__super__.constructor.apply(this, arguments);
+ }
+
+ Controller.prototype.initialize = function() {
+ var form, options;
+ this.model = this.getOption('model');
+ options = {
+ title: '<span>' + tr('Edit') + '</span>' + this.model.get('showtitle') + ' - ' + this.model.get('title') + ' (S' + this.model.get('season') + ' E' + this.model.get('episode') + ')',
+ form: this.getStructure(),
+ formState: this.model.attributes,
+ config: {
+ attributes: {
+ "class": 'edit-form'
+ },
+ editForm: true,
+ tabs: true,
+ callback: (function(_this) {
+ return function(data, formView) {
+ return _this.saveCallback(data, formView);
+ };
+ })(this)
+ }
+ };
+ return form = App.request("form:popup:wrapper", options);
+ };
+
+ Controller.prototype.getStructure = function() {
+ return [
+ {
+ title: 'General',
+ id: 'general',
+ children: [
+ {
+ id: 'title',
+ title: tr('Title'),
+ type: 'textfield'
+ }, {
+ id: 'plot',
+ title: tr('Plot'),
+ type: 'textarea'
+ }, {
+ id: 'rating',
+ title: tr('Rating'),
+ type: 'number',
+ format: 'float',
+ attributes: {
+ "class": 'half-width',
+ step: 0.1,
+ min: 0,
+ max: 10
+ }
+ }, {
+ id: 'firstaired',
+ title: tr('First aired'),
+ type: 'date',
+ attributes: {
+ "class": 'half-width'
+ },
+ suffix: '<div class="clearfix"></div>'
+ }, {
+ id: 'originaltitle',
+ title: tr('Original title'),
+ type: 'textfield'
+ }
+ ]
+ }, {
+ title: 'Tags',
+ id: 'tags',
+ children: [
+ {
+ id: 'director',
+ title: tr('Directors'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'writer',
+ title: tr('Writers'),
+ type: 'textfield',
+ format: 'array.string'
+ }
+ ]
+ }, {
+ title: 'Information',
+ id: 'info',
+ children: [
+ {
+ id: 'file',
+ title: tr('File path'),
+ type: 'textarea',
+ attributes: {
+ disabled: 'disabled',
+ cols: 5
+ },
+ format: 'prevent.submit'
+ }
+ ]
+ }
+ ];
+ };
+
+ Controller.prototype.saveCallback = function(data, formView) {
+ var controller;
+ controller = App.request("command:kodi:controller", 'video', 'VideoLibrary');
+ return controller.setEpisodeDetails(this.model.get('id'), data, (function(_this) {
+ return function() {
+ Kodi.vent.trigger('entity:kodi:update', _this.model.get('uid'));
+ return Kodi.execute("notification:show", t.sprintf(tr("Updated %1$s details"), 'episode'));
+ };
+ })(this));
+ };
+
+ return Controller;
+
+ })(App.Controllers.Base);
+});
+
+this.Kodi.module("TVShowApp.EditShow", function(Edit, App, Backbone, Marionette, $, _) {
+ return Edit.Controller = (function(_super) {
+ __extends(Controller, _super);
+
+ function Controller() {
+ return Controller.__super__.constructor.apply(this, arguments);
+ }
+
+ Controller.prototype.initialize = function() {
+ var form, options;
+ this.model = this.getOption('model');
+ options = {
+ title: '<span>' + tr('Edit') + '</span>' + this.model.get('title'),
+ form: this.getStructure(),
+ formState: this.model.attributes,
+ config: {
+ attributes: {
+ "class": 'edit-form'
+ },
+ editForm: true,
+ tabs: true,
+ callback: (function(_this) {
+ return function(data, formView) {
+ return _this.saveCallback(data, formView);
+ };
+ })(this)
+ }
+ };
+ return form = App.request("form:popup:wrapper", options);
+ };
+
+ Controller.prototype.getStructure = function() {
+ return [
+ {
+ title: 'General',
+ id: 'general',
+ children: [
+ {
+ id: 'title',
+ title: tr('Title'),
+ type: 'textfield'
+ }, {
+ id: 'plot',
+ title: tr('Plot'),
+ type: 'textarea'
+ }, {
+ id: 'studio',
+ title: tr('Studio'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'mpaa',
+ title: tr('Content rating'),
+ type: 'textfield',
+ attributes: {
+ "class": 'half-width'
+ }
+ }, {
+ id: 'premiered',
+ title: tr('Premiered'),
+ type: 'date',
+ attributes: {
+ "class": 'half-width'
+ },
+ suffix: '<div class="clearfix"></div>'
+ }, {
+ id: 'rating',
+ title: tr('Rating'),
+ type: 'number',
+ format: 'float',
+ attributes: {
+ "class": 'half-width',
+ step: 0.1,
+ min: 0,
+ max: 10
+ }
+ }, {
+ id: 'imdbnumber',
+ title: tr('IMDb'),
+ type: 'textfield',
+ attributes: {
+ "class": 'half-width'
+ },
+ suffix: '<div class="clearfix"></div>'
+ }, {
+ id: 'sorttitle',
+ title: tr('Sort title'),
+ type: 'textfield'
+ }, {
+ id: 'originaltitle',
+ title: tr('Original title'),
+ type: 'textfield'
+ }
+ ]
+ }, {
+ title: 'Tags',
+ id: 'tags',
+ children: [
+ {
+ id: 'genre',
+ title: tr('Genres'),
+ type: 'textfield',
+ format: 'array.string'
+ }, {
+ id: 'tag',
+ title: tr('Tags'),
+ type: 'textarea',
+ format: 'array.string'
+ }
+ ]
+ }, {
+ title: 'Poster',
+ id: 'poster',
+ children: [
+ {
+ id: 'thumbnail',
+ title: tr('URL'),
+ type: 'imageselect',
+ valueProperty: 'thumbnailOriginal',
+ description: tr('Add an image via an external URL'),
+ metadataImageHandler: 'themoviedb:tv:images',
+ metadataLookupField: 'imdbnumber'
+ }
+ ]
+ }, {
+ title: 'Background',
+ id: 'background',
+ children: [
+ {
+ id: 'fanart',
+ title: tr('URL'),
+ type: 'imageselect',
+ valueProperty: 'fanartOriginal',
+ description: tr('Add an image via an external URL'),
+ metadataImageHandler: 'themoviedb:tv:images',
+ metadataLookupField: 'imdbnumber'
+ }
+ ]
+ }
+ ];
+ };
+
+ Controller.prototype.saveCallback = function(data, formView) {
+ var controller;
+ controller = App.request("command:kodi:controller", 'video', 'VideoLibrary');
+ return controller.setTVShowDetails(this.model.get('id'), data, (function(_this) {
+ return function() {
+ Kodi.vent.trigger('entity:kodi:update', _this.model.get('uid'));
+ return Kodi.execute("notification:show", t.sprintf(tr("Updated %1$s details"), 'tvshow'));
+ };
+ })(this));
+ };
+
+ return Controller;
+
+ })(App.Controllers.Base);
+});
+
this.Kodi.module("TVShowApp.Episode", function(Episode, App, Backbone, Marionette, $, _) {
var API;
API = {
@@ -16329,6 +20172,12 @@ this.Kodi.module("TVShowApp.Episode", function(Episode, App, Backbone, Marionett
App.listenTo(view, 'childview:episode:watched', function(parent, viewItem) {
return App.execute('episode:action:watched', parent, viewItem);
});
+ App.listenTo(view, 'childview:episode:goto:season', function(parent, viewItem) {
+ return App.execute('episode:action', 'gotoSeason', viewItem);
+ });
+ App.listenTo(view, 'childview:episode:edit', function(parent, viewItem) {
+ return App.execute('episode:edit', viewItem.model);
+ });
return view;
},
bindTriggers: function(view) {
@@ -16344,9 +20193,15 @@ this.Kodi.module("TVShowApp.Episode", function(Episode, App, Backbone, Marionett
App.listenTo(view, 'episode:download', function(viewItem) {
return App.execute('episode:action', 'download', viewItem);
});
- return App.listenTo(view, 'toggle:watched', function(viewItem) {
+ App.listenTo(view, 'toggle:watched', function(viewItem) {
return App.execute('episode:action:watched', viewItem.view, viewItem.view);
});
+ App.listenTo(view, 'episode:refresh', function(viewItem) {
+ return App.execute('episode:action', 'refresh', viewItem);
+ });
+ return App.listenTo(view, 'episode:edit', function(viewItem) {
+ return App.execute('episode:edit', viewItem.model);
+ });
}
};
Episode.Controller = (function(_super) {
@@ -16403,24 +20258,37 @@ this.Kodi.module("TVShowApp.Episode", function(Episode, App, Backbone, Marionett
};
Controller.prototype.getContentView = function(episode) {
- var contentLayout;
- contentLayout = new Episode.Content({
+ this.contentLayout = new Episode.Content({
model: episode
});
- App.listenTo(contentLayout, 'show', (function(_this) {
+ App.listenTo(this.contentLayout, 'show', (function(_this) {
return function() {
if (episode.get('cast').length > 0) {
- return contentLayout.regionCast.show(_this.getCast(episode));
+ _this.contentLayout.regionCast.show(_this.getCast(episode));
}
+ return _this.getSeason(episode);
};
})(this));
- return this.layout.regionContent.show(contentLayout);
+ return this.layout.regionContent.show(this.contentLayout);
};
Controller.prototype.getCast = function(episode) {
return App.request('cast:list:view', episode.get('cast'), 'tvshows');
};
+ Controller.prototype.getSeason = function(episode) {
+ var collection;
+ collection = App.request("episode:tvshow:entities", episode.get('tvshowid'), episode.get('season'));
+ return App.execute("when:entity:fetched", collection, (function(_this) {
+ return function() {
+ var view;
+ collection.sortCollection('episode', 'asc');
+ view = App.request("episode:list:view", collection);
+ return _this.contentLayout.regionSeason.show(view);
+ };
+ })(this));
+ };
+
return Controller;
})(App.Controllers.Base);
@@ -16442,26 +20310,16 @@ this.Kodi.module("TVShowApp.Episode", function(Episode, App, Backbone, Marionett
"click .watched": "episode:watched",
"click .add": "episode:add",
"click .localplay": "episode:localplay",
- "click .download": "episode:download"
+ "click .download": "episode:download",
+ "click .goto-season": "episode:goto:season",
+ "click .edit": "episode:edit"
};
EpisodeTeaser.prototype.initialize = function() {
EpisodeTeaser.__super__.initialize.apply(this, arguments);
if (this.model != null) {
- this.model.set(this.getMeta());
- this.model.set({
- actions: {
- watched: 'Watched'
- }
- });
- return this.model.set({
- menu: {
- add: 'Add to Kodi playlist',
- divider: '',
- download: 'Download',
- localplay: 'Play in browser'
- }
- });
+ this.setMeta();
+ return this.model.set(App.request('episode:action:items'));
}
};
@@ -16469,7 +20327,7 @@ this.Kodi.module("TVShowApp.Episode", function(Episode, App, Backbone, Marionett
return this.watchedAttributes('card');
};
- EpisodeTeaser.prototype.getMeta = function() {
+ EpisodeTeaser.prototype.setMeta = function() {
var epNum, epNumFull, showLink;
epNum = this.themeTag('span', {
"class": 'ep-num'
@@ -16480,10 +20338,10 @@ this.Kodi.module("TVShowApp.Episode", function(Episode, App, Backbone, Marionett
showLink = this.themeLink(this.model.get('showtitle') + ' ', 'tvshow/' + this.model.get('tvshowid'), {
className: 'show-name'
});
- return {
+ return this.model.set({
label: epNum + this.model.get('title'),
subtitle: showLink + epNumFull
- };
+ });
};
return EpisodeTeaser;
@@ -16558,11 +20416,9 @@ this.Kodi.module("TVShowApp.Episode", function(Episode, App, Backbone, Marionett
'click .play': 'episode:play',
'click .add': 'episode:add',
'click .stream': 'episode:localplay',
- 'click .download': 'episode:download'
- };
-
- Details.prototype.events = {
- "click .watched": "toggleWatched"
+ 'click .download': 'episode:download',
+ 'click .edit': 'episode:edit',
+ 'click .refresh': 'episode:refresh'
};
Details.prototype.attributes = function() {
@@ -16571,7 +20427,7 @@ this.Kodi.module("TVShowApp.Episode", function(Episode, App, Backbone, Marionett
return Details;
- })(App.Views.ItemView);
+ })(App.Views.DetailsItem);
Episode.EpisodeDetailTeaser = (function(_super) {
__extends(EpisodeDetailTeaser, _super);
@@ -16581,12 +20437,22 @@ this.Kodi.module("TVShowApp.Episode", function(Episode, App, Backbone, Marionett
EpisodeDetailTeaser.prototype.tagName = "div";
- EpisodeDetailTeaser.prototype.className = "card-detail";
-
EpisodeDetailTeaser.prototype.triggers = {
"click .menu": "episode-menu:clicked"
};
+ EpisodeDetailTeaser.prototype.initialize = function() {
+ return this.model.set({
+ actions: {
+ thumbs: tr('Thumbs up')
+ }
+ });
+ };
+
+ EpisodeDetailTeaser.prototype.attributes = function() {
+ return this.watchedAttributes('card-detail');
+ };
+
return EpisodeDetailTeaser;
})(App.Views.CardView);
@@ -16602,101 +20468,20 @@ this.Kodi.module("TVShowApp.Episode", function(Episode, App, Backbone, Marionett
Content.prototype.className = "episode-content content-sections";
Content.prototype.regions = {
- regionCast: '.region-cast'
- };
-
- return Content;
-
- })(App.Views.LayoutView);
-});
-
-this.Kodi.module("TVShowApp.Landing", function(Landing, App, Backbone, Marionette, $, _) {
- return Landing.Controller = (function(_super) {
- __extends(Controller, _super);
-
- function Controller() {
- return Controller.__super__.constructor.apply(this, arguments);
- }
-
- Controller.prototype.subNavId = 'tvshows/recent';
-
- Controller.prototype.initialize = function() {
- this.layout = this.getLayoutView();
- this.listenTo(this.layout, "show", (function(_this) {
- return function() {
- _this.getPageView();
- return _this.getSubNav();
- };
- })(this));
- return App.regionContent.show(this.layout);
- };
-
- Controller.prototype.getLayoutView = function() {
- return new Landing.Layout();
- };
-
- Controller.prototype.getSubNav = function() {
- var subNav;
- subNav = App.request("navMain:children:show", this.subNavId, 'Sections');
- return this.layout.regionSidebarFirst.show(subNav);
- };
-
- Controller.prototype.getPageView = function() {
- this.page = new Landing.Page();
- this.listenTo(this.page, "show", (function(_this) {
- return function() {
- return _this.renderRecentlyAdded();
- };
- })(this));
- return this.layout.regionContent.show(this.page);
+ regionCast: '.region-cast',
+ regionSeason: '.region-season'
};
- Controller.prototype.renderRecentlyAdded = function() {
- var collection;
- collection = App.request("episode:recentlyadded:entities");
- return App.execute("when:entity:fetched", collection, (function(_this) {
- return function() {
- var view;
- view = App.request("episode:list:view", collection);
- return _this.page.regionRecentlyAdded.show(view);
- };
- })(this));
+ Content.prototype.modelEvents = {
+ 'change': 'modelChange'
};
- return Controller;
-
- })(App.Controllers.Base);
-});
-
-this.Kodi.module("TVShowApp.Landing", function(Landing, App, Backbone, Marionette, $, _) {
- Landing.Layout = (function(_super) {
- __extends(Layout, _super);
-
- function Layout() {
- return Layout.__super__.constructor.apply(this, arguments);
- }
-
- Layout.prototype.className = "movie-landing landing-page";
-
- return Layout;
-
- })(App.Views.LayoutWithSidebarFirstView);
- return Landing.Page = (function(_super) {
- __extends(Page, _super);
-
- function Page() {
- return Page.__super__.constructor.apply(this, arguments);
- }
-
- Page.prototype.template = 'apps/movie/landing/landing';
-
- Page.prototype.className = "movie-recent";
-
- Page.prototype.regions = {
- regionRecentlyAdded: '.region-recently-added'
+ Content.prototype.modelChange = function() {
+ this.render();
+ return this.trigger('show');
};
- return Page;
+ return Content;
})(App.Views.LayoutView);
});
@@ -16727,7 +20512,7 @@ this.Kodi.module("TVShowApp.List", function(List, App, Backbone, Marionette, $,
return App.execute('tvshow:action:watched', parent, viewItem);
});
return App.listenTo(view, 'childview:tvshow:edit', function(parent, viewItem) {
- return App.execute('tvshow:action', 'edit', viewItem);
+ return App.execute('tvshow:edit', viewItem.model);
});
}
};
@@ -16764,8 +20549,8 @@ this.Kodi.module("TVShowApp.List", function(List, App, Backbone, Marionette, $,
Controller.prototype.getAvailableFilters = function() {
return {
- sort: ['title', 'year', 'dateadded', 'rating'],
- filter: ['year', 'genre', 'unwatched', 'cast', 'mpaa', 'studio', 'thumbsUp']
+ sort: ['title', 'year', 'dateadded', 'rating', 'random'],
+ filter: ['year', 'genre', 'unwatched', 'inprogress', 'cast', 'mpaa', 'studio', 'thumbsUp']
};
};
@@ -16819,22 +20604,26 @@ this.Kodi.module("TVShowApp.List", function(List, App, Backbone, Marionette, $,
TVShowTeaser.prototype.triggers = {
"click .play": "tvshow:play",
"click .watched": "tvshow:watched",
- "click .add": "tvshow:add"
+ "click .add": "tvshow:add",
+ "click .edit": "tvshow:edit"
};
TVShowTeaser.prototype.initialize = function() {
- var subtitle;
TVShowTeaser.__super__.initialize.apply(this, arguments);
- subtitle = '';
- subtitle += ' ' + this.model.get('rating');
- this.model.set({
- subtitle: subtitle
- });
+ this.setMeta();
return this.model.set(App.request('tvshow:action:items'));
};
TVShowTeaser.prototype.attributes = function() {
- return this.watchedAttributes('card tv-show');
+ return this.watchedAttributes('card tv-show prevent-select');
+ };
+
+ TVShowTeaser.prototype.setMeta = function() {
+ if (this.model) {
+ return this.model.set({
+ subtitle: this.model.get('rating')
+ });
+ }
};
return TVShowTeaser;
@@ -16991,7 +20780,7 @@ this.Kodi.module("TVShowApp.Season", function(Season, App, Backbone, Marionette,
Controller.prototype.getEpisodes = function(tvshow, seasonId) {
var collection;
- collection = App.request("episode:entities", tvshow.get('tvshowid'), seasonId);
+ collection = App.request("episode:tvshow:entities", tvshow.get('tvshowid'), seasonId);
return App.execute("when:entity:fetched", collection, (function(_this) {
return function() {
var view;
@@ -17027,18 +20816,18 @@ this.Kodi.module("TVShowApp.Season", function(Season, App, Backbone, Marionette,
SeasonTeaser.prototype.initialize = function() {
var subtitle;
SeasonTeaser.__super__.initialize.apply(this, arguments);
- subtitle = this.model.get('episode') + ' ' + t.gettext('episodes');
+ subtitle = this.model.get('episode') + ' ' + tr('episodes');
this.model.set({
subtitle: subtitle
});
this.model.set(App.request('tvshow:action:items'));
return this.model.set({
- label: 'Season ' + this.model.get('season')
+ label: tr('Season') + ' ' + this.model.get('season')
});
};
SeasonTeaser.prototype.attributes = function() {
- return this.watchedAttributes('card tv-season');
+ return this.watchedAttributes('card tv-season prevent-select');
};
return SeasonTeaser;
@@ -17114,17 +20903,13 @@ this.Kodi.module("TVShowApp.Season", function(Season, App, Backbone, Marionette,
"click .add": "season:add"
};
- Details.prototype.events = {
- "click .watched": "toggleWatched"
- };
-
Details.prototype.attributes = function() {
return this.watchedAttributes('details-meta');
};
return Details;
- })(App.Views.ItemView);
+ })(App.Views.DetailsItem);
return Season.SeasonDetailTeaser = (function(_super) {
__extends(SeasonDetailTeaser, _super);
@@ -17154,8 +20939,14 @@ this.Kodi.module("TVShowApp.Show", function(Show, App, Backbone, Marionette, $,
App.listenTo(view, 'toggle:watched', function(view) {
return App.execute('tvshow:action:watched', view.view, view.view, true);
});
+ App.listenTo(view, 'tvshow:refresh', function(view) {
+ return App.execute('tvshow:action', 'refresh', view);
+ });
+ App.listenTo(view, 'tvshow:refresh:episodes', function(view) {
+ return App.execute('tvshow:action', 'refreshEpisodes', view);
+ });
return App.listenTo(view, 'tvshow:edit', function(view) {
- return App.execute('tvshow:action', 'edit', view);
+ return App.execute('tvshow:edit', view.model);
});
},
bindTriggersTVSeason: function(view) {
@@ -17233,7 +21024,14 @@ this.Kodi.module("TVShowApp.Show", function(Show, App, Backbone, Marionette, $,
var view;
view = App.request("season:list:view", collection);
API.bindTriggersTVSeason(view);
- return _this.layout.regionContent.show(view);
+ if (_this.layout.regionContent) {
+ _this.layout.regionContent.show(view);
+ return App.vent.on('entity:kodi:update', function(uid) {
+ if (tvshow.get('uid') === uid) {
+ return _this.getSeasons(tvshow);
+ }
+ });
+ }
};
})(this));
};
@@ -17279,11 +21077,10 @@ this.Kodi.module("TVShowApp.Show", function(Show, App, Backbone, Marionette, $,
Details.prototype.triggers = {
"click .play": "tvshow:play",
- "click .add": "tvshow:add"
- };
-
- Details.prototype.events = {
- "click .watched": "toggleWatched"
+ "click .add": "tvshow:add",
+ "click .edit": "tvshow:edit",
+ "click .refresh": "tvshow:refresh",
+ "click .refresh-episodes": "tvshow:refresh:episodes"
};
Details.prototype.attributes = function() {
@@ -17292,7 +21089,7 @@ this.Kodi.module("TVShowApp.Show", function(Show, App, Backbone, Marionette, $,
return Details;
- })(App.Views.ItemView);
+ })(App.Views.DetailsItem);
return Show.TVShowTeaser = (function(_super) {
__extends(TVShowTeaser, _super);
@@ -17302,12 +21099,22 @@ this.Kodi.module("TVShowApp.Show", function(Show, App, Backbone, Marionette, $,
TVShowTeaser.prototype.tagName = "div";
- TVShowTeaser.prototype.className = "card-detail";
-
TVShowTeaser.prototype.triggers = {
"click .play": "tvshow:play"
};
+ TVShowTeaser.prototype.initialize = function() {
+ return this.model.set({
+ actions: {
+ thumbs: tr('Thumbs up')
+ }
+ });
+ };
+
+ TVShowTeaser.prototype.attributes = function() {
+ return this.watchedAttributes('card-detail');
+ };
+
return TVShowTeaser;
})(App.Views.CardView);
@@ -17323,7 +21130,6 @@ this.Kodi.module("TVShowApp", function(TVShowApp, App, Backbone, Marionette, $,
}
Router.prototype.appRoutes = {
- "tvshows/recent": "landing",
"tvshows": "list",
"tvshow/:tvshowid": "view",
"tvshow/:tvshowid/:season": "season",
@@ -17334,9 +21140,6 @@ this.Kodi.module("TVShowApp", function(TVShowApp, App, Backbone, Marionette, $,
})(App.Router.Base);
API = {
- landing: function() {
- return new TVShowApp.Landing.Controller();
- },
list: function() {
return new TVShowApp.List.Controller();
},
@@ -17378,7 +21181,6 @@ this.Kodi.module("TVShowApp", function(TVShowApp, App, Backbone, Marionette, $,
progress = op === 'watched' ? 100 : 0;
$el[classOp]('is-watched');
helpers.entities.setProgress($el, progress);
- helpers.entities.setProgress($el.closest('.episode-show'), progress);
$layout = $el.closest('.tv-collection');
if (setChildren) {
$layout.find('.region-content .card')[classOp]('is-watched');
@@ -17390,7 +21192,7 @@ this.Kodi.module("TVShowApp", function(TVShowApp, App, Backbone, Marionette, $,
},
getAllEpisodesCollection: function(tvshowid, season, callback) {
var collectionAll;
- collectionAll = App.request("episode:entities", tvshowid, season);
+ collectionAll = App.request("episode:tvshow:entities", tvshowid, season);
return App.execute("when:entity:fetched", collectionAll, (function(_this) {
return function() {
return callback(collectionAll);
@@ -17414,13 +21216,20 @@ this.Kodi.module("TVShowApp", function(TVShowApp, App, Backbone, Marionette, $,
return files.downloadFile(model.get('file'));
case 'toggleWatched':
return videoLib.toggleWatched(model, 'auto');
+ case 'gotoSeason':
+ return App.navigate("#tvshow/" + model.get('tvshowid') + '/' + model.get('season'), {
+ trigger: true
+ });
+ case 'refresh':
+ return helpers.entities.refreshEntity(model, videoLib, 'refreshEpisode');
}
},
tvShowAction: function(op, view) {
- var model, playlist, season;
+ var model, playlist, season, videoLib;
model = view.model;
playlist = App.request("command:kodi:controller", 'video', 'PlayList');
season = model.get('type') === 'season' ? model.get('season') : 'all';
+ videoLib = App.request("command:kodi:controller", 'video', 'VideoLibrary');
switch (op) {
case 'play':
return API.getAllEpisodesCollection(model.get('tvshowid'), season, function(collection) {
@@ -17436,6 +21245,12 @@ this.Kodi.module("TVShowApp", function(TVShowApp, App, Backbone, Marionette, $,
return API.toggleWatched(model, season, op);
case 'edit':
return App.execute('tvshow:edit', model);
+ case 'refresh':
+ return helpers.entities.refreshEntity(model, videoLib, 'refreshTVShow');
+ case 'refreshEpisodes':
+ return helpers.entities.refreshEntity(model, videoLib, 'refreshTVShow', {
+ refreshepisodes: true
+ });
}
}
};
@@ -17445,14 +21260,34 @@ this.Kodi.module("TVShowApp", function(TVShowApp, App, Backbone, Marionette, $,
App.commands.setHandler('tvshow:action', function(op, view) {
return API.tvShowAction(op, view);
});
+ App.reqres.setHandler('episode:action:items', function() {
+ return {
+ actions: {
+ watched: tr('Watched'),
+ thumbs: tr('Thumbs up')
+ },
+ menu: {
+ 'add': tr('Queue in Kodi'),
+ 'divider-1': '',
+ 'download': tr('Download'),
+ 'localplay': tr('Play in browser'),
+ 'divider-2': '',
+ 'goto-season': tr('Go to season'),
+ 'divider-3': '',
+ 'edit': tr('Edit')
+ }
+ };
+ });
App.reqres.setHandler('tvshow:action:items', function() {
return {
actions: {
- watched: 'Watched',
- thumbs: 'Thumbs up'
+ watched: tr('Watched'),
+ thumbs: tr('Thumbs up')
},
menu: {
- add: 'Add to Kodi playlist'
+ add: tr('Queue in Kodi'),
+ 'divider-': '',
+ 'edit': tr('Edit')
}
};
});
@@ -17463,11 +21298,11 @@ this.Kodi.module("TVShowApp", function(TVShowApp, App, Backbone, Marionette, $,
}
op = parent.$el.hasClass('is-watched') ? 'unwatched' : 'watched';
if (viewItem.model.get('type') === 'season') {
- msg = t.gettext('Set all episodes for this season as') + ' ' + t.gettext(op);
+ msg = tr('Set all episodes for this season as') + ' ' + tr(op);
} else {
- msg = t.gettext('Set all episodes for this TV show as') + ' ' + t.gettext(op);
+ msg = tr('Set all episodes for this TV show as') + ' ' + tr(op);
}
- return App.execute("ui:modal:confirm", t.gettext('Are you sure?'), msg, function() {
+ return App.execute("ui:modal:confirm", tr('Are you sure?'), msg, function() {
API.toggleWatchedUiState(parent.$el, setChildren);
return API.tvShowAction(op, viewItem);
});
@@ -17476,6 +21311,28 @@ this.Kodi.module("TVShowApp", function(TVShowApp, App, Backbone, Marionette, $,
API.toggleWatchedUiState(parent.$el, false);
return API.episodeAction('toggleWatched', viewItem);
});
+ App.commands.setHandler('tvshow:edit', function(model) {
+ var loadedModel;
+ loadedModel = App.request("tvshow:entity", model.get('id'));
+ return App.execute("when:entity:fetched", loadedModel, (function(_this) {
+ return function() {
+ return new TVShowApp.EditShow.Controller({
+ model: loadedModel
+ });
+ };
+ })(this));
+ });
+ App.commands.setHandler('episode:edit', function(model) {
+ var loadedModel;
+ loadedModel = App.request("episode:entity", model.get('id'));
+ return App.execute("when:entity:fetched", loadedModel, (function(_this) {
+ return function() {
+ return new TVShowApp.EditEpisode.Controller({
+ model: loadedModel
+ });
+ };
+ })(this));
+ });
return App.on("before:start", function() {
return new TVShowApp.Router({
controller: API
@@ -17586,18 +21443,19 @@ this.Kodi.module("UiApp", function(UiApp, App, Backbone, Marionette, $, _) {
return $wrap;
}
};
- App.commands.setHandler("ui:textinput:show", function(title, msg, callback, open) {
- var $input, $msg, el;
- if (msg == null) {
- msg = '';
- }
- if (open == null) {
- open = true;
+ App.commands.setHandler("ui:textinput:show", function(title, options, callback) {
+ var $input, $msg, el, msg, open, val;
+ if (options == null) {
+ options = {};
}
+ msg = options.msg ? options.msg : '';
+ open = options.open ? true : false;
+ val = options.defaultVal ? options.defaultVal : '';
$input = $('<input>', {
id: 'text-input',
"class": 'form-control',
- type: 'text'
+ type: 'text',
+ value: val
}).on('keyup', function(e) {
if (e.keyCode === 13 && callback) {
callback($('#text-input').val());
@@ -17637,11 +21495,14 @@ this.Kodi.module("UiApp", function(UiApp, App, Backbone, Marionette, $, _) {
API.getModalButtonContainer().html(footer);
return API.openModal(title, msg, open);
});
- App.commands.setHandler("ui:modal:form:show", function(title, msg) {
+ App.commands.setHandler("ui:modal:form:show", function(title, msg, style) {
if (msg == null) {
msg = '';
}
- return API.openModal(title, msg, true, 'form');
+ if (style == null) {
+ style = 'form';
+ }
+ return API.openModal(title, msg, true, style);
});
App.commands.setHandler("ui:modal:close", function() {
return API.closeModal();
@@ -17660,6 +21521,11 @@ this.Kodi.module("UiApp", function(UiApp, App, Backbone, Marionette, $, _) {
App.commands.setHandler("ui:playermenu", function(op) {
return API.playerMenu(op);
});
+ App.commands.setHandler("ui:dropdown:bind:close", function($el) {
+ return $el.on("click", '.dropdown-menu li, .dropdown-menu a', function(e) {
+ return $(e.target).closest('.dropdown-menu').parent().removeClass('open').trigger('hide.bs.dropdown');
+ });
+ });
return App.vent.on("shell:ready", (function(_this) {
return function(options) {
return $('html').on('click', function() {
diff --git a/addons/webinterface.default/lang/_strings/en.json b/addons/webinterface.default/lang/_strings/en.json
index 7f78186bf5..0f668e9b81 100644
--- a/addons/webinterface.default/lang/_strings/en.json
+++ b/addons/webinterface.default/lang/_strings/en.json
@@ -1 +1 @@
-{"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=2; plural=(n != 1);","lang":"en"},"Nothing playing":["Nothing playing"],"Deselect all":["Deselect all"],"Filters":["Filters"],"Sort":["Sort"],"Select a filter":["Select a filter"],"Select an option":["Select an option"],"filter":["filter"],"Add filter":["Add filter"],"Which player to start with":["Which player to start with"],"Ignore terms such as 'The' and 'A' when sorting lists":["Ignore terms such as 'The' and 'A' when sorting lists"],"When listing artists should we only see artists with albums or all artists found. Warning: turning this off can impact performance with large libraries":["When listing artists should we only see artists with albums or all artists found. Warning: turning this off can impact performance with large libraries"],"is the default":["is the default"],"The hostname used for websockets connection. Set to 'auto' to use the current hostname.":["The hostname used for websockets connection. Set to 'auto' to use the current hostname."],"How often do I poll for updates from Kodi (Only applies when websockets inactive)":["How often do I poll for updates from Kodi (Only applies when websockets inactive)"],"Enable support for reverse proxy.":["Enable support for reverse proxy."],"Web settings saved.":["Web settings saved."],"Just a sec...":["Just a sec..."],"Unable to communicate with Kodi in a long time. I think it's dead Jim!":["Unable to communicate with Kodi in a long time. I think it's dead Jim!"],"Video library scan started":["Video library scan started"],"Video library scan complete":["Video library scan complete"],"Audio library scan started":["Audio library scan started"],"Audio library scan complete":["Audio library scan complete"],"Kodi has quit":["Kodi has quit"],"Sections":["Sections"],"Back":["Back"],"Loading folder...":["Loading folder..."],"Show more":["Show more"],"to Kodi":["to Kodi"],"Playlist refreshed":["Playlist refreshed"],"Kodi":["Kodi"],"Local":["Local"],"Playlists":["Playlists"],"Existing playlists":["Existing playlists"],"Empty playlist, you should probably add something to it?":["Empty playlist, you should probably add something to it?"],"Create a new list":["Create a new list"],"Add to playlist":["Add to playlist"],"Added to your playlist":["Added to your playlist"],"Give your playlist a name":["Give your playlist a name"],"Recently added":["Recently added"],"Recently played":["Recently played"],"Season":["Season"],"Episode":["Episode"],"Play":["Play"],"Queue":["Queue"],"View on IMDb":["View on IMDb"],"Stream":["Stream"],"Download":["Download"],"complete":["complete"],"Synopsis":["Synopsis"],"Full cast":["Full cast"],"Websockets closed":["Websockets closed"],"Websockets host":["Websockets host"],"Websockets port":["Websockets port"],"Default player":["Default player"],"Ignore article":["Ignore article"],"Album artists only":["Album artists only"],"Poll interval":["Poll interval"],"Reverse proxy support":["Reverse proxy support"],"Language":["Language"],"Preferred language":["Preferred language"],"Ignore articles (terms such as \"The\" and \"A\") when sorting lists":["Ignore articles (terms such as \"The\" and \"A\") when sorting lists"],"sec":["sec"],"Your browser doesn't support websockets! Get with the times and update your browser.":["Your browser doesn't support websockets! Get with the times and update your browser."],"Failed to connect to websockets":["Failed to connect to websockets, so I am falling back to polling for updates. Which makes things slower and uses more resources. Please ensure you have 'Allow programs on other systems to control Kodi' ENABLED in the Kodi settings (System > Services > Remote control). You may also get this if you are using proxies or accessing via an IP addess when localhost will suffice. If websockets normally works, you might just need to refresh your browser."],"Video":["Video"],"Audio":["Audio"],"Cast":["Cast"],"Director":["Director","Directors"],"Writer":["Writer","Writers"],"Subtitle":["Subtitle","Subtitles"],"Result":["Result","Results"],"Loading things...":["Loading things..."],"Scan video library":["Scan video library"],"Scan audio library":["Scan audio library"],"About Chorus":["About Chorus"],"Recent":["Recent"],"Artists":["Artists"],"Albums":["Albums"],"Recent movies":["Recent movies"],"All movies":["All movies"],"Recent episodes":["Recent episodes"],"All TV shows":["All TV shows"],"Web settings":["Web settings"],"Kodi settings":["Kodi settings"],"Now Playing Playlists":["Now Playing Playlists"],"Switch between Kodi and local playback via the tabs. You can toggle visibility with the arrow in the top right":["Switch between Kodi and local playback via the tabs. You can toggle visibility with the arrow in the top right"],"Current playlist":["Current playlist"],"Clear playlist":["Clear playlist"],"Refresh playlist":["Refresh playlist"],"Party mode":["Party mode"],"Save Kodi playlist":["Save Kodi playlist"],"Preferred language, need to refresh browser to take effect":["Preferred language, need to refresh browser to take effect"],"Ignore articles (terms such as 'The' and 'A') when sorting lists":["Ignore articles (terms such as 'The' and 'A') when sorting lists"],"Vibrant headers":["Vibrant headers"],"Use colourful headers for media pages":["Use colourful headers for media pages"],"Enable support for reverse proxying.":["Enable support for reverse proxying."],"songs":["songs"],"artists":["artists"],"albums":["albums"],"movies":["movies"],"Searching for":["Searching for"],"and":["and"],"tvshows":["tvshows"],"no media in this folder":["no media in this folder"],"Browse files and add-ons":["Browse files and add-ons"],"This is where you can browse all Kodi content, not just what is in the library. Browse by source or add-on.":["This is where you can browse all Kodi content, not just what is in the library. Browse by source or add-on."],"Send text to Kodi":["Send text to Kodi"],"The lab":["The lab"],"Chorus lab":["Chorus lab"],"Warning":["Warning"],"Experimental code, use at own risk":["Experimental code, use at own risk"],"Kodi API browser":["Kodi API browser"],"This is a tool to test out the API. Select a method then execute it with parameters.":["This is a tool to test out the API. Select a method then execute it with parameters."],"You could potentially damage your system with this and there are no sanity checks. Use at own risk.":["You could potentially damage your system with this and there are no sanity checks. Use at own risk."],"Saved Kodi settings":["Saved Kodi settings"],"General":["General"],"Advanced setting level is recommended for those who know what they are doing.":["Advanced setting level is recommended for those who know what they are doing."],"Kodi settings level":["Kodi settings level"],"Remove":["Remove"],"cast":["cast"],"Add-ons":["Add-ons"],"Web interface":["Web interface"],"Readme":["Readme"],"Changelog":["Changelog"],"Translations":["Translations"],"Help topics":["Help topics"],"Overview":["Overview"],"Lab":["Lab"],"version":["version"],"Remote control":["Remote control"],"Remote control is set up correctly":["Remote control is set up correctly"],"About":["About"],"Local audio":["Local audio"],"Status report":["Status report"],"in":["in"],"Focus playlist on playing":["Focus playlist on playing"],"Automatically scroll the playlist to the current playing item. This happens whenever the playing item is changed":["Automatically scroll the playlist to the current playing item. This happens whenever the playing item is changed"],"Web Settings saved.":["Web Settings saved."],"Keyboard controls":["Keyboard controls"],"In Chorus, will you keyboard control Kodi, the browser or both":["In Chorus, will your keyboard control Kodi, the browser or both"],"Learn more":["Learn more"],"Resume playback":["Resume playback"],"Resume from":["Resume from"],"Start from the beginning":["Start from the beginning"],"Click here restore defaults":["Click here restore defaults"],"Main Menu Structure":["Main Menu Structure"],"Here you can change the title, url and icons for menu items. You can also remove, re-order and add new items.":["Here you can change the title, url and icons for menu items. You can also remove, re-order and add new items."],"Main Nav":["Main Nav"],"Add a new playlist":["Add a new playlist"],"Keyboard":["Keyboard"],"Music":["Music"],"Digital radio":["Digital radio"],"Movies":["Movies"],"TV shows":["TV shows"],"TV":["TV"],"Browser":["Browser"],"Thumbs up":["Thumbs up"],"Settings":["Settings"],"Help":["Help"],"Disable Thumbs Up":["Disable Thumbs Up"],"Remove the thumbs up button from media. Note: you may also want to remove the menu item from the ":["Remove the thumbs up button from media. Note: you may also want to remove the menu item from the "],"You need to 'Allow remote control' for Kodi. You can do that":["You need to 'Allow remote control' for Kodi. You can do that"],"here":["here"],"yes":["yes"],"no":["no"],"close":["close"],"ok":["ok"],"Are you sure?":["Are you sure?"],"Set all episodes for this season as":["Set all episodes for this season as"],"Set all episodes for this TV show as":["Set all episodes for this TV show as"],"watched":["watched"],"unwatched":["unwatched"],"genre":["genre"],"studio":["studio"],"rated":["rated"],"episodes":["episodes"],"total":["total"],"set":["set"],"Show device name":["Show device name"],"Show the Kodi device name in the header of Chorus":["Show the Kodi device name in the header of Chorus"]}}} \ No newline at end of file
+{"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=2; plural=(n != 1);","lang":"en"},"Nothing playing":["Nothing playing"],"Deselect all":["Deselect all"],"Filters":["Filters"],"Sort":["Sort"],"Select a filter":["Select a filter"],"Select an option":["Select an option"],"filter":["filter"],"Add filter":["Add filter"],"Which player to start with":["Which player to start with"],"Ignore terms such as 'The' and 'A' when sorting lists":["Ignore terms such as 'The' and 'A' when sorting lists"],"When listing artists should we only see artists with albums or all artists found. Warning: turning this off can impact performance with large libraries":["When listing artists should we only see artists with albums or all artists found. Warning: turning this off can impact performance with large libraries"],"is the default":["is the default"],"The hostname used for websockets connection. Set to 'auto' to use the current hostname.":["The hostname used for websockets connection. Set to 'auto' to use the current hostname."],"How often do I poll for updates from Kodi (Only applies when websockets inactive)":["How often do I poll for updates from Kodi (Only applies when websockets inactive)"],"Enable support for reverse proxy.":["Enable support for reverse proxy."],"Web settings saved.":["Web settings saved."],"Just a sec...":["Just a sec..."],"Unable to communicate with Kodi in a long time. I think it's dead Jim!":["Unable to communicate with Kodi in a long time. I think it's dead Jim!"],"Video library scan started":["Video library scan started"],"Video library scan complete":["Video library scan complete"],"Audio library scan started":["Audio library scan started"],"Audio library scan complete":["Audio library scan complete"],"Kodi has quit":["Kodi has quit"],"Sections":["Sections"],"Back":["Back"],"Loading folder...":["Loading folder..."],"Show more":["Show more"],"to Kodi":["to Kodi"],"Playlist refreshed":["Playlist refreshed"],"Kodi":["Kodi"],"Local":["Local"],"Playlists":["Playlists"],"Existing playlists":["Existing playlists"],"Empty playlist, you should probably add something to it?":["Empty playlist, you should probably add something to it?"],"Create a new list":["Create a new list"],"Add to playlist":["Add to playlist"],"Added to your playlist":["Added to your playlist"],"Give your playlist a name":["Give your playlist a name"],"Recently added":["Recently added"],"Recently played":["Recently played"],"Season":["Season"],"Episode":["Episode"],"Play":["Play"],"Queue":["Queue"],"View on IMDb":["View on IMDb"],"Stream":["Stream"],"Download":["Download"],"complete":["complete"],"Synopsis":["Synopsis"],"Full cast":["Full cast"],"Websockets closed":["Websockets closed"],"Websockets host":["Websockets host"],"Websockets port":["Websockets port"],"Default player":["Default player"],"Ignore article":["Ignore article"],"Album artists only":["Album artists only"],"Poll interval":["Poll interval"],"Reverse proxy support":["Reverse proxy support"],"Language":["Language"],"Preferred language":["Preferred language"],"Ignore articles (terms such as \"The\" and \"A\") when sorting lists":["Ignore articles (terms such as \"The\" and \"A\") when sorting lists"],"sec":["sec"],"Your browser doesn't support websockets! Get with the times and update your browser.":["Your browser doesn't support websockets! Get with the times and update your browser."],"Failed to connect to websockets":["Failed to connect to websockets, so I am falling back to polling for updates. Which makes things slower and uses more resources. Please ensure you have 'Allow programs on other systems to control Kodi' ENABLED in the Kodi settings (System > Services > Remote control). You may also get this if you are using proxies or accessing via an IP address when localhost will suffice. If websockets normally works, you might just need to refresh your browser."],"Video":["Video"],"Audio":["Audio"],"Cast":["Cast"],"Director":["Director","Directors"],"Writer":["Writer","Writers"],"Subtitle":["Subtitle","Subtitles"],"Result":["Result","Results"],"Loading things...":["Loading things..."],"Scan video library":["Scan video library"],"Scan audio library":["Scan audio library"],"About Chorus":["About Chorus"],"Recent":["Recent"],"Artists":["Artists"],"Albums":["Albums"],"Recent movies":["Recent movies"],"All movies":["All movies"],"Recent episodes":["Recent episodes"],"All TV shows":["All TV shows"],"Web settings":["Web settings"],"Kodi settings":["Kodi settings"],"Now Playing Playlists":["Now Playing Playlists"],"Switch between Kodi and local playback via the tabs. You can toggle visibility with the arrow in the top right":["Switch between Kodi and local playback via the tabs. You can toggle visibility with the arrow in the top right"],"Current playlist":["Current playlist"],"Clear playlist":["Clear playlist"],"Refresh playlist":["Refresh playlist"],"Party mode":["Party mode"],"Save Kodi playlist":["Save Kodi playlist"],"Preferred language, need to refresh browser to take effect":["Preferred language, need to refresh browser to take effect"],"Ignore articles (terms such as 'The' and 'A') when sorting lists":["Ignore articles (terms such as 'The' and 'A') when sorting lists"],"Vibrant headers":["Vibrant headers"],"Use colourful headers for media pages":["Use colourful headers for media pages"],"Enable support for reverse proxying.":["Enable support for reverse proxying."],"songs":["songs"],"artists":["artists"],"albums":["albums"],"movies":["movies"],"Searching for":["Searching for"],"and":["and"],"tvshows":["tvshows"],"no media in this folder":["no media in this folder"],"Browse files and add-ons":["Browse files and add-ons"],"This is where you can browse all Kodi content, not just what is in the library. Browse by source or add-on.":["This is where you can browse all Kodi content, not just what is in the library. Browse by source or add-on."],"Send text to Kodi":["Send text to Kodi"],"The lab":["The lab"],"Chorus lab":["Chorus lab"],"Warning":["Warning"],"Experimental code, use at own risk":["Experimental code, use at own risk"],"Kodi API browser":["Kodi API browser"],"This is a tool to test out the API. Select a method then execute it with parameters.":["This is a tool to test out the API. Select a method then execute it with parameters."],"You could potentially damage your system with this and there are no sanity checks. Use at own risk.":["You could potentially damage your system with this and there are no sanity checks. Use at own risk."],"Saved Kodi settings":["Saved Kodi settings"],"General":["General"],"Advanced setting level is recommended for those who know what they are doing.":["Advanced setting level is recommended for those who know what they are doing."],"Kodi settings level":["Kodi settings level"],"Remove":["Remove"],"cast":["cast"],"Add-ons":["Add-ons"],"Web interface":["Web interface"],"Readme":["Readme"],"Changelog":["Changelog"],"Translations":["Translations"],"Help topics":["Help topics"],"Overview":["Overview"],"Lab":["Lab"],"version":["version"],"Remote control":["Remote control"],"Remote control is set up correctly":["Remote control is set up correctly"],"About":["About"],"Local audio":["Local audio"],"Status report":["Status report"],"in":["in"],"Focus playlist on playing":["Focus playlist on playing"],"Automatically scroll the playlist to the current playing item. This happens whenever the playing item is changed":["Automatically scroll the playlist to the current playing item. This happens whenever the playing item is changed"],"Web Settings saved.":["Web Settings saved."],"Keyboard controls":["Keyboard controls"],"In Chorus, will you keyboard control Kodi, the browser or both":["In Chorus, will your keyboard control Kodi, the browser or both"],"Learn more":["Learn more"],"Resume playback":["Resume playback"],"Resume from":["Resume from"],"Start from the beginning":["Start from the beginning"],"Click here restore defaults":["Click here restore defaults"],"Main Menu Structure":["Main Menu Structure"],"Here you can change the title, url and %1$s for menu items. You can also remove, re-order and add new items.":["Here you can change the title, url and %1$s for menu items. You can also remove, re-order and add new items."],"Main Nav":["Main Nav"],"Add a new playlist":["Add a new playlist"],"Keyboard":["Keyboard"],"Music":["Music"],"Digital radio":["Digital radio"],"Movies":["Movies"],"TV shows":["TV shows"],"TV":["TV"],"Browser":["Browser"],"Thumbs up":["Thumbs up"],"Settings":["Settings"],"Help":["Help"],"Disable Thumbs Up":["Disable Thumbs Up"],"Remove the thumbs up button from media. Note: you may also want to remove the menu item from the %1$s":["Remove the thumbs up button from media. Note: you may also want to remove the menu item from the %1$s"],"You need to 'Allow remote control' for Kodi. You can do that":["You need to 'Allow remote control' for Kodi. You can do that"],"here":["here"],"yes":["yes"],"no":["no"],"close":["close"],"ok":["ok"],"Are you sure?":["Are you sure?"],"Set all episodes for this season as":["Set all episodes for this season as"],"Set all episodes for this TV show as":["Set all episodes for this TV show as"],"watched":["watched"],"unwatched":["unwatched"],"genre":["genre"],"studio":["studio"],"rated":["rated"],"episodes":["episodes"],"total":["total"],"set":["set"],"Show device name":["Show device name"],"Show the Kodi device name in the header of Chorus":["Show the Kodi device name in the header of Chorus"],"No results found":["No results found"],"Have you done a library scan?":["Have you done a library scan?"],"Play in browser":["Play in browser"],"Edit":["Edit"],"Add to Kodi":["Add to Kodi"],"Watched":["Watched"],"New playlist":["New playlist"],"Play in Kodi":["Play in Kodi"],"Export list":["Export list"],"Delete playlist":["Delete playlist"],"title":["title"],"year":["year"],"date added":["date added"],"rating":["rating"],"actor":["actor"],"mood":["mood"],"writer":["writer"],"director":["director"],"style":["style"],"items selected":["items selected"],"item selected":["item selected"],"Video library clean started":["Video library clean started"],"Video library clean finished":["Video library clean finished"],"Audio library clean started":["Audio library clean started"],"Audio library clean finished":["Audio library clean finished"],"This is a tool to test out the api. Select a method then execute it with parameters.":["This is a tool to test out the api. Select a method then execute it with parameters."],"Go to season":["Go to season"],"Queue in Kodi":["Queue in Kodi"],"Adding items to the queue":["Adding items to the queue"],"Live TV":["Live TV"],"Recently added albums":["Recently added albums"],"Random albums":["Random albums"],"Recently played albums":["Recently played albums"],"Random movies":["Random movies"],"Continue watching":["Continue watching"],"More from %1$s":["More from %1$s"],"More %1$s movies":["More %1$s movies"],"More movies staring %1$s":["More movies staring %1$s"],"Other movies released in %1$s":["Other movies released in %1$s"],"artist":["artist"],"random":["random"],"label":["label"],"formed":["formed"],"born":["born"],"died":["died"],"disbanded":["disbanded"],"years active":["years active"],"Click for more":["Click for more"],"Loading albums":["Loading albums"],"%1$d seconds ago, an input dialog opened in Kodi and it is still open! To prevent a mainframe implosion, you should probably give me some text. I don't really care what it is at this point, why not be creative? Do you have a %2$s? I won't tell...":["%1$d seconds ago, an input dialog opened in Kodi and it is still open! To prevent a mainframe implosion, you should probably give me some text. I don't really care what it is at this point, why not be creative? Do you have a %2$s? I won't tell..."],"all media":["all media"],"YouTube":["YouTube"],"SoundCloud":["SoundCloud"],"GoogleMusic":["GoogleMusic"],"Radio":["Radio"],"MixCloud":["MixCloud"],"First aired":["First aired"],"Updated %1$s details":["Updated %1$s details"],"Title":["Title"],"Plot":["Plot"],"Rating":["Rating"],"Original title":["Original title"],"Directors":["Directors"],"Writers":["Writers"],"File path":["File path"],"Artist":["Artist"],"Description":["Description"],"Label":["Label"],"Year":["Year"],"Genres":["Genres"],"Styles":["Styles"],"Themes":["Themes"],"Moods":["Moods"],"Album artist":["Album artist"],"Album":["Album"],"Track":["Track"],"Disc":["Disc"],"Tagline":["Tagline"],"Studio":["Studio"],"Content rating":["Content rating"],"Premiered":["Premiered"],"IMDb":["IMDb"],"Sort title":["Sort title"],"Country":["Country"],"Set":["Set"],"Tags":["Tags"],"Trailer":["Trailer"],"Formed":["Formed"],"Disbanded":["Disbanded"],"Years Active":["Years Active"],"Born":["Born"],"Died":["Died"],"Instruments":["Instruments"],"more":["more"],"in progress":["in progress"],"URL":["URL"],"Add an image via an external URL":["Add an image via an external URL"],"Searching for more images":["Searching for more images"],"Image Selector":["Image Selector"],"Image URL":["Image URL"],"External Search":["External Search"],"Local media":["Local media"],"Chorus Search":["Chorus Search"],"YouTube Search":["YouTube Search"],"Executed addon":["Executed addon"],"all":["all"],"video":["video"],"audio":["audio"],"image":["image"],"picture":["picture"],"executable":["executable"],"settings":["settings"],"Refresh":["Refresh"],"Confirm refresh":["Refreshing '%1$s' will remove it from the library then re-add it, so the ID may change. I'll attempt to reload this page with the new ID in a few seconds. Click 'YES' to confirm refresh"],"Refresh Ignore NFO":["Refresh Ignore NFO"],"Ignore local NFO files when manually refreshing media.":["Ignore local NFO files when manually refreshing media."],"Show only":["Show only"],"Show and episodes":["Show and episodes"],"Top music":["Top music"],"%1$s Artists":["%1$s Artists"],"%1$s Albums":["%1$s Albums"],"%1$s Songs":["%1$s Songs"],"default":["default"],"Actions":["Actions"],"play files":["play files"],"queue files":["queue files"],"Sent text":["Sent text"],"License":["License"],"Main Menu":["Main Menu"],"Search":["Search"],"Custom Add-on search":["Custom Add-on search"],"Add custom add-on searches":["Chorus search supports searching not only local media but add-on content too. For example, you can use the search to find videos in YouTube or audio in SoundCloud. This page allows you to add custom add-on searches that are not included out of the box. See the %1$s for more information."],"Add-ons help page":["Add-ons help page"],"No %1$s found":["No %1$s found"],"results":["results"],"EPG data":["EPG data"],"PVR":["PVR"],"Recordings":["Recordings"],"Channel recording toggled":["Channel recording toggled"],"TV Channels":["TV Channels"],"Radio Stations":["Radio Stations"],"Record":["Record"],"Toggle timer":["Toggle timer"],"Now":["Now"],"Rename playlist":["Rename playlist"]}}} \ No newline at end of file
diff --git a/addons/webinterface.default/lang/_strings/es.json b/addons/webinterface.default/lang/_strings/es.json
new file mode 100644
index 0000000000..28da2ed51f
--- /dev/null
+++ b/addons/webinterface.default/lang/_strings/es.json
@@ -0,0 +1 @@
+{"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=2; plural=(n != 1);","lang":"es"},"Nothing playing":["No hay nada reproduciendo"],"Deselect all":["Anular toda la seleccion"],"Filters":["Filtros"],"Sort":["Ordenar"],"Select a filter":["Elegir un filtro"],"Select an option":["Elegir una opción"],"filter":["filtro"],"Add filter":["Añadir filtro"],"Which player to start with":["Elegir reproductor"],"Ignore terms such as 'The' and 'A' when sorting lists":["Ignorar artículos como 'El' y 'La' al ordenar listas"],"When listing artists should we only see artists with albums or all artists found. Warning: turning this off can impact performance with large libraries":["Cuando se listen los intérpretes se deben mostrar sólo los que tengan algun álbum o todos. Atención: apagar esto puede impactar en el rendimiento en colecciones grandes"],"is the default":["es lo predeterminado"],"The hostname used for websockets connection. Set to 'auto' to use the current hostname.":["El nombre del equipo usado para conectar websockets. Ponerlo en 'auto' usará el nombre del equipo actual."],"How often do I poll for updates from Kodi (Only applies when websockets inactive)":["Cada cuánto tiempo se recogen actualizaciones de Kodi (sólo aplica si los websockets están desactivados)"],"Enable support for reverse proxy.":["Habilitar soporte para proxy inverso."],"Web settings saved.":["Ajustes web guardados."],"Just a sec...":["Un segundo..."],"Unable to communicate with Kodi in a long time. I think it's dead Jim!":["Imposible comunicar con Kodi desde hace tiempo. Creo que ha palmado."],"Video library scan started":["Escaneo de colección de vídeo empezado"],"Video library scan complete":["Escaneo de colección de vídeo completado"],"Audio library scan started":["Escaneo de colección de audio empezado"],"Audio library scan complete":["Escaneo de colección de audio completado"],"Kodi has quit":["Kodi se ha apagado"],"Sections":["Secciones"],"Back":["Atrás"],"Loading folder...":["Cargando carpeta..."],"Show more":["Mostrar mas"],"to Kodi":["a Kodi"],"Playlist refreshed":["Lista refrescada"],"Kodi":["Kodi"],"Local":["Local"],"Playlists":["Listas de reproducción"],"Existing playlists":["Listas existentes"],"Empty playlist, you should probably add something to it?":["Lista vacía. Debería añadirse algo primero."],"Create a new list":["Crear una nueva lista"],"Add to playlist":["Añadir a la lista"],"Added to your playlist":["Añadido a la lista"],"Give your playlist a name":["Nombre de la lista de reproducción"],"Recently added":["Añadido recientemente"],"Recently played":["Reproducido recientemente"],"Season":["Temporada"],"Episode":["Episodio"],"Play":["Reproducir"],"Queue":["Encolar"],"View on IMDb":["Ver en IMDb"],"Stream":["Stream"],"Download":["Descargar"],"complete":["completado"],"Synopsis":["Sinopsis"],"Full cast":["Reparto completo"],"Websockets closed":["Websockets cerrados"],"Websockets host":["Equipo Websockets"],"Websockets port":["Puerto Websockets"],"Default player":["Reproductor por defecto"],"Ignore article":["Ignorar artículos"],"Album artists only":["Sólo Intérpretes con Álbum"],"Poll interval":["Intervalo de refresco"],"Reverse proxy support":["Soporte proxy inverso"],"Language":["Idioma"],"Preferred language":["Idioma preferido"],"Ignore articles (terms such as \"The\" and \"A\") when sorting lists":["Ignorar artículos (como \"El\" y \"La\") al ordenar listas"],"sec":["s"],"Your browser doesn't support websockets! Get with the times and update your browser.":["¡El navegador no soporta websockets! Se debe usar un navegador contemporáneo. Hay que actualizar."],"Failed to connect to websockets":["Fallo al conectar a los websockets, asi que se vuelve a preguntar por actualizaciones. Esto hace todo mas lento y mas pesado. Se debe verificar que esté ACTIVA 'Permitir control remoto desde aplicaciones en otros equipos' en los ajustes de Kodi (Ajustes > Servicio > Control). También podría ser que se usen proxies o accediendo desde alguna IP no permitida. Si los websockets normalmente funciona, simplemente refresque la página."],"Video":["Vídeo"],"Audio":["Audio"],"Cast":["Reparto"],"Director":["Director","Directores"],"Writer":["Guionista","Guionistas"],"Subtitle":["Subtítulo","Subtítulos"],"Result":["Resultado","Resultados"],"Loading things...":["Cargando cosas..."],"Scan video library":["Escanear colección de vídeo"],"Scan audio library":["Escanear colección de audio"],"About Chorus":["Sobre Chorus"],"Recent":["Reciente"],"Artists":["Intérpretes"],"Albums":["Álbumes"],"Recent movies":["Películas recientes"],"All movies":["Todas las películas"],"Recent episodes":["Episodios recientes"],"All TV shows":["Todos los programas de TV"],"Web settings":["Ajustes de la web"],"Kodi settings":["Ajustes de Kodi"],"Now Playing Playlists":["Listas de Reproduciendo Ahora"],"Switch between Kodi and local playback via the tabs. You can toggle visibility with the arrow in the top right":["Cambia entre reproducir en Kodi o localmente con las pestañas. Abre o cierra la pestaña con la flecha de arriba a la derecha."],"Current playlist":["Lista actual"],"Clear playlist":["Vaciar lista"],"Refresh playlist":["Refrescar lista"],"Party mode":["Modo fiesta"],"Save Kodi playlist":["Guardar la lista de Kodi"],"Preferred language, need to refresh browser to take effect":["Idioma preferido. Se necesita recargar la página para que tenga efecto"],"Ignore articles (terms such as 'The' and 'A') when sorting lists":["Ignorar artículos (como 'El' o 'La') al ordenar listas"],"Vibrant headers":["Cabeceras vibrantes"],"Use colourful headers for media pages":["Colorea las cabeceras de las páginas de medios"],"Enable support for reverse proxying.":["Activa el soporte para proxy inverso."],"songs":["canciones"],"artists":["intérpretes"],"albums":["álbumes"],"movies":["películas"],"Searching for":["Buscando"],"and":["y"],"tvshows":["programas"],"no media in this folder":["no hay medios en esta carpeta"],"Browse files and add-ons":["Navegar por ficheros y add-ons"],"This is where you can browse all Kodi content, not just what is in the library. Browse by source or add-on.":["Desde aquí se puede navegar por el contenido de Kodi, no sólo por las colecciones. Navega por origen o add-on."],"Send text to Kodi":["Enviar texto a Kodi"],"The lab":["El laboratorio"],"Chorus lab":["Laboratorio Chorus"],"Warning":["Atención"],"Experimental code, use at own risk":["Código Experimental. Úselo bajo su propio riesgo"],"Kodi API browser":["Navegador API de Kodi"],"This is a tool to test out the API. Select a method then execute it with parameters.":["Es una herramienta para probar la API. Elija un método y ejecútelo bajo ciertos parámetros."],"You could potentially damage your system with this and there are no sanity checks. Use at own risk.":["Puede dañar el sistema con esto y no hay verificaciones de seguridad. Úselo bajo su propio riesgo."],"Saved Kodi settings":["Ajustes de Kodi guardados"],"General":["General"],"Advanced setting level is recommended for those who know what they are doing.":["Los ajustes avanzados sólo se recomiendan a aquellos que saben lo que hacen."],"Kodi settings level":["Nivel de ajustes de Kodi"],"Remove":["Quitar"],"cast":["reparto"],"Add-ons":["Add-ons"],"Web interface":["Interfaz web"],"Readme":["Léame"],"Changelog":["Registro de cambios"],"Translations":["Traducciones"],"Help topics":["Temas de ayuda"],"Overview":["Vistazo"],"Lab":["Lab"],"version":["versión"],"Remote control":["Control remoto"],"Remote control is set up correctly":["El control remoto se ha configurado correctamente"],"About":["Sobre"],"Local audio":["Audio Local"],"Status report":["Informe de estado"],"in":["en"],"Focus playlist on playing":["Mantener el foco en la lista mientras se reproduce"],"Automatically scroll the playlist to the current playing item. This happens whenever the playing item is changed":["Señala automáticamente en la lista lo que se reproduce. Esto lo hace siempre que el elemento que se reproduzca cambie"],"Web Settings saved.":["Ajustes de la web guardados."],"Keyboard controls":["Controles de teclado"],"In Chorus, will you keyboard control Kodi, the browser or both":["En Chorus, qué va a controlar el teclado: Kodi, el navegador o ambos"],"Learn more":["Ver mas"],"Resume playback":["Continuar reproducción"],"Resume from":["Continuar desde"],"Start from the beginning":["Empezar desde el inicio"],"Click here restore defaults":["Pulse aquí para restaurar los valores predeterminados"],"Main Menu Structure":["Estructura del Menú Principal"],"Here you can change the title, url and %1$s for menu items. You can also remove, re-order and add new items.":["Aquí puede cambiar el título, url y %1$s de los elementos del menú. También se puede quitar, añadir o reordenar."],"Main Nav":["Menú Principal"],"Add a new playlist":["Añadir una nueva lista"],"Keyboard":["Teclado"],"Music":["Música"],"Digital radio":["Radio Digital"],"Movies":["Películas"],"TV shows":["Series de TV"],"TV":["TV"],"Browser":["Navegador"],"Thumbs up":["Me gusta"],"Settings":["Ajustes"],"Help":["Ayuda"],"Disable Thumbs Up":["Desactivar Me gusta"],"Remove the thumbs up button from media. Note: you may also want to remove the menu item from the ":["Elimina el boton de Me gusta de los medios. Nota: Puede que tambien quiera eliminar el elemento Me gusta de "],"You need to 'Allow remote control' for Kodi. You can do that":["Necesita 'Permitir control remoto' para Kodi. Puede hacerlo"],"here":["aquí"],"yes":["sí"],"no":["no"],"close":["cerrar"],"ok":["ok"],"Are you sure?":["¿Seguro?"],"Set all episodes for this season as":["Marcar todos los episodios de la temporada como"],"Set all episodes for this TV show as":["Poner todos los episodios de la serie como"],"watched":["visto"],"unwatched":["no visto"],"genre":["género"],"studio":["estudio"],"rated":["valoración"],"episodes":["episodios"],"total":["total"],"set":["poner"],"Show device name":["Mostrar nombre"],"Show the Kodi device name in the header of Chorus":["Muestra el nombre del equipo Kodi en la cabecera de Chorus"],"No results found":["No hay resultados"],"Have you done a library scan?":["¿Ha escaneado la colección?"],"Play in browser":["Reproducir en navegador"],"Edit":["Editar"],"Add to Kodi":["Añadir a Kodi"],"Watched":["Visto"],"New playlist":["Nueva lista"],"Play in Kodi":["Reproducir en Kodi"],"Export list":["Exportar lista"],"Delete playlist":["Borrar lista"],"title":["título"],"year":["año"],"date added":["fecha añadido"],"rating":["valoración"],"actor":["actor"],"mood":["talante"],"writer":["guiónista"],"director":["director"],"style":["estilo"],"items selected":["elementos seleccionados"],"item selected":["elemento seleccionado"],"Video library clean started":["Limpieza de la colección de vídeo empezada"],"Video library clean finished":["Limpieza de la colección de vídeo terminada"],"Audio library clean started":["Limpieza de la colección de audio empezada"],"Audio library clean finished":["Limpieza de la colección de audio terminada"],"This is a tool to test out the api. Select a method then execute it with parameters.":["Esta es una herramienta para probar la API. Elija un método y ejecútelo con parámetros."],"Go to season":["Ir a la temporada"],"Queue in Kodi":["Encolar en Kodi"],"Adding items to the queue":["Añadiendo elementos a la cola"],"Live TV":["TV en directo"],"Recently added albums":["Álbumes añadidos recientemente"],"Random albums":["Álbumes aleatorios"],"Recently played albums":["Álbumes reproducidos recientemente"],"Random movies":["Películas aleatorias"],"Continue watching":["Continuar viendo"],"More from %1$s":["Mas de %1$s"],"More %1$s movies":["Mas películas %1$s"],"More movies staring %1$s":["Mas películas de %1$s"],"Other movies released in %1$s":["Otras películas del año %1$s"],"artist":["intérprete"],"random":["aleatorio"],"label":["sello"],"formed":["formado"],"born":["nacido"],"died":["muerto"],"disbanded":["disuelto"],"years active":["años en activo"],"Click for more":["Click para mas"],"Loading albums":["Cargando álbumes"],"%1$d seconds ago, an input dialog opened in Kodi and it is still open! To prevent a mainframe implosion, you should probably give me some text. I don't really care what it is at this point, why not be creative? Do you have a %2$s? I won't tell...":["Hace %1$d segundos se abrió un cuadro de diálogo en Kodi y todavía está abierto. Para evitar una implosión del servicio principal, supongo que debería decirme algo. A estas alturas, no me importa mucho qué ha pasado, asi que sea original. ¿Tiene un %2$s? No lo contaré..."],"all media":["todo el contenido"],"YouTube":["YouTube"],"SoundCloud":["SoundCloud"],"GoogleMusic":["GoogleMusic"],"Radio":["Radio"],"MixCloud":["MixCloud"],"First aired":["Emitido por primera vez"],"Updated %1$s details":["Actualizando %1$s detalles"],"Title":["Título"],"Plot":["Argumento"],"Rating":["Valoración"],"Original title":["Título original"],"Directors":["Directores"],"Writers":["Guionistas"],"File path":["Ruta del archivo"],"Artist":["Intérprete"],"Description":["Descripción"],"Label":["Sello"],"Year":["Año"],"Genres":["Géneros"],"Styles":["Estilos"],"Themes":["Temas"],"Moods":["Talantes"],"Album artist":["Intérpretes del álbum"],"Album":["Álbum"],"Track":["Pista"],"Disc":["Disco"],"Tagline":["Etiqueta"],"Studio":["Estudio"],"Content rating":["Calificación de contenido"],"Premiered":["Estreno"],"IMDb":["IMDb"],"Sort title":["Ordenar título"],"Country":["País"],"Set":["Ajuste"],"Tags":["Etiquetas"],"Trailer":["Trailer"],"Formed":["Formado"],"Disbanded":["Disuelto"],"Years Active":["Años en activo"],"Born":["Nacido"],"Died":["Muerto"],"Instruments":["Instrumentos"],"more":["mas"],"in progress":["en progreso"],"URL":["URL"],"Add an image via an external URL":["Añadir una imagen via URL"],"Searching for more images":["Buscar mas imágenes"],"Image Selector":["Selector de imagen"],"Image URL":["URL de imagen"],"External Search":["Búsqueda Externa"],"Local media":["Medio local"],"Chorus Search":["Búsqueda Chorus"],"YouTube Search":["Búsqueda YouTube"],"Executed addon":["Addon ejecutado"],"all":["todo"],"video":["vídeo"],"audio":["audio"],"image":["imagen"],"picture":["foto"],"executable":["ejecutable"],"settings":["ajustes"]}}} \ No newline at end of file
diff --git a/addons/webinterface.default/lang/_strings/pl.json b/addons/webinterface.default/lang/_strings/pl.json
index 809357fbd6..f6d40ca5b2 100644
--- a/addons/webinterface.default/lang/_strings/pl.json
+++ b/addons/webinterface.default/lang/_strings/pl.json
@@ -1 +1 @@
-{"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);","lang":"pl_PL"},"Nothing playing":["Odtwarzanie nieaktywne"],"Deselect all":["Odznacz wszystkie"],"Filters":["Filtry"],"Sort":["Sortowanie"],"Select a filter":["Wybierz filtr"],"Select an option":["Wybierz opcję"],"filter":["filtr"],"Add filter":["Dodaj filtr"],"Which player to start with":["Określa domyślnie używany odtwarzacz mediów"],"Ignore terms such as 'The' and 'A' when sorting lists":["Ignoruj wyrażenia takie, jak 'The' i 'A' podczas sortowania list"],"When listing artists should we only see artists with albums or all artists found. Warning: turning this off can impact performance with large libraries":["W trakcie przeglądania listy wykonawców, widoczni będą tylko wykonawcy z własnymi albumami lub wszyscy odnalezieni wykonawcy. Ostrzeżenie: dezaktywowanie tej funkcji może mieć negatywny wpływ na wydajność w przypadku dużych bibliotek."],"is the default":["jest domyślny"],"The hostname used for websockets connection. Set to 'auto' to use the current hostname.":["Nazwa serwera używanego do połączenia WebSocket. Ustaw na 'auto', aby używać nazwy lokalnego komputera."],"How often do I poll for updates from Kodi (Only applies when websockets inactive)":["Określa częstotliwość aktualizacji zawartości z Kodi (używane tylko w przypadku nieaktywnego połączenia WebSocket)"],"Enable support for reverse proxy.":["Umożliwia aktywację obsługi reverse proxy."],"Web settings saved.":["Ustawienia interfejsu webowego zostały zapisane."],"Just a sec...":["Proszę czekać..."],"Unable to communicate with Kodi in a long time. I think it's dead Jim!":["Komunikacja z Kodi była niemożliwa przez dłuższy czas. Prawdopodobnie program się zawiesił!"],"Video library scan started":["Rozpoczęto skanowanie biblioteki wideo"],"Video library scan complete":["Zakończono skanowanie biblioteki wideo"],"Audio library scan started":["Rozpoczęto skanowanie biblioteki muzyki"],"Audio library scan complete":["Zakończono skanowanie biblioteki muzyki"],"Kodi has quit":["Proces Kodi został zamknięty"],"Sections":["Sekcje"],"Back":["Powrót"],"Loading folder...":["Wczytywanie folderu..."],"Show more":["Pokaż więcej"],"to Kodi":["do Kodi"],"Playlist refreshed":["Lista odtwarzania została odświeżona"],"Kodi":["Kodi"],"Local":["Przeglądarka"],"Playlists":["Listy odtwarzania"],"Existing playlists":["Opuszczanie list odtwarzania"],"Empty playlist, you should probably add something to it?":["Lista odtwarzania jest pusta, powinieneś coś do niej dodać."],"Create a new list":["Utwórz nową listę"],"Add to playlist":["Dodaj do listy"],"Added to your playlist":["Dodano do listy odtwarzania"],"Give your playlist a name":["Nadaj nazwę swojej liście"],"Recently added":["Ostatnio dodane"],"Recently played":["Ostatnio odtwarzane"],"Season":["Sezon"],"Episode":["Odcinek"],"Play":["Odtwarzaj"],"Queue":["Dodaj do kolejki"],"View on IMDb":["Zobacz na IMDb"],"Stream":["Transmituj"],"Download":["Pobierz"],"complete":["zakończone"],"Synopsis":["Streszczenie"],"Full cast":["Pełna obsada"],"Websockets closed":["Połączenie WebSocket zostało zamknięte"],"Websockets host":["Serwer WebSocket"],"Websockets port":["Port WebSocket"],"Default player":["Odtwarzacz domyślny"],"Ignore article":["Ignoruj przedimki"],"Album artists only":["Tylko wykonawcy z własnymi albumami"],"Poll interval":["Częstotliwość odświeżania zawartości"],"Reverse proxy support":["Obsługa reverse proxy"],"Language":["Język"],"Preferred language":["Język preferowany"],"Ignore articles (terms such as \"The\" and \"A\") when sorting lists":["Ignoruj przedimki (wyrażenia takie, jak \"The\" i \"A\") podczas sortowania list"],"sec":["sek."],"Your browser doesn't support websockets! Get with the times and update your browser.":["Twoja przeglądarka nie obsługuje połączeń WebSocket! Idź z duchem czasu i zaktualizuj swoją przeglądarkę."],"Failed to connect to websockets":["Nieudane połączenie WebSocket"],"Video":["Wideo"],"Audio":["Dźwięk"],"Cast":["Obsada"],"Director":["Reżyseria","Reżyseria","Reżyseria"],"Writer":["Scenariusz","Scenariusz","Scenariusz"],"Subtitle":["Napisy","Napisy","Napisy"],"Result":["Wynik","Wyniki","Wyniki"],"Loading things...":["Wczytywanie zawartości..."],"Scan video library":["Skanowanie biblioteki wideo"],"Scan audio library":["Skanowanie biblioteki muzyki"],"About Chorus":["O Chorusie"],"Recent":["Ostatnio"],"Artists":["Wykonawcy"],"Albums":["Albumy"],"Recent movies":["Najnowsze filmy"],"All movies":["Wszystkie filmy"],"Recent episodes":["Najnowsze odcinki"],"All TV shows":["Wszystkie seriale"],"Web settings":["Ustawienia webowe"],"Kodi settings":["Ustawienia Kodi"],"Now Playing Playlists":["Aktualnie odtwarzane listy"],"Switch between Kodi and local playback via the tabs. You can toggle visibility with the arrow in the top right":["Umożliwia wybór odtwarzacza mediów, pomiędzy Kodi a przeglądarką, przy pomocy zakładek. Możesz zmienić widoczność zakładek przy pomocy strzałki w prawym górnym rogu."],"Current playlist":["Aktualna lista odtwarzania"],"Clear playlist":["Wyczyść listę"],"Refresh playlist":["Odśwież listę"],"Party mode":["Tryb Imprezy"],"Save Kodi playlist":["Zapisz listę odtwarzania"],"Preferred language, need to refresh browser to take effect":["Zmiana języka preferowanego wymaga odświeżenia zawartości przeglądarki"],"Ignore articles (terms such as 'The' and 'A') when sorting lists":["Ignoruj przedminki (wyrażenia takie, jak: 'The' i 'A') podczas sortowania list"],"Vibrant headers":["Dynamiczne nagłówki"],"Use colourful headers for media pages":["Umożliwia używanie osobnego koloru nagłówka dla każdego typu mediów"],"Enable support for reverse proxying.":["Umożliwia aktywację obsługi reverse proxy."],"songs":["utwory"],"artists":["wykonawcy"],"albums":["albumy"],"movies":["filmy"],"Searching for":["Wyszukiwanie"],"and":["i"],"tvshows":["seriale"],"no media in this folder":["Pusty folder"],"Browse files and add-ons":["Przeglądaj pliki i dodatki"],"This is where you can browse all Kodi content, not just what is in the library. Browse by source or add-on.":["Miejsce, w którym możesz przeglądać całą zawartość Kodi, nie tylko to co znajduje się w bibliotece. Przeglądanie w podziale na źródła i dodatki."],"Send text to Kodi":["Wyślij tekst do Kodi"],"The lab":["Laboratorium"],"Chorus lab":["Laboratorium Chorusa"],"Warning":["Ostrzeżenie"],"Experimental code, use at own risk":["Funkcje eksperymentalne, używasz ich na własną odpowiedzialność."],"Kodi API browser":["Przeglądarka API Kodi"],"This is a tool to test out the API. Select a method then execute it with parameters.":["Narzędzie do testowania interfejsu programistycznego Kodi. Wybierz metodę, a następnie wykonaj ją z zadanymi parametrami"],"You could potentially damage your system with this and there are no sanity checks. Use at own risk.":["Istnieje potencjalna szansa na uszkodzenie Twojego systemu, ponieważ nie ma żadnej kontroli poprawności. Używasz na własną odpowiedzialność."],"Saved Kodi settings":["Zapisano zmiany ustawień Kodi"],"General":["Ogólne"],"Advanced setting level is recommended for those who know what they are doing.":["Poziom Zaawansowany jest rekomendowany tylko dla tych, którzy wiedzą co robią."],"Kodi settings level":["Poziom ustawień Kodi"],"Remove":["Usuń"],"cast":["obsada"],"Add-ons":["Dodatki"],"Web interface":["Interfejs webowy"],"Readme":["Dokumentacja"],"Changelog":["Lista zmian"],"Translations":["Tłumaczenie"],"Help topics":["Tematy pomocy"],"Overview":["Przegląd"],"Lab":["Laboratorium"],"version":["wersja"],"Remote control":["Sterowanie"],"Remote control is set up correctly":["Zdalne sterowanie zostało poprawnie skonfigurowane"],"About":["O Chorusie"],"Local audio":["Dźwięk"],"Status report":["Raport o stanie"],"in":["w"],"Focus playlist on playing":["Zaznaczaj odtwarzaną pozycję"],"Automatically scroll the playlist to the current playing item. This happens whenever the playing item is changed":["Umożliwia automatyczne przewijanie listy do aktualnie odtwarzanej pozycji. Ta operacja jest wykonywana za każdym razem, gdy zmienia się odtwarzana pozycja."],"Web Settings saved.":["Zapisano ustawienia interfejsu webowego."],"Keyboard controls":["Sterowanie klawiaturą"],"In Chorus, will you keyboard control Kodi, the browser or both":["Umożliwia sterowanie przy pomocy klawiatury działaniem Kodi, przeglądarki lub oboma jednocześnie"],"Learn more":["Dowiedz się więcej"],"Resume playback":["Wznów odtwarzanie"],"Resume from":["Wznów od"],"Start from the beginning":["Zacznij od początku"],"Click here restore defaults":["Naciśnij, aby przywrócić domyślne ustawienia"],"Main Menu Structure":["Struktura menu"],"Here you can change the title, url and icons for menu items. You can also remove, re-order and add new items.":["W tym miejscu możesz zmienić tytuł, adres URL i ikonę pozycji menu. Dodatkowo możesz usunąć, zmienić kolejność oraz dodać nową pozycję."],"Main Nav":["Nawigacja"],"Add a new playlist":["Dodaj nową listę"],"Keyboard":["Klawiatura"],"Music":["Muzyka"],"Digital radio":["Radio"],"Movies":["Filmy"],"TV shows":["Seriale"],"TV":["Telewizja"],"Browser":["Przeglądarka"],"Thumbs up":["Lubię to!"],"Settings":["Ustawienia"],"Help":["Pomoc"],"Disable Thumbs Up":["Dezaktywuj funkcję 'Lubię to!'"],"Remove the thumbs up button from media. Note: you may also want to remove the menu item from the ":["Umożliwia usunięcie przycisku 'Lubię to' z panelu informacji o mediach. Uwaga: Możesz także usunąć pozycję menu z "],"You need to 'Allow remote control' for Kodi. You can do that":["Wymagana aktywacja opcji 'Zezwalaj na zdalne sterowanie Kodi przez HTTP'. Możesz to zrobić"],"here":["tutaj"],"yes":["tak"],"no":["nie"],"close":["zamknij"],"ok":["ok"],"Are you sure?":["Jesteś pewien?"],"Set all episodes as":["Ustaw wszystkie odcinki jako"],"watched":["obejrzane"],"unwatched":["nieobejrzane"]}}} \ No newline at end of file
+{"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);","lang":"pl_PL"},"Nothing playing":["Odtwarzanie nieaktywne"],"Deselect all":["Odznacz wszystkie"],"Filters":["Filtry"],"Sort":["Sortowanie"],"Select a filter":["Wybierz filtr"],"Select an option":["Wybierz opcję"],"filter":["filtr"],"Add filter":["Dodaj filtr"],"Which player to start with":["Określa domyślnie używany odtwarzacz mediów"],"Ignore terms such as 'The' and 'A' when sorting lists":["Ignoruj wyrażenia takie, jak 'The' i 'A' podczas sortowania list"],"When listing artists should we only see artists with albums or all artists found. Warning: turning this off can impact performance with large libraries":["W trakcie przeglądania listy wykonawców, widoczni będą tylko wykonawcy z własnymi albumami lub wszyscy odnalezieni wykonawcy. Ostrzeżenie: dezaktywowanie tej funkcji może mieć negatywny wpływ na wydajność w przypadku dużych bibliotek."],"is the default":["jest domyślny"],"The hostname used for websockets connection. Set to 'auto' to use the current hostname.":["Nazwa serwera używanego do połączenia WebSocket. Ustaw na 'auto', aby używać nazwy lokalnego komputera."],"How often do I poll for updates from Kodi (Only applies when websockets inactive)":["Określa częstotliwość aktualizacji zawartości z Kodi (używane tylko w przypadku nieaktywnego połączenia WebSocket)"],"Enable support for reverse proxy.":["Umożliwia aktywację obsługi reverse proxy."],"Web settings saved.":["Zapisano ustawienia interfejsu webowego."],"Just a sec...":["Proszę czekać..."],"Unable to communicate with Kodi in a long time. I think it's dead Jim!":["Komunikacja z Kodi była niemożliwa przez dłuższy czas. Prawdopodobnie program się zawiesił!"],"Video library scan started":["Rozpoczęto skanowanie biblioteki wideo"],"Video library scan complete":["Zakończono skanowanie biblioteki wideo"],"Audio library scan started":["Rozpoczęto skanowanie biblioteki muzyki"],"Audio library scan complete":["Zakończono skanowanie biblioteki muzyki"],"Kodi has quit":["Proces Kodi został zamknięty"],"Sections":["Sekcje"],"Back":["Powrót"],"Loading folder...":["Wczytywanie folderu..."],"Show more":["Pokaż więcej"],"to Kodi":["do Kodi"],"Playlist refreshed":["Lista odtwarzania została odświeżona"],"Kodi":["Kodi"],"Local":["Przeglądarka"],"Playlists":["Listy odtwarzania"],"Existing playlists":["Istniejące listy odtwarzania"],"Empty playlist, you should probably add something to it?":["Lista odtwarzania jest pusta, powinieneś coś do niej dodać."],"Create a new list":["Utwórz nową listę"],"Add to playlist":["Dodaj do listy"],"Added to your playlist":["Dodano do listy odtwarzania"],"Give your playlist a name":["Nadaj nazwę swojej liście"],"Recently added":["Ostatnio dodane"],"Recently played":["Ostatnio odtwarzane"],"Season":["Sezon"],"Episode":["Odcinek"],"Play":["Odtwarzaj"],"Queue":["Dodaj do kolejki"],"View on IMDb":["Zobacz na IMDb"],"Stream":["Transmituj"],"Download":["Pobierz"],"complete":["zakończone"],"Synopsis":["Streszczenie"],"Full cast":["Pełna obsada"],"Websockets closed":["Połączenie WebSocket zostało zamknięte"],"Websockets host":["Serwer WebSocket"],"Websockets port":["Port WebSocket"],"Default player":["Odtwarzacz domyślny"],"Ignore article":["Ignoruj przedimki"],"Album artists only":["Tylko wykonawcy albumów"],"Poll interval":["Częstotliwość odświeżania zawartości"],"Reverse proxy support":["Obsługa reverse proxy"],"Language":["Język"],"Preferred language":["Język preferowany"],"Ignore articles (terms such as \"The\" and \"A\") when sorting lists":["Ignoruj przedimki (wyrażenia takie, jak \"The\" i \"A\") podczas sortowania list"],"sec":["sek."],"Your browser doesn't support websockets! Get with the times and update your browser.":["Twoja przeglądarka nie obsługuje połączeń WebSocket! Idź z duchem czasu i zaktualizuj swoją przeglądarkę."],"Failed to connect to websockets":["Nieudane połączenie WebSocket, awaryjna aktywacja połączenia bezstanowego z cykliczną aktualizacją zawartości. Połączenie tego typu jest wolniejsze i używa więcej zasobów. Upewnij się, że aktywowałeś opcję 'Zezwalaj zdalnym programom na sterowanie aplikacją' w ustawieniach Kodi (System -> Usługi -> Sterowanie). Innym powodem tego problemu może być korzystanie z serwera proxy lub dostęp za pośrednictwem adresu IP, gdy możliwy jest dostęp przy pomocy nazwy localhost. W przypadku poprawnego działania połączenia WebSocket, wystarczy odświeżyć zawartość przeglądarki."],"Video":["Wideo"],"Audio":["Dźwięk"],"Cast":["Obsada"],"Director":["Reżyser","Reżyserzy","Reżyserzy"],"Writer":["Scenarzysta","Scenarzyści","Scenarzyści"],"Subtitle":["Napisy","Napisy","Napisy"],"Result":["Wynik","Wyniki","Wyników"],"Loading things...":["Wczytywanie zawartości..."],"Scan video library":["Skanowanie biblioteki wideo"],"Scan audio library":["Skanowanie biblioteki muzyki"],"About Chorus":["O Chorusie"],"Recent":["Ostatnio"],"Artists":["Wykonawcy"],"Albums":["Albumy"],"Recent movies":["Najnowsze filmy"],"All movies":["Wszystkie filmy"],"Recent episodes":["Najnowsze odcinki"],"All TV shows":["Wszystkie seriale"],"Web settings":["Ustawienia webowe"],"Kodi settings":["Ustawienia Kodi"],"Now Playing Playlists":["Listy Teraz odtwarzane"],"Switch between Kodi and local playback via the tabs. You can toggle visibility with the arrow in the top right":["Umożliwia wybór odtwarzacza mediów, pomiędzy Kodi a przeglądarką, przy pomocy zakładek. Możesz zmienić widoczność zakładek przy pomocy strzałki w prawym górnym rogu."],"Current playlist":["Aktualna lista odtwarzania"],"Clear playlist":["Wyczyść listę"],"Refresh playlist":["Odśwież listę"],"Party mode":["Tryb Imprezy"],"Save Kodi playlist":["Zapisz listę odtwarzania Kodi"],"Preferred language, need to refresh browser to take effect":["Zmiana języka preferowanego wymaga odświeżenia zawartości przeglądarki"],"Ignore articles (terms such as 'The' and 'A') when sorting lists":["Ignoruj przedminki (wyrażenia takie, jak: 'The' i 'A') podczas sortowania list"],"Vibrant headers":["Dynamiczne nagłówki"],"Use colourful headers for media pages":["Umożliwia używanie osobnego koloru nagłówka dla każdego typu mediów"],"Enable support for reverse proxying.":["Umożliwia aktywację obsługi reverse proxy."],"songs":["utwory"],"artists":["wykonawcy"],"albums":["albumy"],"movies":["filmy"],"Searching for":["Wyszukiwanie"],"and":["i"],"tvshows":["seriale"],"no media in this folder":["Brak mediów w folderze"],"Browse files and add-ons":["Przeglądaj pliki i dodatki"],"This is where you can browse all Kodi content, not just what is in the library. Browse by source or add-on.":["Miejsce, w którym możesz przeglądać całą zawartość Kodi, nie tylko to co znajduje się w bibliotece. Przeglądanie w podziale na źródła i dodatki."],"Send text to Kodi":["Wyślij tekst do Kodi"],"The lab":["Laboratorium"],"Chorus lab":["Laboratorium Chorusa"],"Warning":["Ostrzeżenie"],"Experimental code, use at own risk":["Funkcje eksperymentalne, używasz ich na własną odpowiedzialność."],"Kodi API browser":["Przeglądarka API Kodi"],"This is a tool to test out the API. Select a method then execute it with parameters.":["Narzędzie do testowania interfejsu programistycznego Kodi. Wybierz metodę, a następnie wykonaj ją z zadanymi parametrami"],"You could potentially damage your system with this and there are no sanity checks. Use at own risk.":["Istnieje potencjalna szansa na uszkodzenie Twojego systemu, ponieważ nie ma żadnej kontroli poprawności. Używasz na własną odpowiedzialność."],"Saved Kodi settings":["Zapisano zmiany ustawień Kodi"],"General":["Ogólne"],"Advanced setting level is recommended for those who know what they are doing.":["Poziom Zaawansowany jest rekomendowany tylko dla tych, którzy wiedzą co robią."],"Kodi settings level":["Poziom ustawień Kodi"],"Remove":["Usuń"],"cast":["obsada"],"Add-ons":["Dodatki"],"Web interface":["Interfejs webowy"],"Readme":["Dokumentacja"],"Changelog":["Dziennik zmian"],"Translations":["Tłumaczenia"],"Help topics":["Tematy pomocy"],"Overview":["Przegląd"],"Lab":["Laboratorium"],"version":["wersja"],"Remote control":["Sterowanie"],"Remote control is set up correctly":["Zdalne sterowanie zostało poprawnie skonfigurowane"],"About":["O Chorusie"],"Local audio":["Dźwięk"],"Status report":["Raport o stanie"],"in":["w"],"Focus playlist on playing":["Zaznaczaj odtwarzaną pozycję na liście"],"Automatically scroll the playlist to the current playing item. This happens whenever the playing item is changed":["Umożliwia automatyczne przewijanie listy do aktualnie odtwarzanej pozycji. Ta operacja jest wykonywana za każdym razem, gdy zmienia się odtwarzana pozycja."],"Web Settings saved.":["Zapisano ustawienia interfejsu webowego."],"Keyboard controls":["Sterowanie klawiaturą"],"In Chorus, will you keyboard control Kodi, the browser or both":["Umożliwia sterowanie przy pomocy klawiatury działaniem Kodi, przeglądarki lub oboma jednocześnie"],"Learn more":["Dowiedz się więcej"],"Resume playback":["Wznów odtwarzanie"],"Resume from":["Wznów od"],"Start from the beginning":["Zacznij od początku"],"Click here restore defaults":["Naciśnij, aby przywrócić domyślne ustawienia"],"Main Menu Structure":["Struktura menu"],"Here you can change the title, url and %1$s for menu items. You can also remove, re-order and add new items.":["Umożliwia zmianę tytułu, adresu URL i %1$s pozycji menu. Możesz także usunąć pozycje, zmienić ich kolejność lub dodać nowe pozycje."],"Main Nav":["Nawigacja"],"Add a new playlist":["Dodaj nową listę"],"Keyboard":["Klawiatura"],"Music":["Muzyka"],"Digital radio":["Radio"],"Movies":["Filmy"],"TV shows":["Seriale"],"TV":["Telewizja"],"Browser":["Przeglądarka"],"Thumbs up":["Lubię to!"],"Settings":["Ustawienia"],"Help":["Pomoc"],"Disable Thumbs Up":["Dezaktywuj funkcję 'Lubię to!'"],"Remove the thumbs up button from media. Note: you may also want to remove the menu item from the ":["Umożliwia usunięcie przycisku 'Lubię to' z panelu informacji o mediach. Uwaga: Możesz także usunąć pozycję menu z "],"You need to 'Allow remote control' for Kodi. You can do that":["Wymagana aktywacja opcji 'Zezwalaj na zdalne sterowanie Kodi przez HTTP'. Możesz to zrobić"],"here":["tutaj"],"yes":["tak"],"no":["nie"],"close":["zamknij"],"ok":["ok"],"Are you sure?":["Jesteś pewien?"],"Set all episodes for this season as":["Ustaw wszystkie odcinki tego sezonu jako"],"Set all episodes for this TV show as":["Ustaw wszystkie odcinki tego serialu jako"],"watched":["obejrzane"],"unwatched":["nieobejrzane"],"genre":["gatunek"],"studio":["wytwórnia"],"rated":["kategoria"],"episodes":["odcinki"],"total":["razem"],"set":["ustaw"],"Show device name":["Pokazuj nazwę urządzenia"],"Show the Kodi device name in the header of Chorus":["Umożliwia wyświetlanie nazwy urządzenia, na którym uruchomiono Kodi, w nagłówku strony Chorusa."],"No results found":["Brak wyników wyszukiwania"],"Have you done a library scan?":["Czy wykonałeś skanowanie biblioteki?"],"Play in browser":["Odtwarzaj w przeglądarce"],"Edit":["Edytuj"],"Add to Kodi":["Dodaj do Kodi"],"Watched":["Obejrzane"],"New playlist":["Nowa lista"],"Play in Kodi":["Odtwarzaj w Kodi"],"Export list":["Eksportuj listę"],"Delete playlist":["Usuń listę"],"title":["tytuł"],"year":["rok"],"date added":["data dodania"],"rating":["ocena"],"actor":["aktor"],"mood":["nastrój"],"writer":["scenarzysta"],"director":["reżyser"],"style":["styl"],"items selected":["pozycje zaznaczone"],"item selected":["pozycja zaznaczona"],"Video library clean started":["Rozpoczęto czyszczenie biblioteki wideo"],"Video library clean finished":["Zakończono czyszczenie biblioteki wideo"],"Audio library clean started":["Rozpoczęto czyszczenie biblioteki muzyki"],"Audio library clean finished":["Zakończono czyszczenie biblioteki muzyki"],"This is a tool to test out the api. Select a method then execute it with parameters.":["To jest narzędzie do testowania interfejsu programistycznego Kodi. Wybierz metodę, a następnie wykonaj ją z zadanymi parametrami"],"Go to season":["Przejdź do sezonu"],"Queue in Kodi":["Dodaj do kolejki Kodi"],"Adding items to the queue":["Dodawanie pozycji do kolejki"],"Live TV":["Telewizja"],"Recently added albums":["Albumy ostatnio dodane"],"Random albums":["Albumy losowe"],"Recently played albums":["Albumy ostatnio odtwarzane"],"Random movies":["Filmy losowe"],"Continue watching":["Kontynuuj odtwarzanie"],"More from %1$s":["Więcej z %1$s"],"More %1$s movies":["Więcej filmów z %1$s"],"More movies staring %1$s":["Więcej filmów z aktorem %1$s"],"Other movies released in %1$s":["Inne premiery filmów w %1$s"],"artist":["wykonawca"],"random":["losowo"],"label":["wytwórnia"],"formed":["założone"],"born":["urodzony"],"died":["zmarły"],"disbanded":["rozwiązany"],"years active":["lata aktywności"],"Click for more":["Naciśnij po więcej informacji"],"Loading albums":["Wczytywanie albumów"],"%1$d seconds ago, an input dialog opened in Kodi and it is still open! To prevent a mainframe implosion, you should probably give me some text. I don't really care what it is at this point, why not be creative? Do you have a %2$s? I won't tell...":["%1$d sekund temu okno dialogowe zostało otworzone i ciągle jest otwarte! Aby zapobiec implozji systemu, powinieneś wprowadzić jakiś tekst. Obecnie nie dbamy co to powinno być, więc dlaczego nie być kreatywnym? Czy posiadasz %2$s? Nie powiem..."],"all media":["wszystkie media"],"YouTube":["YouTube"],"SoundCloud":["SoundCloud"],"GoogleMusic":["GoogleMusic"],"Radio":["Radio"],"MixCloud":["MixCloud"],"First aired":["Premiera"],"Updated %1$s details":["Zaktualizowano informacje o %1$s"],"Title":["Tytuł"],"Plot":["Fabuła"],"Rating":["Ocena"],"Original title":["Tytuł oryginalny"],"Directors":["Reżyseria"],"Writers":["Scenariusz"],"File path":["Ścieżka pliku"],"Artist":["Wykonawca"],"Description":["Opis"],"Label":["Wytwórnia"],"Year":["Rok"],"Genres":["Gatunki"],"Styles":["Style"],"Themes":["Motywy"],"Moods":["Nastroje"],"Album artist":["Wykonawca albumu"],"Album":["Album"],"Track":["Utwór"],"Disc":["Dysk"],"Tagline":["Motto"],"Studio":["Wytwórnia"],"Content rating":["Kategoria wiekowa"],"Premiered":["Premiera"],"IMDb":["IMDb"],"Sort title":["Tytuł sortowania"],"Country":["Kraj"],"Set":["Seria"],"Tags":["Znaczniki"],"Trailer":["Zwiastun"],"Formed":["Założony"],"Disbanded":["Rozwiązany"],"Years Active":["Lata aktywności"],"Born":["Urodzony"],"Died":["Zmarły"],"Instruments":["Instrumenty"],"more":["więcej"],"in progress":["W trakcie"],"URL":["Adres URL"],"Add an image via an external URL":["Dodaj obraz za pomocą adresu URL"],"Searching for more images":["Wyszukiwanie dodatkowych obrazów"],"Image Selector":["Wybór obrazu"],"Image URL":["Adres URL obrazu"],"External Search":["Wyszukiwanie w internecie"],"Local media":["Media lokalne"],"Chorus Search":["Wyszukiwanie w Chorusie"],"YouTube Search":["Wyszukiwanie w YouTube"],"Executed addon":["Uruchomiony dodatek"],"all":["wszystkie"],"video":["wideo"],"audio":["muzyka"],"image":["obraz"],"picture":["zdjęcie"],"executable":["program"],"settings":["ustawienia"],"Refresh":["Odśwież"],"Confirm refresh":["Odświeżenie informacji o pozycji '%1$s' spowoduje usunięcie jej z biblioteki, a następnie ponowne jej dodanie, co może zmienić jej identyfikator. Za kilka sekund nastąpi próba przeładowania strony z nowym identyfikatorem. Naciśnij 'TAK', aby potwierdzić odświeżenie"],"Refresh Ignore NFO":["Odświeżaj ignorując pliki NFO"],"Ignore local NFO files when manually refreshing media.":["Umożliwia ignorowanie lokalnych plików NFO podczas manualnego odświeżania informacji o mediach."],"Show only":["Tylko seriale"],"Show and episodes":["Seriale i odcinki"],"Top music":["Najlepsza muzyka"],"%1$s Artists":["%1$s Wykonawcy"],"%1$s Albums":["%1$s Albumy"],"%1$s Songs":["%1$s Utwory"],"default":["domyślne"],"Actions":["Akcje"],"play files":["odtwarzaj pliki"],"queue files":["dodaj pliki do kolejki"],"Sent text":["Wyślij tekst"],"License":["Licencja"],"Main Menu":["Menu startowe"],"Search":["Szukaj"],"Custom Add-on search":["Wyszukiwanie zawartości dodatku"],"Add custom add-on searches":["Mechanizm wyszukiwania Chorusa obsługuje nie tylko lokalne media, ale także zawartość dodatków. Dla przykładu, możesz użyć wyszukiwania, aby znaleźć wideo w YouTube lub muzykę w usłudze SoundCloud. Ta strona umożliwia dodanie niestandardowego wyszukiwania w zawartości dodatku, które domyślnie nie jest dostępne. Zobacz %1$s, aby dowiedzieć się więcej."],"Add-ons help page":["Strona pomocy dodatków"]}}} \ No newline at end of file
diff --git a/addons/webinterface.default/lang/en/addons.html b/addons/webinterface.default/lang/en/addons.html
new file mode 100644
index 0000000000..604ce02807
--- /dev/null
+++ b/addons/webinterface.default/lang/en/addons.html
@@ -0,0 +1,36 @@
+<h1 id="add-on-support">Add-on Support</h1>
+<p>Chorus supports add-ons, but at a generic level. As each add-on does things differently, not all functionality will be
+available. The <a href="#addons/all">Add-Ons</a> page lists add-ons that are executable (eg. Global Search) or add-ons that provide
+a list of audio/video content (eg. YouTube). Add-ons that provide lists can also be accessed via the <a href="#browser">browser</a>.</p>
+<h2 id="custom-add-on-search">Custom Add-on Search</h2>
+<p>Out of the box, Chorus includes search functionality for some of the more popular add-ons, this allows you to search
+content provided by that add-on via the search page. For example you could type in &quot;crazy cat videos&quot; in the search box
+and then on the search page, click &quot;YouTube&quot; to get a list of videos provided by YouTube on that subject.</p>
+<p>If you wish to search content provided by an add-on that isn&#39;t included with Chorus, you can add your own
+<a href="#settings/search">custom add-on search</a> which tells Chorus how it can search for the content provided by that add-on.</p>
+<p>To add a custom search, you need to know what url the add-on is using internally to provide the search results. This
+isn&#39;t always easy or obvious to find out and may involve looking through the add-on code or kodi logs to determine the
+correct url to use. Chorus will substitute the token <code>[QUERY]</code> with the search term.</p>
+<h3 id="examples-of-add-on-search-urls">Examples of add-on search urls</h3>
+<ul>
+<li>YouTube: <code>plugin://plugin.video.youtube/search/?q=[QUERY]</code></li>
+<li>SoundCloud: <code>plugin://plugin.audio.soundcloud/search/query/?q=[QUERY]</code></li>
+<li>Radio: <code>plugin://plugin.audio.radio_de/stations/search/[QUERY]</code></li>
+<li>MixCloud: <code>plugin://plugin.audio.mixcloud/?mode=30&amp;key=cloudcast&amp;offset=0&amp;query=[QUERY]</code></li>
+</ul>
+<h3 id="contributing">Contributing</h3>
+<p>If you find a good custom add-on search that should be included in Chorus out of the box then you should consider
+submitting a <a href="https://github.com/xbmc/chorus2/pulls">pull request</a> for it. Look at the <a href="https://github.com/xbmc/chorus2/blob/master/src/js/apps/addon/soundcloud/addon_soundcloud_app.js.coffee">SoundCloud module</a>
+as an example of the code structure. NOTE: Only add-ons that are in the official repository will accepted.</p>
+<h2 id="enabling-and-disabling-add-ons">Enabling and disabling Add-ons</h2>
+<p>Chorus provides a <a href="#settings/addons">settings page</a> for enabling and disabling add-ons, be aware that disabling certain
+add-ons may have adverse effects so use with care.</p>
+<h2 id="known-issues-and-limitations">Known issues and limitations</h2>
+<p>A few things that have been observed with using add-ons in Chorus</p>
+<ul>
+<li>You cannot download add-on content.</li>
+<li>You can only play add-on content via Kodi, it cannot be streamed to the web browser.</li>
+<li>Adding a single add-on media to the playlist often results in the playlist entry having a weird title or missing a
+title altogether. Adding an add-on folder seems to populate it correctly. This appears to be an issue with the Kodi API.</li>
+<li>Some add-ons won&#39;t work at all, this should be raised up with the add-on author.</li>
+</ul>
diff --git a/addons/webinterface.default/lang/en/app-changelog.html b/addons/webinterface.default/lang/en/app-changelog.html
index 3df10f23a7..4e676c2059 100644
--- a/addons/webinterface.default/lang/en/app-changelog.html
+++ b/addons/webinterface.default/lang/en/app-changelog.html
@@ -1,3 +1,87 @@
+<h2 id="version-2-4-1">Version 2.4.1</h2>
+<ul>
+<li>Added album to song table #212</li>
+<li>Minor regression fixes</li>
+<li>Bugfix for movie page not loading for Kodi v16 #207</li>
+<li>Added ability to rename playlists #55</li>
+<li>Lots of PVR updates, improved UX and added recordings</li>
+<li>Fixed direct route to PVR #17</li>
+<li>Fixed bug with epg not loading #211</li>
+<li>Updated Polish Translations #205 #210</li>
+<li>Updated License for Chorus2 to GPL-2+ #179 #208</li>
+</ul>
+<h2 id="version-2-4-0">Version 2.4.0</h2>
+<ul>
+<li>Fixed edge case bug when navigating away from large lists</li>
+<li>Fixed issue with volume bar bouncing around after vol change</li>
+<li>Ensure all strings using sprintf are translatable #198</li>
+<li>Added ability to thumbs up currently playing item via playlist</li>
+<li>If item is already in playlist when click play, it will play the item in the playlist rather than adding it again</li>
+<li>Fixed bug where you were unable to local play a single song</li>
+<li>Added ability to thumbs up media from details page</li>
+<li>Search artists looks at all artists not just album artists</li>
+<li>Prevented moving the currently playing item within the playlist due to the adverse effects it causes #196</li>
+<li>Fix playing position after playlist clear then add whilst item is still playing #195</li>
+<li>Enabled selecting items using command key in osX</li>
+<li>Added workaround for addons and files missing title and thumb in playlist</li>
+<li>Added &#39;Top music&#39; section to browse most played albums and songs</li>
+<li>Added ability to refresh/re-scrape movies, tv and episodes</li>
+<li>Listen for media updates from Kodi and refresh the UI if that media is visible</li>
+<li>Removed theaudiodb external search</li>
+<li>Rendering performance improvements with large collections, especially songs</li>
+<li>Added section to browse all music genres, added landing page per genre with artist/album/songs in that genre</li>
+<li>Added Spanish translation #194</li>
+<li>Updated Polish translation #193</li>
+<li>Spelling Corrections #192</li>
+<li>New settings page for adding custom add-on search to main Chorus search</li>
+<li>Browser updates: ability to download files, ability to sort #188, added folder actions (queue/play folder) #131</li>
+</ul>
+<h2 id="version-2-3-9">Version 2.3.9</h2>
+<ul>
+<li>Added Add-on section with the ability to browse and execute enabled addons #182</li>
+<li>Updated and patched backbone-fetch-cache to prevent errors on model fetch when no jqXHR obj</li>
+<li>Added internal, external and youtube search to contextual menus on media details pages</li>
+<li>Lots of improvements to editing with improved live reloading of entities on save.</li>
+<li>Added dropdown menu with edit link to all details views</li>
+<li>Bugfix - movie page not loading if no trailer (introduced in previous release)</li>
+<li>Ability to edit/update poster and fanart images via the media editor</li>
+<li>Added more links to landing page sections</li>
+<li>Added in progress filter to tv and movie lists</li>
+<li>Added lab icon browser to lab so you van view all chorus icons</li>
+</ul>
+<h2 id="version-2-3-8">Version 2.3.8</h2>
+<ul>
+<li>Replaced imdb and google images with fontawesome icons. Added License documentation #179</li>
+<li>Added the ability to edit and view the library metadata for songs, artists, albums, tvshows, episodes and movies. Solves #102</li>
+<li>Updated API browser to also show types and updated readme re API browser</li>
+<li>Sort albums by year on artist page</li>
+<li>Added season episodes to episode details page</li>
+<li>Improved search UX, added ability to search common addon content (SoundCloud, MixCloud, GoogleMusic, YouTube, Radio)</li>
+<li>Big improvements to search performance</li>
+<li>Added filters to landing page and refined sections</li>
+<li>Updated album and artist details pages to show lots more metadata, improved layout and added action buttons to be more consistent with video pages</li>
+<li>Added random sort to filters for albums, artists, tv and movies. Added ability to set sort via url eg. #music/albums?sort=random</li>
+<li>Added related movies to movie detail page</li>
+<li>Fixed broken images in cast list</li>
+<li>Updated Backbone.RPC to support named params, improved all entity collections to use named params</li>
+<li>Added airdate to episode view</li>
+<li>New and improved landing pages for music, tv and movies with more content to explore #135</li>
+<li>Merged Polish translation update #184</li>
+</ul>
+<h2 id="version-2-3-7">Version 2.3.7</h2>
+<ul>
+<li>Added ability to sort and remove items in local playlists</li>
+<li>Added context link to season from TV episode #169</li>
+<li>Added ability to thumbs up tv episodes</li>
+<li>Added ability to clean audio and video library and add actions to Kodi settings form #177</li>
+<li>Added ability to select multiple items with CTRL+click and perform bulk actions eg. play, queue and add to playlist</li>
+<li>Fixed dropdown menu closing on click #173</li>
+<li>Added Kodi saved and smart playlists to the Chorus browser #167</li>
+<li>Added support for exporting and downloading local playlists to m3u</li>
+<li>Fixed issue with addon enable/disable not saving #162</li>
+<li>String updates and addition of many more translatables that were previously missing</li>
+<li>Merged Polish translation update #166</li>
+</ul>
<h2 id="version-2-3-6">Version 2.3.6</h2>
<ul>
<li>Added filtering by thumbs up to movies, tv, artists and albums</li>
diff --git a/addons/webinterface.default/lang/en/app-readme.html b/addons/webinterface.default/lang/en/app-readme.html
index 67f0d49068..67dc78ab98 100644
--- a/addons/webinterface.default/lang/en/app-readme.html
+++ b/addons/webinterface.default/lang/en/app-readme.html
@@ -8,28 +8,33 @@ A complete rebuild using Coffee Script, Backbone, Marionette and much, much more
<h2 id="author">Author</h2>
<p><a href="http://jez.me">Jeremy Graham </a> with help from <a href="https://github.com/xbmc/chorus2/graphs/contributors">these kind people</a></p>
<h2 id="current-state">Current state</h2>
-<p>Pretty good, most things work really well. Other things need <a href="https://github.com/xbmc/chorus2/issues">polish/finishing/fixing</a>. </p>
+<p>Pretty good, most things work really well. Other things need <a href="https://github.com/xbmc/chorus2/issues">polish/finishing/fixing</a>.
+Still considered beta software, expect bugs, changes, nuclear war, etc.</p>
<h2 id="getting-it-working">Getting it working</h2>
-<p>Disclaimer: Beta software, expect bugs, changes, nuclear war, etc.</p>
-<h3 id="installing">Installing</h3>
-<p>Install via zip is the easiest way to go. Grab the latest release of webinterface.default.2.X.X.zip from the <a href="https://github.com/xbmc/chorus2/releases">releases page</a> then install it <a href="http://kodi.wiki/view/Add-on_manager#How_to_install_from_a_ZIP_file">like this</a></p>
-<h3 id="configuring">Configuring</h3>
+<p>As of Kodi v17, Chorus2 comes pre-installed out of the box, you just need to enable it and tick a few boxes.</p>
+<h3 id="enabling-configuring">Enabling &amp; Configuring</h3>
+<p>Kodi &gt; Settings (cog) &gt; Services &gt; Control</p>
<ul>
-<li>Kodi &gt; System &gt; Settings &gt; Services</li>
-<li>Remote Control<ul>
-<li>Enable &quot;Allow programs on this system to control Kodi&quot;</li>
-<li>Enable &quot;Allow programs on other systems to control Kodi&quot;</li>
-</ul>
-</li>
-<li>Webserver<ul>
<li>Enable &quot;Allow control of Kodi via HTTP&quot;</li>
<li>Select Web interface</li>
-<li>Select Chorus2</li>
-</ul>
-</li>
+<li>Select &quot;Kodi web interface - Chorus2&quot;</li>
+<li>Enable &quot;Allow programs on this system to control Kodi&quot;</li>
+<li>Enable &quot;Allow programs on other systems to control Kodi&quot;</li>
</ul>
+<p><strong>For security reasons you should set a username and password to prevent unauthorised access</strong></p>
+<h3 id="manual-install">Manual install</h3>
+<p>For Kodi v16 and below or if you want to get the latest version ASAP, an install via zip is the easiest way to go. Grab the
+latest release of <code>webinterface.default.2.X.X.zip</code> from the <a href="https://github.com/xbmc/chorus2/releases">releases page</a> then
+install it <a href="http://kodi.wiki/view/Add-on_manager#How_to_install_from_a_ZIP_file">like this</a>. <strong>NOTE:</strong> Chorus2 is intended to
+be used with the latest version of Kodi and some (or all) things might not work in older versions due to API changes.</p>
+<h3 id="using-it">Using it</h3>
+<p>Point your web browser to <code>http://localhost:8080</code> - replace <code>localhost</code> with your IP address if using remotely and if
+you have changed your port to something other than <code>8080</code> be sure to change that too. More information and advanced
+usage can be found over on the <a href="http://kodi.wiki/view/Web_interface">Kodi Wiki page</a>.</p>
<h2 id="feature-requests-bugs">Feature requests / Bugs</h2>
-<p>Add them to the <a href="https://github.com/xbmc/chorus2/issues">list</a></p>
+<p>Add them to the <a href="https://github.com/xbmc/chorus2/issues">list</a>. For bugs please include Kodi version, Web browser version,
+Chorus version and any errors that display in the console. For feature requests, checkout the API browser to see if your
+request is currently possible.</p>
<h2 id="streaming">Streaming</h2>
<p>Disclaimer: The success of this depends on the file formats vs what the browser supports. In general most things work.</p>
<h3 id="audio-streaming">Audio streaming</h3>
@@ -41,19 +46,29 @@ playlists by clicking the menu buttons (three dots vertical) on most media items
<h3 id="video-streaming">Video streaming</h3>
<p>Video streaming via HTML5 &quot;sort of&quot; works, it really depends on the codec used. An embedded VLC player is also available with better codec support.
This looks like the best we can get until Kodi supports transcoding.
-<strong>Chrome users</strong>: Chrome has removed support for vlc/divx plugins so streaming a video requires a <a href="https://en.wikipedia.org/wiki/HTML5_video#Browser_support">Chrome friendly codec</a>.</p>
+<strong>Chrome users</strong>: Chrome has removed support for vlc/divx plugins so streaming a video requires a <a href="https://en.wikipedia.org/wiki/HTML5_video#Browser_support">Chrome friendly codec</a>.
+For best results use Chrome with mp4 video that has 2 channel audio (5.1 audio doesn&#39;t seem to work).</p>
<h2 id="kodi-settings-via-the-web-interface">Kodi settings via the web interface</h2>
<p>You can change most of the settings you would find in Kodi via the settings page in the web interface.
Some settings have been omitted as they require interaction with the GUI and others are just a basic text field with no options.</p>
+<h2 id="kodi-api-browser">Kodi API browser</h2>
+<p>There is a hidden feature in Chorus that allows you to play with the Kodi API and see what is capable via the JSON-RPC
+interface. If you are building an app or addon that uses the API this can be super useful for both finding and testing
+all the methods and types available. If you are thinking about a new feature for Chorus, this is also a great place to
+test if it is possible (and fast track development by adding a working example to an issue). You can find the API browser
+via &quot;Chorus Lab&quot; (bottom right 3 vertical dots &gt; &quot;The Lab&quot;) or directly via <code>http://localhost:8080/#lab/api-browser</code>.</p>
<h2 id="contributing">Contributing</h2>
-<p>If you would like to make this project better I would appreciate any help. Please do pull requests against the <code>develop</code> branch.</p>
+<p>If you would like to make this project better I would appreciate any help. Please do pull requests against the <code>develop</code> branch.
+I am happy to assist with getting an development environment up and running if you are happy to contribute.</p>
<h3 id="translations">Translations</h3>
-<p>I only know English so definitely need help with this.<br>I also don&#39;t know heaps about javascript multilingual stuff but thanks to @mizaki we have a structure ready to go.
-So it should be nice and easy to translate the UI. </p>
-<p>At the moment, there is 5 languages (english,french,german,dutch,chinese) more can be easily added.
-To contribute, send me a PR on a new branch against <code>develop</code>, or if you don&#39;t know git, a link to the language file.</p>
+<p>I only know English so definitely need help with this. I also don&#39;t know heaps about javascript multilingual stuff but
+thanks to <a href="https://github.com/mizaki">@mizaki</a> we have a structure ready to go. So it should be nice and easy to translate the UI.</p>
+<p>At the moment, there are <a href="https://github.com/xbmc/chorus2/tree/master/src/lang/_strings">a handful</a> of languages available
+but more can be easily added. More strings are always being added so always consider english as the source of truth.</p>
+<p>So if you see something in english but want it in your language, I need you! To contribute, send me a PR on a new branch
+against <code>develop</code>, or if you don&#39;t know git, a link to the language file.</p>
<p>Language Files <a href="https://github.com/xbmc/chorus2/tree/master/src/lang">here</a>.
-English is the only real complete translation file so start with that as your base. </p>
+<em>English is the only real complete translation file so start with that as your base.</em></p>
<h3 id="compiling">Compiling</h3>
<p>Sass and Grunt are used to compile css and js in the dist folder.
To get your environment setup first install <a href="http://bundler.io">Bundler</a> and <a href="https://www.npmjs.org/">npm</a>.</p>
@@ -70,6 +85,20 @@ To get your environment setup first install <a href="http://bundler.io">Bundler<
</ul>
<h2 id="donate">Donate</h2>
<p>Are you a fan of Chorus? You can <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=ZCGV976794JHE&amp;lc=AU&amp;item_name=Chorus%20Beer%20Fund&amp;currency_code=AUD&amp;bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted">buy Jeremy a beer</a> to say thanks :)</p>
+<h2 id="license">License</h2>
+<p>This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.</p>
+<p>This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.</p>
+<p>You should have received a copy of the GNU General Public License
+<a href="https://github.com/xbmc/chorus2/blob/master/LICENSE">along with this program</a>;
+if not, write to the Free Software Foundation, Inc., 51 Franklin Street,
+Fifth Floor, Boston, MA 02110-1301 USA.</p>
+<p><a href="https://github.com/xbmc/chorus2/blob/master/src/lang/en/license.md">Click here for more information </a>.</p>
<h2 id="screenshots">Screenshots</h2>
<h3 id="homepage-now-playing-">Homepage (now playing)</h3>
<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/now-playing.jpg" alt="alt text" title="Homepage/Now Playing"></p>
@@ -86,3 +115,5 @@ To get your environment setup first install <a href="http://bundler.io">Bundler<
<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/settings.jpg" alt="alt text" title="Settings"></p>
<h3 id="add-ons">Add-ons</h3>
<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/addons.jpg" alt="alt text" title="Add-ons"></p>
+<h3 id="editing-media">Editing media</h3>
+<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/edit-media.jpg" alt="alt text" title="Editing Media"></p>
diff --git a/addons/webinterface.default/lang/en/license.html b/addons/webinterface.default/lang/en/license.html
new file mode 100644
index 0000000000..634dc5ee31
--- /dev/null
+++ b/addons/webinterface.default/lang/en/license.html
@@ -0,0 +1,24 @@
+<h1 id="chorus2-license">Chorus2 License</h1>
+<p>This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.</p>
+<p>This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.</p>
+<p>You should have received a copy of the GNU General Public License
+<a href="https://github.com/xbmc/chorus2/blob/master/LICENSE">along with this program</a>;
+if not, write to the Free Software Foundation, Inc., 51 Franklin Street,
+Fifth Floor, Boston, MA 02110-1301 USA.</p>
+<h2 id="included-images">Included Images</h2>
+<p>All photos used within Chorus are licensed under <a href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons Zero</a>
+which means you can copy, modify, distribute and use the photos for free. Images have been sourced from:</p>
+<ul>
+<li><a href="https://unsplash.com">Unsplash</a> - <a href="https://unsplash.com/license">CC0 License</a></li>
+<li><a href="https://www.pexels.com">Pexels</a> - <a href="https://www.pexels.com/photo-license/">CC0 License</a></li>
+</ul>
+<p>Other included images and gifs have been hand crafted by <a href="http://jez.me">Jeremy Graham</a></p>
+<h2 id="included-libraries">Included Libraries</h2>
+<p><a href="https://github.com/xbmc/chorus2/tree/master/src/lib">Click here</a> to view the included libraries used by Chorus and
+their associated licenses.</p>
diff --git a/addons/webinterface.default/lang/pl/addons.html b/addons/webinterface.default/lang/pl/addons.html
new file mode 100644
index 0000000000..10d379efba
--- /dev/null
+++ b/addons/webinterface.default/lang/pl/addons.html
@@ -0,0 +1,40 @@
+<h1 id="obs-uga-dodatk-w">Obsługa dodatków</h1>
+<p>Chorus obsługuje dodatki, ale tylko na poziomie podstawowym. Każdy dodatek działa nieco inaczej, więc nie wszystkie
+funkcje będą dostępne. Na stronie <a href="#addons/all">Dodatki</a> widoczna jest lista dodatków wykonywalnych oraz dodatków, które
+udostępniają muzykę/wideo (np. YouTube). Dostęp do dodatków, widocznych na tej liście, można uzyskać za pośrednictwem
+<a href="#browser">przeglądarki</a>.</p>
+<h2 id="wyszukiwanie-zawarto-ci-dodatk-w">Wyszukiwanie zawartości dodatków</h2>
+<p>Po instalacji Kodi, Chorus zawiera wyszukiwanie zawartości dla niektórych popularniejszy dodatków, co umożliwia
+przeszukiwanie zawartości dodatków za pomocą strony wyszukiwania. Dla przykładu, możesz wprowadzić wyrażenie
+&quot;szalone koty&quot; w polu wyszukiwania, nacisnąć &quot;YouTube&quot;, aby pobrać listę odnalezionych materiałów w serwisie YouTube.</p>
+<p>Jeśli chciałbyś przeszukiwać zawartość udostępnianą przez dodatki, które nie są zawarte w Chorusie, możesz dodać
+swoją własną <a href="#settings/search">metodę wyszukiwania</a> dla wybranego dodatku, która poinformuje Chorusa, jak przeszukiwać zawartość
+przez niego udostępnianą.</p>
+<p>W celu dodania niestandardowego wyszukiwania, musisz znać postać adresu URL używanego wewnętrznie przez dodatek, który służy
+do dostarczania wyników wyszukiwania. To nie zawsze jest proste ani oczywiste i może wiązać się z analizą kodu dodatku lub pliku
+dziennika Kodi, aby określi poprawny format adresu URL. Przy czym Chorus zastąpi wzorzec <code>[QUERY]</code> szukanym wyrażeniem.</p>
+<h3 id="przyk-ady-adres-w-url-przeszukiwania-zawarto-ci-dodatk-w">Przykłady adresów URL przeszukiwania zawartości dodatków</h3>
+<ul>
+<li>YouTube: <code>plugin://plugin.video.youtube/search/?q=[QUERY]</code></li>
+<li>SoundCloud: <code>plugin://plugin.audio.soundcloud/search/query/?q=[QUERY]</code></li>
+<li>Radio: <code>plugin://plugin.audio.radio_de/stations/search/[QUERY]</code></li>
+<li>MixCloud: <code>plugin://plugin.audio.mixcloud/?mode=30&amp;key=cloudcast&amp;offset=0&amp;query=[QUERY]</code></li>
+</ul>
+<h3 id="wsp-udzia-">Współudział</h3>
+<p>Jeśli znasz jakiś dobry dodatek, którego można użyć do wyszukiwania zawartości i uważasz, że powinien być dostępny razem
+z instalacją Kodi, powinieneś rozważyć przesłanie modyfikacji kodu za pomocą funkcji <a href="https://github.com/xbmc/chorus2/pulls">Pull Request</a>.
+Przyjrzyj się <a href="https://github.com/xbmc/chorus2/blob/master/src/js/apps/addon/soundcloud/addon_soundcloud_app.js.coffee">modułowi SoundCloud</a> jako przykład struktury kodu.
+UWAGA: Tylko dodatki z oficjalnego repozytorium zostaną zaakceptowane.</p>
+<h2 id="zarz-dzanie-dodatkami">Zarządzanie dodatkami</h2>
+<p>Chorus udostępnia <a href="#settings/addons">stronę ustawień</a> umożliwiającą aktywację i dezaktywację dodatków, ale pamiętaj, że dezaktywacja
+pewnych dodatków może mieć niekorzystne skutki, więc używaj tej funkcji z ostrożnością.</p>
+<h2 id="znane-problemy-i-ograniczenia">Znane problemy i ograniczenia</h2>
+<p>Zaobserwowano kilka problemów związanych z używanie dodatków w Chorusie</p>
+<ul>
+<li>Nie można pobrać zawartości dodatku.</li>
+<li>Zawartość dodatku można odtwarzać tylko w Kodi, nie można jej transmitować to przeglądarki.</li>
+<li>Rezultatem dodania pojedynczej zawartości dodatku do listy odtwarzania, często jest pozycja o dziwnym lub brakującym
+tytule. Przy czym dodawanie zawartości folderów dodatku do listy odtwarzania wydaje się działać poprawnie. Stąd wniosek,
+że jest to jakiś problem z interfejsem programistycznym Kodi.</li>
+<li>Niektóre dodatki w ogóle nie działają, w takich przypadkach należy zgłosić to autorowi dodatku.</li>
+</ul>
diff --git a/addons/webinterface.default/lang/pl/app-changelog.html b/addons/webinterface.default/lang/pl/app-changelog.html
index 9ab64052fa..4aa6faa88a 100644
--- a/addons/webinterface.default/lang/pl/app-changelog.html
+++ b/addons/webinterface.default/lang/pl/app-changelog.html
@@ -1,7 +1,95 @@
+<h2 id="wersja-2-4-0">Wersja 2.4.0</h2>
+<ul>
+<li>Naprawiono rzadki błąd widoczny po opuszczeniu list z dużą ilością pozycji</li>
+<li>Naprawiono błąd powodujący, że pasek głośności podskakiwał, po zmianie poziomu głośności</li>
+<li>Dodano mechanizm gwarantujący, że wszystkie wyrażenia używające funkcji sprintf, mogą zostać przetłumaczone #198</li>
+<li>Dodano możliwość polubienia aktualnie odtwarzanej pozycji na liście odtwarzania</li>
+<li>Naprawiono błąd powodujący ponowne dodanie do listy odtwarzania odtwarzanego utworu, po naciśnięciu na niego</li>
+<li>Naprawiono błąd uniemożliwiający odtwarzanie w przeglądarce pojedynczego utworu</li>
+<li>Dodano możliwość polubienia mediów z poziomu stron informacji</li>
+<li>Ulepszono wyszukiwanie wykonawców tak, aby wyszukiwani byli także wykonawcy utworów, a nie tylko wykonawcy albumów</li>
+<li>Dodano mechanizm zapobiegający przenoszeniu aktualnie odtwarzanej pozycji na liście odtwarzania, ze względu na negatywne skutki jakie to powoduje #196</li>
+<li>Naprawiono pozycjonowanie odtwarzania po wyczyszczeniu listy i dodaniu nowej pozycji, w trakcie odtwarzania poprzedniej pozycji #195</li>
+<li>Dodano możliwość wybierania pozycji przy użyciu klawisza komendy w systemie OSX</li>
+<li>Dodano obejście dla plików i dodatków, z brakującym tytułem i miniaturą, na liście odtwarzania</li>
+<li>Dodano sekcję &#39;Najlepsza muzyka&#39; umożliwiającą przeglądanie najczęściej odtwarzanych albumów i utworów</li>
+<li>Dodano możliwość odświeżania/pobierania informacji o filmach, serialach i odcinkach</li>
+<li>Dodano mechanizm nasłuchiwania zmian w Kodi i odświeżania interfejsu użytkownika, gdy media są widoczne</li>
+<li>Usunięto zewnętrzne wyszukiwanie w serwisie TheAudioDb</li>
+<li>Ulepszono wydajność renderowania wielkich kolekcji, w szczególności kolekcji utworów</li>
+<li>Dodano sekcję umożliwiającą przeglądanie muzyki po gatunkach, dodano stronę startową dla gatunków muzyki z wykonawcami/albumami/utworami w tym gatunku</li>
+<li>Dodano tłumaczenie na język hiszpański #194</li>
+<li>Zaktualizowano tłumaczenie na język polski #193</li>
+<li>Poprawiono literówki i błędy w pisowni oryginalnej #192</li>
+<li>Dodano nową stronę ustawień, umożliwiającą konfigurację wyszukiwania zawartości dodatków</li>
+<li>Zaktualizowano przeglądarkę: możliwość pobierania plików, możliwość sortowania #188, dodano akcje do folderu (dodanie folderu do kolejki/odtwarzanie zawartości folderu) #131</li>
+</ul>
+<h2 id="wersja-2-3-9">Wersja 2.3.9</h2>
+<ul>
+<li>Dodano sekcję Dodatki z możliwością przeglądania i uruchamiania aktywnych dodatków #182</li>
+<li>Zaktualizowano i załatano backbone-fetch-cache, w celu uniknięcia błędów podczas pobierania modelu</li>
+<li>Dodano do menu kontekstowego stron informacji o mediach, wyszukiwanie w Chorusie, w Internecie i YouTube</li>
+<li>Dodano wiele ulepszeń do mechanizmu edytowania, wraz z funkcją odświeżania informacji po zapisaniu</li>
+<li>Dodano menu rozwijane, z łączem do edycji, do wszystkich stron informacji o mediach</li>
+<li>Poprawiono błąd na stronie informacji o filmie w przypadku braku zwiastuna (zainicjowany w poprzedniej wersji)</li>
+<li>Dodano możliwości edycji/aktualizacji plakatu i fototapety przy pomocy edytora mediów</li>
+<li>Dodano dodatkowe łącza do stron startowych sekcji</li>
+<li>Dodano przeglądarkę dostępnych ikon w laboratorium Chorusa</li>
+</ul>
+<h2 id="wersja-2-3-8">Wersja 2.3.8</h2>
+<ul>
+<li>Zastąpiono obrazy IMDb i Google ikonami czcionki Font Awesome. Dodano dokumentację licencyjną #179</li>
+<li>Dodano możliwość edytowania i przeglądania metadanych utworów, wykonawców, albumów, odcinków i filmów. #102</li>
+<li>Zaktualizowano przeglądarkę API, o funkcję wyświetlania typów oraz zaktualizowano jej dokumentację</li>
+<li>Dodano do strony informacji o wykonawcy, sortowanie albumów po latach</li>
+<li>Dodano do strony informacji o odcinku, listę odcinków danego sezonu</li>
+<li>Ulepszono interfejs wyszukiwania, dodano możliwość wyszukiwania zawartości popularnych dodatków (SoundCloud, MixCloud, GoogleMusic, YouTube, Radio)</li>
+<li>Ulepszono znacznie wydajność wyszukiwania</li>
+<li>Dodano filtry do stron startowych sekcji</li>
+<li>Zaktualizowano strony informacji o albumie i wykonawcy o dodatkowe metadane, poprawiano układ interfejsu i dodano przyciski akcji, aby były bardziej spójne ze stronami wideo</li>
+<li>Dodano sortowanie losowe do filtrów w sekcji albumy, wykonawcy, seriale i filmy. Dodano możliwość sortowania za pomocą adresu URL np. #music/albums?sort=random</li>
+<li>Dodano do strony informacji o filmie, łącze do filmów powiązanych</li>
+<li>Naprawiono błędne obrazy na liście obsady</li>
+<li>Zaktualizowano Backbone.RPC o obsługę nazwanych parametrów, ulepszono wszystkie kolekcje encji o nazwane parametry</li>
+<li>Dodano datę pierwszej emisji do strony informacji o odcinku</li>
+<li>Rozbudowano strony startowe, dla sekcji muzyki, seriali i filmów, o dodatkową zawartość #135</li>
+<li>Zaktualizowano tłumaczenie na język polski #184</li>
+</ul>
+<h2 id="wersja-2-3-7">Wersja 2.3.7</h2>
+<ul>
+<li>Dodano możliwość sortowania i usuwania pozycji w lokalnych listach odtwarzania</li>
+<li>Dodane łącze kontekstowe do sezonu z poziomu odcinka #169</li>
+<li>Dodano możliwość polubienia odcinków serialu</li>
+<li>Dodano możliwość czyszczenia biblioteki wideo i muzyki oraz dodano akcje do formatki ustawień Kodi #177</li>
+<li>Dodano możliwość zaznaczania wielu pozycji za pomocą przycisku CTRL i kliknięcia oraz wykonywania wsadowych akcji np. odtwarzania, kolejkowania i dodawania do listy odtwarzania</li>
+<li>Naprawiono zamykanie się wysuwanego menu po naciśnięciu #173</li>
+<li>Dodano zapisywanie pozycji na listach Kodi oraz funkcję inteligentnych list do przeglądarki Chorusa #167</li>
+<li>Dodano obsługę eksportowania i pobierania lokalnych list odtwarzania jako plik M3U</li>
+<li>Naprawiono problem z zapisywaniem aktywacji/dezaktywacji dodatków #162</li>
+<li>Zaktualizowano plik słownika i dodano możliwość tłumaczenia brakujących wcześniej wyrażeń</li>
+<li>Zaktualizowano tłumaczenie na język polski #166</li>
+</ul>
+<h2 id="wersja-2-3-6">Wersja 2.3.6</h2>
+<ul>
+<li>Dodano filtrowanie po polubieniach dla filmów, seriali, wykonawców i albumach</li>
+<li>Naprawiono błąd dla nowo polubionych pozycji, które nie pojawiały się na stronie Lubię to!</li>
+<li>Dodano możliwość wyświetlania nazwy urządzenia jako tytułu strony #98</li>
+<li>Ulepszono style i interfejs użytkownika dla funkcji zaznaczania obejrzanych pozycji</li>
+<li>Poprawiono panel informacji o filmie, dodano kategorię wiekową i możliwości przełączenia stanu obejrzenia</li>
+<li>Ulepszono i przebudowano listę oraz panel informacji o serialu, sezonie i odcinku</li>
+<li>Dodano możliwość oznaczenia serialu i sezonu jako obejrzane, a także dodanie ich do kolejki odtwarzania #74</li>
+<li>Dodano aktualne tłumaczenie na język francuski i polski #160 i #161</li>
+<li>Poprawiono działanie przycisku odtwarzania w zależności od stanu odtwarzacza #157</li>
+<li>Poprawiono style w przeglądarce plików/dodatków</li>
+<li>Dodano możliwość dodania za pomocą menu kontekstowego, do kolejki odtwarzania mediów, z poziomu przeglądarki plików/dodatków</li>
+<li>Poprawiono wyrównanie kolumn na liście utworów albumu #37</li>
+<li>Dodano możliwość filtrowania po roku dla albumów i utworów</li>
+<li>Poprawiono błąd powodujący zawieszanie się przeglądarki, w przypadku przekazania do wirtualnej listy - pustej kolekcji</li>
+</ul>
<h2 id="wersja-2-3-5">Wersja 2.3.5</h2>
<ul>
-<li>Scalone zmiany tłumaczenia na język niemiecki #139</li>
-<li>Scalone zmiany tłumaczenia język litewski #141</li>
+<li>Zaktualizowano tłumaczenie na język niemiecki #139</li>
+<li>Zaktualizowano tłumaczenie na język litewski #141</li>
<li>Usunięto część kodu diagnostycznego</li>
<li>Dodano poziom Ekspercki do ustawień Kodi</li>
<li>Dodano sortowanie albumów po dacie dodania #21</li>
@@ -32,7 +120,7 @@
</ul>
<h2 id="wersja-2-0-17">Wersja 2.0.17</h2>
<ul>
-<li>Przeniesiono kod do oficjalnego repozytorium Kodi i zmienion identyfikator dodatku na webinterface.default</li>
+<li>Przeniesiono kod do oficjalnego repozytorium Kodi i zmieniono identyfikator dodatku na webinterface.default</li>
</ul>
<h2 id="wersja-2-0-17">Wersja 2.0.17</h2>
<ul>
@@ -45,29 +133,29 @@
<li>Poprawiono łącze do Informacji w menu kontekstowym</li>
<li>Poprawiono zaznaczenie pola tekstowego w oknie dialogowym #119</li>
<li>Zaktualizowano tłumaczenie na język francuski #114</li>
-<li>Oczyszczono źrodła ze zbędnego kodu</li>
+<li>Oczyszczono źródła ze zbędnego kodu</li>
</ul>
<h2 id="wersja-2-0-14">Wersja 2.0.14</h2>
<ul>
<li>Dodano możliwość personalizacji łączy pozycji menu</li>
<li>Zaktualizowano tłumaczenie na język niemiecki</li>
<li>Dodano wskaźnik postępu dla seriali i sezonów</li>
-<li>Zaktualizowano skróty klawiszone regulacji głośności #91</li>
+<li>Zaktualizowano skróty klawiszowe regulacji głośności #91</li>
</ul>
<h2 id="wersja-2-0-13">Wersja 2.0.13</h2>
<ul>
<li>Dodano mechanizmy i interfejs dla funkcji wznawiania odtwarzania wideo #76</li>
<li>Poprawiono skróty klawiszowe regulacji głośności dla klawiatur bez części numeryczne #83</li>
<li>Dodano skrót klawiszowy dla funkcji przechodzenia w tryb pełnoekranowy #94</li>
-<li>Ulepszono skróty klawiszone i dodano dokumentację</li>
+<li>Ulepszono skróty klawiszowe i dodano dokumentację</li>
</ul>
<h2 id="wersja-2-0-12">Wersja 2.0.12</h2>
<ul>
<li>Ulepszono mechanizm dodawania do ekranu startowego urządzeń mobilnych #79</li>
-<li>Naprawiono błąd z komunkacją po HTTPS #83</li>
-<li>Dodano sortowanie alumów wg wykonawcy #84</li>
+<li>Naprawiono błąd z komunikacją po HTTPS #83</li>
+<li>Dodano sortowanie albumów wg wykonawcy #84</li>
<li>Dodano mechanizm przewijania listy do aktualnie odtwarzanej pozycji #88</li>
-<li>Dodano stronę ustawień dla skróty klawiszone #89</li>
+<li>Dodano stronę ustawień dla skróty klawiszowe #89</li>
</ul>
<h2 id="wersja-2-0-11">Wersja 2.0.11</h2>
<ul>
@@ -75,9 +163,9 @@
</ul>
<h2 id="wersja-2-0-10">Wersja 2.0.10</h2>
<ul>
-<li>Naprawiono błędy i refaktoryzowano kod</li>
+<li>Naprawiono błędy i przebudowano kod</li>
<li>Ulepszono strony pomocy i dodano stronę informacji o Chorusie</li>
-<li>Dodano zrzuty ekranu do pliku readme</li>
+<li>Dodano zrzuty ekranu do pliku dokumentacji</li>
<li>Ulepszono mechanizm budowania</li>
</ul>
<h2 id="wersja-2-0-9">Wersja 2.0.9</h2>
@@ -86,7 +174,7 @@
</ul>
<h2 id="wersja-2-0-8">Wersja 2.0.8</h2>
<ul>
-<li>Dodano obsługę wielu języków do modułu pomocy oraz mechanizm parsowania znaczników MD</li>
+<li>Dodano obsługę wielu języków do modułu pomocy oraz mechanizm przetwarzania znaczników MD</li>
<li>Zmieniono strukturę plików tłumaczeń</li>
<li>Ulepszono narzędzia deweloperskie służące do budowania dodatku</li>
<li>Dodano drobne poprawki i ulepszenia</li>
@@ -98,14 +186,14 @@
<li>Naprawiono przełączanie widoczności pilota #39</li>
<li>Ulepszono stronę ustawień (wybór dodatku)</li>
<li>Dodano mechanizm wyświetlania fototapety w tle odtwarzacza</li>
-<li>Dodano kod formatujący do przedlądarki plików i dodatków</li>
+<li>Dodano kod formatujący do przeglądarki plików i dodatków</li>
<li>Poprawiono odtwarzanie wideo w trybie Kodi i przeglądarki #11</li>
<li>Poprawiono wyświetlanie menu ekranowego Kodi podczas odtwarzania #57</li>
</ul>
<h2 id="wersja-2-0-6">Wersja 2.0.6</h2>
<ul>
<li>Ulepszono przeglądarkę ustawień</li>
-<li>Dodano style mechanizmu skalowania dla listy alumów</li>
+<li>Dodano style mechanizmu skalowania dla listy albumów</li>
<li>Dodano drobne poprawki i ulepszenia</li>
</ul>
<h2 id="wersja-2-0-5">Wersja 2.0.5</h2>
@@ -120,7 +208,7 @@
</ul>
<h2 id="wersja-2-0-3">Wersja 2.0.3</h2>
<ul>
-<li>Zaktualizowano akrusz stylów i mechanizmy responsywności przeglądarki plików</li>
+<li>Zaktualizowano arkusz stylów i mechanizmy skalowania interfejsu w przeglądarce plików</li>
<li>Dodano tłumaczenie na język holenderski #56</li>
<li>Poprawiono połączenia WebSocket w przypadku komunikacji SSL #54</li>
<li>Poprawiono drobne błędy</li>
@@ -131,7 +219,7 @@
</ul>
<h2 id="wersja-2-0-1">Wersja 2.0.1</h2>
<ul>
-<li>Zaktualizowano plik Readme oraz mechanizm responsywności</li>
+<li>Zaktualizowano plik dokumentacji oraz mechanizm skalowania interfejsu</li>
<li>Dodano instalacyjny plik ZIP dodatku</li>
</ul>
<h2 id="wersja-2-0-0">Wersja 2.0.0</h2>
diff --git a/addons/webinterface.default/lang/pl/app-readme.html b/addons/webinterface.default/lang/pl/app-readme.html
index a0f4195034..167960c93a 100644
--- a/addons/webinterface.default/lang/pl/app-readme.html
+++ b/addons/webinterface.default/lang/pl/app-readme.html
@@ -1,7 +1,7 @@
<h1 id="chorus-2-0-interfejs-webowy-kodi">Chorus 2.0 - interfejs webowy Kodi</h1>
-<p>Domyślny interfejs webowy dla Kodi.</p>
-<p>Nowoczesny webowy interfejs użytkownika dla programu Kodi. Umożliwia komfortowe przeglądanie biblioteki
-Muzyki, Filmów i Seriali przy pomocy przeglądarki internetowej.
+<p>Domyślny interfejs webowy Kodi.</p>
+<p>Nowoczesny webowy interfejs użytkownika dla Kodi. Umożliwia komfortowe przeglądanie biblioteki Muzyki,
+Filmów i Seriali przy pomocy przeglądarki internetowej.
Umożliwia odtwarzanie mediów bezpośrednio w Kodi lub ich transmisję do przeglądarki.
Odtwarzanie transmitowanych mediów najlepiej działa w przeglądarce Chrome, aczkolwiek
nie powinno być żadnych problemów z większością nowoczesnych przeglądarek.</p>
@@ -10,61 +10,85 @@ Kompletnie przebudowany, bazujący na bibliotekach Coffee Script, Backbone, Mari
<h2 id="autor">Autor</h2>
<p><a href="http://jez.me">Jeremy Graham</a> z pomocą <a href="https://github.com/xbmc/chorus2/graphs/contributors">tych osób</a></p>
<h2 id="aktualny-stan">Aktualny stan</h2>
-<p>Prace na dodatkiem są zaawansowane, większość rzeczy działa poprawnie. Pozostałe funkcje wymagają jeszcze <a href="https://github.com/xbmc/chorus2/issues">odrobiny pracy</a>.</p>
+<p>Całkiem dobry, większość rzeczy działa poprawnie. Inne rzeczy potrzebują <a href="https://github.com/xbmc/chorus2/issues">dopracowania/dokończenia/naprawienia</a>.
+Oprogramowanie ciągle w fazie beta, możliwe błędy, zmiany, wojna nuklearna, etc.</p>
<h2 id="uruchomienie-interfejsu">Uruchomienie interfejsu</h2>
-<p>Zastrzeżenie: Oprogramowanie w fazie beta, możliwe błędy, zmiany, wojna nuklearna, etc.</p>
-<h3 id="instalowanie">Instalowanie</h3>
-<p>Instalacja przy pomocy pliku ZIP jest najprostszym rozwiązaniem. Pobierz najnowszą wersję dodatku ze <a href="https://github.com/xbmc/chorus2/releases">strony wydań</a> i zainstaluj go <a href="http://kodi.wiki/view/Add-on_manager#How_to_install_from_a_ZIP_file">w opisany sposób</a></p>
+<p>W przypadku Kodi w wersji 17, Chorus jest dostępny zaraz po zainstalowaniu Kodi, musisz go tylko aktywować i zaznaczyć
+kilka opcji.</p>
<h3 id="konfiguracja">Konfiguracja</h3>
<ul>
-<li>Kodi &gt; System &gt; Ustawienia &gt; Usługi</li>
-<li>Sterowanie<ul>
-<li>Aktywuj opcję &quot;Zezwalaj lokalnym programom na sterowanie aplikacją&quot;</li>
-<li>Aktywuj opcję &quot;Zezwalaj zdalnym programom na sterowanie aplikacją&quot;</li>
-</ul>
+<li><p>Kodi &gt; System &gt; Ustawienia &gt; Usługi</p>
</li>
-<li>Serwer WWW<ul>
-<li>Aktywuj opcję &quot;Zezwalaj na zdalne sterowanie przez HTTP&quot;</li>
-<li>Wybierz &quot;Interfejs webowy&quot;</li>
-<li>Wybierz &quot;Chorus&quot;</li>
-</ul>
+<li><p>Aktywuj opcję &quot;Zezwalaj na zdalne sterowanie przez HTTP&quot;</p>
</li>
+<li>Wybierz interfejs webowy</li>
+<li>Wybierz &quot;Kodi web interface - Chorus2&quot;</li>
+<li>Aktywuj opcję &quot;Zezwalaj lokalnym programom na sterowanie aplikacją&quot;</li>
+<li>Aktywuj opcję &quot;Zezwalaj zdalnym programom na sterowanie aplikacją&quot;</li>
</ul>
-<h2 id="b-dy-funkcjonalno-ci">Błędy / Funkcjonalności</h2>
-<p>Dodaj je do aktualnej <a href="https://github.com/xbmc/chorus2/issues">listy zagadnień</a></p>
+<p><strong>Ze względów bezpieczeństwa powinieneś ustawić nazwę użytkownika i hasło, aby zapobiec nieautoryzowanemu dostępowi</strong></p>
+<h3 id="instalacja-manualna">Instalacja manualna</h3>
+<p>W przypadku Kodi w wersji 16 i starszych lub gdy chcesz natychmiast korzystać z najnowszej wersji, instalacja
+przy pomocy pliku ZIP jest najprostszym rozwiązaniem. Pobierz najnowszą wersję <code>webinterface.default.2.X.X.zip</code>
+ze <a href="https://github.com/xbmc/chorus2/releases">strony wydań</a>, a następnie zainstaluj ją w <a href="http://kodi.wiki/view/Add-on_manager#How_to_install_from_a_ZIP_file">opisany sposób</a>.
+<strong>UWAGA:</strong> Chorus2 jest przeznaczony do używania z najnowszą wersją Kodi i niektóre (lub wszystkie) funkcje,
+z powodu zmian w API, mogą nie działać ze starszymi wersjami Kodi.</p>
+<h3 id="u-ywanie">Używanie</h3>
+<p>Skieruj swoją przeglądarkę na adres <code>http://localhost:8080</code> - zastąp adres <code>localhost</code> adresem zdalnego systemu, jeśli
+korzystasz z Kodi na nim zainstalowanego, a w przypadku zmiany domyślnego numeru portu, na inny niż <code>8080</code>, zmień
+go także. Więcej informacji na ten temat i opis zaawansowanego użycia może znaleźć na <a href="http://kodi.wiki/view/Web_interface">stronach Wiki Kodi</a>.</p>
+<h2 id="zg-oszenia-b-dy">Zgłoszenia / Błędy</h2>
+<p>Dodaj je do aktualnej <a href="https://github.com/xbmc/chorus2/issues">listy zagadnień</a>. Zgłaszając błędy zawrzyj informacje
+o wersji Kodi, wersji przeglądarki internetowej, wersji Chorusa i jakiekolwiek błędy pojawiąjące się w konsoli
+przeglądarki. Zgłaszając prośby o funkcje, sprawdź w przeglądarce API, czy realizacja Twojej prośby jest w ogóle
+możliwa.</p>
<h2 id="transmitowanie">Transmitowanie</h2>
<p>Zastrzeżenie: Powodzenie odtwarzania zależy od wspieranych przez przeglądarkę formatów plików.
W większości przypadków nie powinno być z tym żadnych problemów.</p>
<h3 id="transmisja-d-wi-ku">Transmisja dźwięku</h3>
-<p>W prawym górnym roku znajdują się różne zakładki, w tym dwie o nazwie Kodi i Lokalnie, które służą do przełączania
-się między odtwarzaniem mediów w Kodi i przeglądarce. W trybie Lokalnie logo i etykieta są w kolorze wiśniowym, a
-w trybie Kodi niebieskie. W poszczególnych trybach wykonywane operacje przekazywane są do aktualnego odtwarzacza,
-więc naciśnięcie przycisku Odtwarzaj w trybie Lokalnie, spowoduje rozpoczęcie odtwarzania w przeglądarce. Podobnie
-sprawa wygląda z trybem Kodi, w którym naciśnięcie przycisku Odtwarzaj spowoduje rozpoczęcie odtwarzania w Kodi.
-Isnieje także możliwość, dla większości typów mediów, dodania ich do innych list odtwarzania, za pomocą przycisków
-dostępnych po wybraniu odpowiedniego menu na pasku odtwarzacza (trzy pionowe kropki).</p>
+<p>W prawym górnym roku znajdują się różne zakładki, w tym dwie o nazwie Kodi i Przeglądarka, które służą do
+przełączania się między odtwarzaniem mediów w Kodi i przeglądarce. W trybie Lokalnie logo i etykieta są w kolorze
+wiśniowym, a w trybie Kodi niebieskie. W poszczególnych trybach wykonywane operacje przekazywane są do aktualnego
+odtwarzacza, więc naciśnięcie przycisku Odtwarzaj w trybie Lokalnie, spowoduje rozpoczęcie odtwarzania w przeglądarce.
+Podobnie sprawa wygląda z trybem Kodi, w którym naciśnięcie przycisku Odtwarzaj, spowoduje rozpoczęcie odtwarzania
+w Kodi. Istnieje także możliwość, dla większości typów mediów, dodania ich do innych list odtwarzania, za pomocą
+przycisków dostępnych po wybraniu odpowiedniego menu na pasku odtwarzacza (trzy pionowe kropki).</p>
<h3 id="transmisja-wideo">Transmisja wideo</h3>
<p>Odtwarzanie transmisji wideo przy pomocy HTML5 &quot;prawie działa&quot;, tak naprawdę wszystko zależy od użytego kodeka.
Dodatkowe możliwości oferuje wtyczka odtwarzacza VLC, który posiada lepszą obsługę kodeków.
-Do czasu dodania do Kodi funkcji transkodowania, jest to wszystko co można uzyskać.
+Do czasu dodania do Kodi funkcji transkodowania, to wszystko co można uzyskać.
<strong>Użytkownicy Chrome</strong>: Z przeglądarki Chrome usunięto obsługę wtyczek VLC/DivX, więc transmisja wideo wymaga
-kodeka obsługiwanego przez <a href="https://en.wikipedia.org/wiki/HTML5_video#Browser_support">Chrome</a>.</p>
+kodeka natywnie obsługiwanego przez <a href="https://pl.wikipedia.org/wiki/Audio_i_Video_API#Browser_support">Chrome</a>.</p>
+<p>Najlepszy efekt można uzyskać używając przeglądarki Chrome, w kombinacji z plikami wideo w formacie MP4 i dwukanałową
+ścieżką dźwiękową (ścieżki dźwiękowe w formacie 5.1 nie są poprawnie odtwarzane).</p>
<h2 id="konfiguracja-kodi-przy-pomocy-interfejsu-webowego">Konfiguracja Kodi przy pomocy interfejsu webowego</h2>
-<p>Możesz zmienić większość ustawień Kodi za pomocą dedykowanej strony ustawień w interfejsie webowym.
-Niektórych ustawień może brakować, gdyż wymagają one interacji użytkownika w natywnym interfejsie Kodi,
-inne natomiast, są tylko podstawowymi polami tekstowymi, bez żadnych dostępnych opcji.</p>
+<p>Za pomocą dedykowanej strony ustawień w interfejsie webowym, możesz zmienić większość ustawień Kodi.
+Niektórych ustawień może brakować, gdyż wymagają one interakcji użytkownika w natywnym interfejsie Kodi,
+inne natomiast są tylko podstawowymi polami tekstowymi, bez żadnych dostępnych opcji.</p>
+<h2 id="przegl-darka-api-kodi">Przeglądarka API Kodi</h2>
+<p>W Chorusie istnieje ukryta funkcja, która umożliwia zabawę z interfejsem programistycznym Kodi za pomocą metod
+interfejsu JSON-RPC i sprawdzenie co jest możliwe. Jeśli tworzysz aplikację lub dodatek, który korzysta z API, ta
+funkcja może się okazać bardzo użyteczna, podczas odkrywania i testowania wszystkich dostępnych metod i typów.
+Jeśli myślisz o nowej funkcji Chorusa, przeglądarka API jest idealnym miejscem, aby przetestować czy w ogóle jest
+możliwe jej wdrożenie (i umożliwienie szybkiej rozbudowy przez dodanie działające przykładu dla zagadnienia).
+Przeglądarkę API odnajdziesz w &quot;Laboratorium Chorusa&quot; (przycisk z trzema kropkami na dolnym pasku) lub bezpośrednio
+poprzez skierowanie przeglądarki internetowej na adres <code>http://localhost:8080/#lab/api-browser</code>.</p>
<h2 id="wsp-udzia-">Współudział</h2>
<p>Jeśli chciałbyś wesprzeć rozwoju projektu, będę wdzięczny za każdą pomoc.
-Pamiętaj proszę, aby modyfikacje kodu, dodawane za pomocą Pull Request, znajdowany się w gałęzi <code>develop</code>.</p>
+Pamiętaj, aby modyfikacje kodu dodawane za pomocą funkcji Pull Request, znajdowany się w gałęzi <code>develop</code>.
+Z przyjemnością pomogę każdemu, kto chciałbym wspomóc mnie w pracach, w uruchomieniu środowiska deweloperskiego.</p>
<h3 id="t-umaczenia">Tłumaczenia</h3>
<p>Znam tylko język angielski, więc niezbędna będzie Wasza pomoc przy tłumaczeniu.
-Mimo, że nie wiem wszystkiego na temat obsługi języków przez JavaScript, to dzięki pomocy @mizaki mamy gotowe mechanizmy obsługi
-wielu języków. Z tego powodu, tłumaczenie interfejsu użytkownika nie powinno nastręczać problemów.</p>
-<p>Aktualnie dostępne są tłumaczenia dla 5 języków (angielskiego, francuskiego, niemieckiego, holenderskiego, chińskiego), ale nowe
-mogą zostać z łatwością dodane. Jeśli chcesz dodać własne tłumaczenie, stwórz dla niego nową gałąź, a następnie skorzystaj
-z funkcji Pull Request do gałęzi <code>develop</code>. Jeśli nie potrafisz posługiwać się GITem, prześlij mi łącze z plikiem tłumaczenia.</p>
+Mimo, że nie wiem wszystkiego na temat obsługi języków przez JavaScript, to dzięki pomocy @mizaki mamy gotowe mechanizmy
+obsługi wielu języków. Z tego powodu, tłumaczenie interfejsu użytkownika nie powinno nastręczać problemów.</p>
+<p>Aktualnie dostępne są tłumaczenia dla <a href="https://github.com/xbmc/chorus2/tree/master/src/lang/_strings">kilku</a> języków, ale
+kolejne mogą zostać z łatwością dodane. Kolejne wyrażenia są sukcesywnie dodawane, więc słownik wyrażeń
+w języku angielskim, należy traktować jako referencyjne źródło dla tłumaczeń.</p>
+<p>Jeśli widzisz coś w języku angielskim, a chciałbyś to zobaczyć w swoim ojczystym języku, potrzebujemy Twojej pomocy!
+Jeśli chcesz dodać własne tłumaczenie, stwórz dla niego nową gałąź, a następnie skorzystaj z funkcji Pull Request do gałęzi <code>develop</code>.
+Jeśli nie potrafisz posługiwać się GITem, prześlij mi łącze do plików z tłumaczeniem.</p>
<p>Pliki tłumaczeń są dostępne <a href="https://github.com/xbmc/chorus2/tree/master/src/lang">tutaj</a>.
-Pliki języka angielskiego są jedynymi kompletnymi źródłami, które powinieneś używać w trakcie tłumaczenia na inny język.</p>
+<em>Pliki języka angielskiego są jedynymi kompletnymi źródłami, które powinieneś używać w trakcie tłumaczenia na swój język.</em></p>
<h3 id="kompilowanie">Kompilowanie</h3>
<p>Do kompilowania arkuszy CSS i skryptów JavaScript, w ramach dystrybucji, używane są Sass i Grunt.
W celu skonfigurowania swojego środowiska wymagana jest instalacja <a href="http://bundler.io">Bundlera</a> i <a href="https://www.npmjs.org/">npm</a>.</p>
@@ -82,19 +106,24 @@ narzędzia znajdują się w przyborniku.</p>
</ul>
<h2 id="wsparcie">Wsparcie</h2>
<p>Jesteś fanem Chorusa? Możesz <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=ZCGV976794JHE&amp;lc=AU&amp;item_name=Chorus%20Beer%20Fund&amp;currency_code=AUD&amp;bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted">zasponsorować</a> Jeremy&#39;iemu piwo, aby okazać swoją wdzięczność. :)</p>
+<h2 id="license">License</h2>
+<p>Chorus jest udostępniany na licencji Creative Commons Uznanie autorstwa - Na tych samych warunkach 3.0 Stany Zjednoczone.
+<a href="https://github.com/xbmc/chorus2/blob/master/src/lang/en/license.md">Naciśnij tutaj, aby dowiedzieć się więcej</a>.</p>
<h2 id="zrzuty-ekranu">Zrzuty ekranu</h2>
<h3 id="strona-startowa-teraz-odtwarzane-">Strona startowa (Teraz odtwarzane)</h3>
-<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/now-playing.jpg" alt="alt text" title="Homepage/Now Playing"></p>
+<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/now-playing.jpg" alt="alt text" title="Strona startowa/Teraz odtwarzane"></p>
<h3 id="wyniki-wyszukiwania">Wyniki wyszukiwania</h3>
-<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/search.jpg" alt="alt text" title="Search"></p>
+<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/search.jpg" alt="alt text" title="Wyszukiwanie"></p>
<h3 id="wykonawcy">Wykonawcy</h3>
-<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/artists.jpg" alt="alt text" title="Artists"></p>
-<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist//screenshots/artist.jpg" alt="alt text" title="Artist"></p>
+<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/artists.jpg" alt="alt text" title="Wykonawcy"></p>
+<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist//screenshots/artist.jpg" alt="alt text" title="Wykonawca"></p>
<h3 id="biblioteka-wideo">Biblioteka wideo</h3>
-<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/tv.jpg" alt="alt text" title="TV"></p>
+<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/tv.jpg" alt="alt text" title="Seriale"></p>
<h3 id="filtrowanie">Filtrowanie</h3>
-<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/movie.jpg" alt="alt text" title="Movies"></p>
+<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/movie.jpg" alt="alt text" title="Filmy"></p>
<h3 id="ustawienia">Ustawienia</h3>
-<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/settings.jpg" alt="alt text" title="Settings"></p>
+<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/settings.jpg" alt="alt text" title="Ustawienia"></p>
<h3 id="dodatki">Dodatki</h3>
-<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/addons.jpg" alt="alt text" title="Add-ons"></p>
+<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/addons.jpg" alt="alt text" title="Dodatki"></p>
+<h3 id="edycja-medi-w">Edycja mediów</h3>
+<p><img src="https://raw.githubusercontent.com/xbmc/chorus2/master/dist/screenshots/edit-media.jpg" alt="alt text" title="Edycja mediów"></p>
diff --git a/addons/webinterface.default/lang/pl/help-overview.html b/addons/webinterface.default/lang/pl/help-overview.html
index f272a1c55e..e58ef0df3f 100644
--- a/addons/webinterface.default/lang/pl/help-overview.html
+++ b/addons/webinterface.default/lang/pl/help-overview.html
@@ -33,9 +33,9 @@ Bardzo ważne jest to, abyś dostarczył możliwie jak największą ilość info
<li><strong>A gdy jesteś prawdziwym bohaterem</strong> - gotową łatkę, którą można dołączyć do kodu aplikacji, za pomocą funkcji Pull Request :)</li>
</ul>
<h3 id="nowe-pomys-y">Nowe pomysły</h3>
-<p>Masz fajny pomysł lub listę życzeń z funkcjami Chorusa? Możesz je dodać do listy zagadanień, a nawet możesz
+<p>Masz fajny pomysł lub listę życzeń z funkcjami Chorusa? Możesz je dodać do listy zagadnień, a nawet możesz
przesłać gotowe modyfikacje do repozytorium <a href="https://github.com/xbmc/chorus2/issues">GitHuba</a>, wykorzystując
funkcji Pull Request.</p>
<h2 id="powiedz-mi-wi-cej">Powiedz mi więcej</h2>
-<p>Na początku zajrzyj do <a href="#help/app-readme">readme</a>, przejrzyj listę zmian pomiędzy wersjami w <a href="#help/app-changelog">changelog</a>
-albo pomóż w procesie tłumaczenia <a href="#help/app-changelog">translations</a>.</p>
+<p>Na początku zajrzyj do <a href="#help/app-readme">dokumentacji</a>, przejrzyj listę zmian pomiędzy wersjami w <a href="#help/app-changelog">dzienniku zmian</a>
+albo pomóż w procesie <a href="#help/lang-readme">tłumaczenia</a>.</p>
diff --git a/addons/webinterface.default/lang/pl/lang-readme.html b/addons/webinterface.default/lang/pl/lang-readme.html
new file mode 100644
index 0000000000..6eba56ff3d
--- /dev/null
+++ b/addons/webinterface.default/lang/pl/lang-readme.html
@@ -0,0 +1,57 @@
+<h1 id="t-umaczenia">Tłumaczenia</h1>
+<p>Mechanizm aktualizacji plików tłumaczeń, wymaga odrobiny wiedzy na temat systemu
+kontroli wersji GIT. Ta strona zawiera informacje o strukturze plików tłumaczeń.</p>
+<h2 id="gdzie-znajduj-si-pliki-dla-danego-j-zyka-">Gdzie znajdują się pliki dla danego języka?</h2>
+<p>Pliki tłumaczeń znajdują się w dwóch miejscach. LANG_CODE - dwuliterowy, niepowtarzalny
+kod dla każdego języka. Np.: en, fr, de, pl</p>
+<h3 id="wyra-enia">Wyrażenia</h3>
+<p><code>src/lang/_strings/LANG_CODE.po</code></p>
+<ul>
+<li>Powyższe wyrażenia są używane w całej aplikacji. Należy przetłumaczyć tylko tekst
+znajdujący się w cudzysłowie, za słowem kluczowym <code>msgstr</code>.</li>
+<li>W przypadku, gdy brakuje linijki z wyrażeniem <code>msgstr</code>, skopiuj ją z pliku en.po
+i przetłumacz treść w cudzysłowie. Np. pl.po.<pre><code>msgctxt <span class="hljs-string">""</span>
+msgid <span class="hljs-string">"Select a filter"</span>
+msgstr <span class="hljs-string">"Wybierz filtr"</span>
+</code></pre></li>
+</ul>
+<h3 id="strony">Strony</h3>
+<p><code>src/lang/LANG_CODE/PAGE.md</code></p>
+<ul>
+<li>W tym miejscu znajdują się całe strony, które wymagają tłumaczenia.</li>
+<li>Strony te zostały stworzone w języku znaczników <a href="https://pl.wikipedia.org/wiki/Markdown">Markdown</a>.</li>
+<li>W przypadku, gdy nie istnieje jeszcze strona <em>PAGE</em>.md dla Twojego języka, to należy ją skopiować
+z folderu <code>en</code>, a następnie zmodyfikować.</li>
+<li>Twórz tylko strony <em>PAGE</em>.md dla kompleksowych tłumaczeń</li>
+</ul>
+<h2 id="dodawanie-nowego-j-zyka">Dodawanie nowego języka</h2>
+<p><strong>Przykład:</strong> Jeśli nowym językiem tłumaczenia jest język <code>polski</code> to jego <em>LANG_CODE</em> jest równy <code>pl</code>.</p>
+<h3 id="poinformuj-aplikacj-o-zmianach">Poinformuj aplikację o zmianach</h3>
+<p>Wymagane jest poinformowanie aplikacji o dostępności nowego języka. W tym celu musisz
+zmodyfikować plik <code>/src/js/helpers/translate.js.coffee</code> i dodać <code>pl: &quot;Polski&quot;</code> do listy
+języków w funkcji <code>getLanguages</code>.</p>
+<h3 id="powielanie-struktury-folderu-plik-w-z-j-zyka-angielskiego">Powielanie struktury folderu/plików z języka angielskiego</h3>
+<p>Skopiuj pliki, które chcesz przetłumaczyć na nowy język:</p>
+<ul>
+<li><strong>Wyrażenia:</strong> skopiuj <code>/src/_strings/en.po</code> do <code>/src/_strings/pl.po</code></li>
+<li><strong>Strony:</strong> skopiuj <code>/src/en/readme.md</code> do <code>/src/pl/readme.md</code></li>
+</ul>
+<h2 id="testowanie">Testowanie</h2>
+<p>Testowanie zmiany wymaga zbudowania aplikacji, aczkolwiek w przypadku postępowania w ramach
+istniejącej struktury, nie powinno to być potrzebne.</p>
+<p>Jeśli naprawdę chcesz przetestować zmiany w aplikacji, możesz to zrobić następująco:</p>
+<ol>
+<li>Upewnij się, że <code>nodejs</code>, <code>npm</code> są zainstalowane</li>
+<li>Przejdź do folderu Chorusa<code>cd /chorus/folder</code></li>
+<li>Uruchom <code>npm install</code> (tylko za pierwszym razem)</li>
+<li>Wykonaj <code>grunt lang</code> (to polecenie przebuduje tylko tłumaczenia w folderze <code>dist/lang</code>)</li>
+<li>Odśwież interfejs Chorusa</li>
+</ol>
+<h2 id="dzia-anie-awaryjne">Działanie awaryjne</h2>
+<p>Mechanizm obsługi języków powinien awaryjnie wyświetlać wyrażenia w języku angielskim
+chyba, że w pliku dla aktywnego języka znajduje się już wyrażenie dla danego <code>msgid</code>
+albo strona dla danego kodu języka <code>LANG_CODE/PAGE.md</code> istnieje.</p>
+<h2 id="przesy-anie-aktualizacji">Przesyłanie aktualizacji</h2>
+<p>Najlepszym sposobem na przesłanie aktualizacji, jest wykorzystanie funkcji Pull Request, dla zmianach
+znajdujących się w dedykowanej gałęzi repozytorium <a href="https://github.com/jez500/chorus2">GitHuba</a>.
+Aczkolwiek dopuszczam przesyłanie aktualizacji za pomocą innych metod, np. łączą do plików z tłumaczeniem.</p>
diff --git a/addons/webinterface.default/lang/pl/license.html b/addons/webinterface.default/lang/pl/license.html
new file mode 100644
index 0000000000..e4a04edd1c
--- /dev/null
+++ b/addons/webinterface.default/lang/pl/license.html
@@ -0,0 +1,18 @@
+<h1 id="licencja-chorusa">Licencja Chorusa</h1>
+<p>Licencja i informacje prawne o Chorusie - interfejsie webowym Kodi.</p>
+<h2 id="licencja-creative-commons-uznanie-autorstwa-na-tych-samych-warunkach-3-0-stany-zjednoczone">Licencja Creative Commons Uznanie autorstwa - Na tych samych warunkach 3.0 Stany Zjednoczone</h2>
+<p>Ten program jest udostępniany na licencji Creative Commons Uznanie autorstwa - Na tych samych warunkach 3.0 Stany Zjednoczone.</p>
+<p><a href="http://creativecommons.org/licenses/by-sa/3.0/us/">Naciśnij tutaj, aby zobaczyć kopię tej licencji</a> lub wyślij list do
+organizacji Creative Common na adres: 171 Second Street, Suite 300, San Francisco, California, 94105,
+Stany Zjednoczone.</p>
+<h2 id="wykorzystane-obrazy">Wykorzystane obrazy</h2>
+<p>Wszystkie obrazy użyte w Chorusie są udostępniane na licencji <a href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons Zero</a>
+co oznacza, że możesz je kopiować, modyfikować, dystrybuować i używać za darmo. Pochodzą z następujących źródeł:</p>
+<ul>
+<li><a href="https://unsplash.com">Unsplash</a> - <a href="https://unsplash.com/license">Licencja CC0</a></li>
+<li><a href="https://www.pexels.com">Pexels</a> - <a href="https://www.pexels.com/photo-license/">Licencja CC0</a></li>
+</ul>
+<p>Pozostałe obrazy i animacje GIF zostały wykonane własnoręcznie przez <a href="http://jez.me">Jeremy&#39;iego Grahama</a></p>
+<h2 id="wykorzystane-biblioteki">Wykorzystane biblioteki</h2>
+<p><a href="https://github.com/xbmc/chorus2/tree/master/src/lib">Naciśnij tutaj</a>, aby przejrzeć listę wykorzystanych przez Chorusa
+bibliotek i powiązane z nimi licencje.</p>
diff --git a/addons/webinterface.default/lib/icons/icomoon.json b/addons/webinterface.default/lib/icons/icomoon.json
new file mode 100644
index 0000000000..f35f7d9d4b
--- /dev/null
+++ b/addons/webinterface.default/lib/icons/icomoon.json
@@ -0,0 +1,89 @@
+{
+ "icomoon-google": "google",
+ "icomoon-home": "home",
+ "icomoon-pencil": "pencil",
+ "icomoon-image": "image",
+ "icomoon-music2": "music2",
+ "icomoon-headphones": "headphones",
+ "icomoon-play": "play",
+ "icomoon-film": "film",
+ "icomoon-camera": "camera",
+ "icomoon-pacman": "pacman",
+ "icomoon-tag": "tag",
+ "icomoon-tags": "tags",
+ "icomoon-location": "location",
+ "icomoon-screen": "screen",
+ "icomoon-mobile": "mobile",
+ "icomoon-tv": "tv",
+ "icomoon-bubble": "bubble",
+ "icomoon-bubbles": "bubbles",
+ "icomoon-user": "user",
+ "icomoon-spinner": "spinner",
+ "icomoon-search": "search",
+ "icomoon-key": "key",
+ "icomoon-settings": "settings",
+ "icomoon-cog": "cog",
+ "icomoon-stats": "stats",
+ "icomoon-switch": "switch",
+ "icomoon-tree": "tree",
+ "icomoon-cloud": "cloud",
+ "icomoon-earth": "earth",
+ "icomoon-link": "link",
+ "icomoon-attachment": "attachment",
+ "icomoon-star": "star",
+ "icomoon-star2": "star2",
+ "icomoon-heart": "heart",
+ "icomoon-heart2": "heart2",
+ "icomoon-smiley": "smiley",
+ "icomoon-smiley2": "smiley2",
+ "icomoon-info": "info",
+ "icomoon-checkmark": "checkmark",
+ "icomoon-arrow-right": "arrow right",
+ "icomoon-arrow-left": "arrow left",
+ "icomoon-arrow-right2": "arrow right2",
+ "icomoon-arrow-left2": "arrow left2",
+ "icomoon-share": "share",
+ "icomoon-googleplus": "googleplus",
+ "icomoon-facebook": "facebook",
+ "icomoon-twitter": "twitter",
+ "icomoon-feed": "feed",
+ "icomoon-feed2": "feed2",
+ "icomoon-youtube": "youtube",
+ "icomoon-picasa": "picasa",
+ "icomoon-github": "github",
+ "icomoon-github2": "github2",
+ "icomoon-github3": "github3",
+ "icomoon-tux": "tux",
+ "icomoon-apple": "apple",
+ "icomoon-android": "android",
+ "icomoon-windows8": "windows8",
+ "icomoon-paypal": "paypal",
+ "icomoon-file-zip": "file zip",
+ "icomoon-file-css": "file css",
+ "icomoon-imdb": "imdb",
+ "icomoon-flatscreen": "flatscreen",
+ "icomoon-clapperboard": "clapperboard",
+ "icomoon-kodi-symbol": "kodi symbol",
+ "icomoon-kodi-text": "kodi text",
+ "icomoon-linux": "linux",
+ "icomoon-music": "music",
+ "icomoon-pi": "pi",
+ "icomoon-network": "network",
+ "icomoon-rss": "rss",
+ "icomoon-statistics": "statistics",
+ "icomoon-pie": "pie",
+ "icomoon-minus": "minus",
+ "icomoon-plus": "plus",
+ "icomoon-info2": "info2",
+ "icomoon-question": "question",
+ "icomoon-help": "help",
+ "icomoon-warning": "warning",
+ "icomoon-list": "list",
+ "icomoon-flow-tree": "flow tree",
+ "icomoon-arrow-left3": "arrow left3",
+ "icomoon-arrow-right3": "arrow right3",
+ "icomoon-arrow-left4": "arrow left4",
+ "icomoon-arrow-right4": "arrow right4",
+ "icomoon-arrow-left5": "arrow left5",
+ "icomoon-uniE654": "uniE654"
+} \ No newline at end of file
diff --git a/addons/webinterface.default/lib/icons/mdi.json b/addons/webinterface.default/lib/icons/mdi.json
index 0bfa0b16e7..6d33a9352c 100644
--- a/addons/webinterface.default/lib/icons/mdi.json
+++ b/addons/webinterface.default/lib/icons/mdi.json
@@ -600,7 +600,7 @@
"mdi-image-wb-auto": "image wb-auto",
"mdi-image-wb-cloudy": "image wb-cloudy",
"mdi-image-wb-incandescent": "image wb-incandescent",
- "mdi-image-wb-irradescent": "image wb-irradescent",
+ "mdi-image-wb-iridescent": "image wb-iridescent",
"mdi-image-wb-sunny": "image wb-sunny",
"mdi-maps-beenhere": "maps beenhere",
"mdi-maps-directions": "maps directions",
diff --git a/addons/webinterface.default/screenshots/edit-media.jpg b/addons/webinterface.default/screenshots/edit-media.jpg
new file mode 100644
index 0000000000..0bc3af6f93
--- /dev/null
+++ b/addons/webinterface.default/screenshots/edit-media.jpg
Binary files differ
diff --git a/addons/webinterface.default/screenshots/search.jpg b/addons/webinterface.default/screenshots/search.jpg
index 3b89902ae5..c308ed118f 100644
--- a/addons/webinterface.default/screenshots/search.jpg
+++ b/addons/webinterface.default/screenshots/search.jpg
Binary files differ
diff --git a/addons/webinterface.default/themes/base/css/base.css b/addons/webinterface.default/themes/base/css/base.css
index ae7902c954..55b3b0a8b5 100644
--- a/addons/webinterface.default/themes/base/css/base.css
+++ b/addons/webinterface.default/themes/base/css/base.css
@@ -34,29 +34,29 @@ fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%
@media (max-width: 767px){.hidden-xs{display:none !important}}@media (min-width: 768px) and (max-width: 991px){.hidden-sm{display:none !important}}@media (min-width: 992px) and (max-width: 1199px){.hidden-md{display:none !important}}@media (min-width: 1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}
.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}
.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}
-@media print{.hidden-print{display:none !important}}.shadow-z-1,.card,.snackbar,.landing-page .region-content h3{box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}.shadow-z-2,.well,.jumbotron,.btn-raised,.btn-group,.btn-group-vertical,.btn-group.btn-group-raised,.btn-group-vertical.btn-group-raised,.modal-content{box-shadow:0 0px 14px -5px rgba(0,0,0,0.06),0 6px 12px -6px rgba(0,0,0,0.13)}.shadow-z-2-hover,.btn:hover:not(.btn-link){box-shadow:0 3px 6px rgba(0,0,0,0.2),0 3px 6px rgba(0,0,0,0.28)}.shadow-z-3,.btn:active:not(.btn-link),.btn-raised:active:not(.btn-link),.btn-group:active:not(.btn-link),.btn-group-vertical:active:not(.btn-link),.btn-group.btn-group-raised:active:not(.btn-link),.btn-group-vertical.btn-group-raised:active:not(.btn-link){box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}.shadow-z-4,.btn-raised:hover,.btn-group:hover,.btn-group-vertical:hover,.btn-group.btn-group-raised:hover,.btn-group-vertical.btn-group-raised:hover{box-shadow:0 14px 28px rgba(0,0,0,0.25),0 10px 10px rgba(0,0,0,0.22)}.shadow-z-5{box-shadow:0 19px 38px rgba(0,0,0,0.3),0 15px 12px rgba(0,0,0,0.22)}body{background-color:#EEEEEE}body.inverse{background:#333333}body.inverse,body.inverse .form-control{color:rgba(255,255,255,0.84)}.well,.well .form-control,.well:not([class^="well well-material-"]),.well:not([class^="well well-material-"]) .form-control{color:rgba(0,0,0,0.84)}.well .floating-label,.well:not([class^="well well-material-"]) .floating-label{color:#7e7e7e}.well .form-control,.well:not([class^="well well-material-"]) .form-control{border-bottom-color:#7e7e7e}.well .form-control::-webkit-input-placeholder,.well:not([class^="well well-material-"]) .form-control::-webkit-input-placeholder{color:#7e7e7e}.well .form-control::-moz-placeholder,.well:not([class^="well well-material-"]) .form-control::-moz-placeholder{color:#7e7e7e;opacity:1}.well .form-control:-ms-input-placeholder,.well:not([class^="well well-material-"]) .form-control:-ms-input-placeholder{color:#7e7e7e}.well .option,.well .create,.well:not([class^="well well-material-"]) .option,.well:not([class^="well well-material-"]) .create{color:rgba(0,0,0,0.84)}[class^="well well-material-"],[class^="well well-material-"] .form-control,[class^="well well-material-"] .floating-label{color:rgba(255,255,255,0.84)}[class^="well well-material-"] .form-control{border-bottom-color:rgba(255,255,255,0.84)}[class^="well well-material-"] .form-control::-webkit-input-placeholder{color:rgba(255,255,255,0.84)}[class^="well well-material-"] .form-control::-moz-placeholder{color:rgba(255,255,255,0.84);opacity:1}[class^="well well-material-"] .form-control:-ms-input-placeholder{color:rgba(255,255,255,0.84)}[class^="well well-material-"] .option,[class^="well well-material-"] .create{color:rgba(0,0,0,0.84)}.well,.jumbotron{background-color:#fff;padding:19px;margin-bottom:20px;border-radius:2px;border:0}.well p,.jumbotron p{font-weight:300}.btn{position:relative;padding:8px 30px;border:0;margin:10px 1px;cursor:pointer;border-radius:2px;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,0.84);transition:box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);outline:none !important}.btn:hover{color:rgba(255,255,255,0.84)}.btn-link,.btn:not([class^="btn btn-"]),.btn-default{color:rgba(0,0,0,0.84)}.btn-link:hover,.btn:not([class^="btn btn-"]):hover,.btn-default:hover{color:rgba(0,0,0,0.84)}.btn:not([class^="btn btn-"]):hover,.btn-default:hover{background-color:rgba(255,255,255,0.5)}.btn-raised{transition:box-shadow transform 0.28s cubic-bezier(0.4, 0, 0.2, 1)}.btn-flat{box-shadow:none !important}.btn-flat.btn-default:hover{background:none}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus{background:#10a0cf;border-color:#10a0cf}.btn-group,.btn-group-vertical{position:relative;border-radius:4px;margin:10px 1px;transition:box-shadow transform 0.28s cubic-bezier(0.4, 0, 0.2, 1)}.btn-group.open .dropdown-toggle,.btn-group-vertical.open .dropdown-toggle{box-shadow:none}.btn-group.btn-group-raised,.btn-group-vertical.btn-group-raised{transition:box-shadow transform 0.28s cubic-bezier(0.4, 0, 0.2, 1)}.btn-group .btn,.btn-group .btn:active,.btn-group .btn-group,.btn-group-vertical .btn,.btn-group-vertical .btn:active,.btn-group-vertical .btn-group{box-shadow:none !important;margin:0}.btn-group .btn:active .caret,.btn-group-vertical .btn:active .caret{margin-left:-1px}.btn-group-flat{box-shadow:none !important}.btn-fab{margin:0;padding:15px;font-size:26px;width:56px;height:56px}.btn-fab,.btn-fab .ripple-wrapper{border-radius:100%}.btn-fab.btn-mini{width:40px;height:40px;padding:13px;font-size:15px}.btn-default{background-color:#fff}.btn-primary{background-color:#12b2e7}.btn-success{background-color:#0f9d58}.btn-info{background-color:#03a9f4}.btn-warning{background-color:#ff5722}.btn-danger{background-color:#f44336}.btn-material-red{background-color:#f44336}.btn-material-pink{background-color:#e91e63}.btn-material-purple{background-color:#9c27b0}.btn-material-deeppurple{background-color:#673ab7}.btn-material-indigo{background-color:#3f51b5}.btn-material-lightblue{background-color:#03a9f4}.btn-material-cyan{background-color:#00bcd4}.btn-material-teal{background-color:#009688}.btn-material-lightgreen{background-color:#8bc34a}.btn-material-lime{background-color:#cddc39}.btn-material-lightyellow{background-color:#ffeb3b}.btn-material-orange{background-color:#ff9800}.btn-material-deeporange{background-color:#ff5722}.btn-material-grey{background-color:#9e9e9e}.btn-material-bluegrey{background-color:#607d8b}.btn-material-brown{background-color:#795548}.btn-material-lightgrey{background-color:#ececec}.form-horizontal .checkbox{padding-top:15px}.checkbox{transform:rotate(0deg)}.checkbox label{cursor:pointer;padding-left:45px;position:relative}.checkbox label span{display:block;position:absolute;left:0px;transition-duration:0.2s}.checkbox label .check:after{display:block;position:absolute;content:"";background-color:rgba(0,0,0,0.84);left:-5px;top:-15px;height:50px;width:50px;border-radius:100%;z-index:1;opacity:0;margin:0}.checkbox label .check:before{display:block;content:"";border:2px solid rgba(0,0,0,0.84);height:20px;width:20px;transition-delay:0.2s}.checkbox input[type=checkbox]{opacity:0}.checkbox input[type=checkbox] ~ .check:before{position:absolute;top:2px;left:11px;width:18px;height:18px;border:solid 2px;border-color:#5a5a5a;animation:uncheck 300ms ease-out forwards}.checkbox input[type=checkbox]:focus ~ .check:after{opacity:0.2}.checkbox input[type=checkbox]:checked ~ .check:before{animation:check 300ms ease-out forwards}.checkbox input[type=checkbox]:not(:checked) ~ .check:after{animation:rippleOff 500ms linear forwards}.checkbox input[type=checkbox]:checked ~ .check:after{animation:rippleOn 500ms linear forwards}.checkbox:not(:hover) input[type=checkbox] ~ .check:before,.checkbox:not(:hover) input[type=checkbox] ~ .check:after{animation-duration:1ms}.checkbox input[type=checkbox][disabled]:not(:checked) ~ .check:before{opacity:0.5}.checkbox input[type=checkbox][disabled] ~ .check:after{background-color:rgba(0,0,0,0.84);transform:rotate(-45deg)}@keyframes uncheck{0%{top:-3px;left:17px;width:10px;height:21px;border-color:#0f9d58;border-left-color:transparent;border-top-color:transparent;transform:rotate(45deg)}50%{top:14px;left:17px;width:4px;height:4px;transform:rotate(45deg);border-color:#0f9d58;border-left-color:transparent;border-top-color:transparent}51%{border-color:#5a5a5a;border-left-color:#5a5a5a;border-top-color:#5a5a5a}100%{top:1px;left:12px;width:18px;height:18px;transform:rotate(0deg);border-color:#5a5a5a;border-left-color:#5a5a5a;border-top-color:#5a5a5a}}@keyframes check{100%{top:-3px;left:17px;width:10px;height:21px;transform:rotate(45deg);border-color:#0f9d58;border-left-color:transparent;border-top-color:transparent}51%{border-left:transparent;border-top-color:transparent}50%{top:14px;left:17px;width:4px;height:4px;transform:rotate(45deg);border-color:#5a5a5a;border-left-color:#5a5a5a;border-top-color:#5a5a5a}0%{top:1px;left:12px;width:18px;height:18px;transform:rotate(0deg);border-color:#5a5a5a;border-left-color:#5a5a5a;border-top-color:#5a5a5a}}@keyframes rippleOn{0%{opacity:0}50%{opacity:0.2}100%{opacity:0}}@keyframes rippleOff{0%{opacity:0}50%{opacity:0.2}100%{opacity:0}}.togglebutton{vertical-align:middle}.togglebutton,.togglebutton *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.togglebutton label{font-weight:400;cursor:pointer}.togglebutton label input[type=checkbox]:first-child{opacity:0;width:0;height:0}.togglebutton label input[type=checkbox]:first-child:checked+.toggle{background-color:rgba(18,178,231,0.5)}.togglebutton label input[type=checkbox]:first-child:checked+.toggle:after{background-color:#12b2e7}.togglebutton label .toggle,.togglebutton label input[type=checkbox][disabled]:first-child+.toggle{content:"";display:inline-block;width:30px;height:15px;background-color:rgba(80,80,80,0.7);border-radius:15px;margin-right:10px;transition:background 0.3s ease;vertical-align:middle}.togglebutton label .toggle:after{content:"";display:inline-block;width:20px;height:20px;background-color:#F1F1F1;border-radius:20px;position:relative;box-shadow:0 1px 3px 1px rgba(0,0,0,0.4);left:-5px;top:-2px;transition:left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease}.togglebutton label input[type=checkbox][disabled]:first-child+.toggle:after,.togglebutton label input[type=checkbox][disabled]:checked:first-child+.toggle:after{background-color:#BDBDBD}.togglebutton label input[type=checkbox]:first-child:checked ~ .toggle:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,0.4),0 0 0 15px rgba(0,149,135,0.1)}.togglebutton label input[type=checkbox]:first-child ~ .toggle:active:after,.togglebutton label input[type=checkbox][disabled]:first-child ~ .toggle:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,0.4),0 0 0 15px rgba(0,0,0,0.1)}.togglebutton label input[type=checkbox]:first-child:checked+.toggle:after{left:15px}.form-horizontal .radio{margin-bottom:10px}.radio label{cursor:pointer;padding-left:45px;position:relative}.radio label span{display:block;position:absolute;left:10px;top:2px;transition-duration:0.2s}.radio label .circle{border:2px solid rgba(0,0,0,0.84);height:15px;width:15px;border-radius:100%}.radio label .check{height:15px;width:15px;border-radius:100%;background-color:rgba(0,0,0,0.84);transform:scale(0)}.radio label .check:after{display:block;position:absolute;content:"";background-color:rgba(0,0,0,0.84);left:-18px;top:-18px;height:50px;width:50px;border-radius:100%;z-index:1;opacity:0;margin:0;transform:scale(1.5)}.radio label input[type=radio]:not(:checked) ~ .check:after{animation:rippleOff 500ms}.radio label input[type=radio]:checked ~ .check:after{animation:rippleOn 500ms}.radio input[type=radio][disabled] ~ .check,.radio input[type=radio][disabled] ~ .circle{opacity:0.5}.radio input[type=radio]{display:none}.radio input[type=radio]:checked ~ .check{transform:scale(0.55)}.radio input[type=radio][disabled] ~ .circle{border-color:rgba(0,0,0,0.84)}.radio input[type=radio][disabled] ~ .check{background-color:rgba(0,0,0,0.84)}@keyframes rippleOn{0%{opacity:0}50%{opacity:0.2}100%{opacity:0}}@keyframes rippleOff{0%{opacity:0}50%{opacity:0.2}100%{opacity:0}}fieldset[disabled] .form-control,fieldset[disabled] .form-control:focus,fieldset[disabled] .form-control.focus,.form-control-wrapper .form-control,.form-control-wrapper .form-control:focus,.form-control-wrapper .form-control.focus,.form-control,.form-control:focus,.form-control.focus{padding:0;float:none;border:0;box-shadow:none;border-radius:0;background:transparent;border-bottom:1px solid #757575}fieldset[disabled] .form-control:not(textarea):not(select),fieldset[disabled] .form-control:focus:not(textarea):not(select),fieldset[disabled] .form-control.focus:not(textarea):not(select),.form-control-wrapper .form-control:not(textarea):not(select),.form-control-wrapper .form-control:focus:not(textarea):not(select),.form-control-wrapper .form-control.focus:not(textarea):not(select),.form-control:not(textarea):not(select),.form-control:focus:not(textarea):not(select),.form-control.focus:not(textarea):not(select){height:28px}fieldset[disabled] .form-control:disabled,fieldset[disabled] .form-control:focus:disabled,fieldset[disabled] .form-control.focus:disabled,.form-control-wrapper .form-control:disabled,.form-control-wrapper .form-control:focus:disabled,.form-control-wrapper .form-control.focus:disabled,.form-control:disabled,.form-control:focus:disabled,.form-control.focus:disabled{border-style:dashed}select.form-control{height:23px}select[multiple].form-control,select[multiple].form-control:focus,select[multiple].form-control.focus{height:85px}.form-control-wrapper{position:relative}.form-control-wrapper .form-control:focus,.form-control-wrapper .form-control.focus{outline:none}.form-control-wrapper .floating-label{color:#7E7E7E;font-size:14px;position:absolute;pointer-events:none;left:0px;top:5px;transition:0.2s ease all;opacity:0}.form-control-wrapper .form-control:not(.empty) ~ .floating-label{top:-10px;font-size:10px;opacity:1}.form-control-wrapper .form-control:focus:invalid ~ .floating-label,.form-control-wrapper .form-control.focus:invalid ~ .floating-label{color:#f44336}.form-control-wrapper .form-control:focus ~ .material-input:after,.form-control-wrapper .form-control.focus ~ .material-input:after{background-color:#12b2e7}.form-control-wrapper .form-control:focus:invalid ~ .material-input:before,.form-control-wrapper .form-control:focus:invalid ~ .material-input:after,.form-control-wrapper .form-control.focus:invalid ~ .material-input:before,.form-control-wrapper .form-control.focus:invalid ~ .material-input:after{background-color:#f44336}.form-control-wrapper .form-control.empty ~ .floating-label{opacity:1}.form-control-wrapper .material-input:before{position:absolute;content:"";width:100%;left:0;height:2px;background-color:#12b2e7;bottom:-1px;transform:scaleX(0);transition:transform 0s}.form-control-wrapper .form-control:focus ~ .material-input:before,.form-control-wrapper .form-control.focus ~ .material-input:before{transform:scaleX(1);transition:transform 0.2s ease-out}.form-control-wrapper .material-input:after{content:"";position:absolute;height:18px;width:100px;margin-top:-1px;top:7px;left:0;pointer-events:none;opacity:0.9;transform-origin:left}.form-control-wrapper .input-lg ~ .material-input:after,.form-control-wrapper .input-group-lg>.form-control ~ .material-input:after,.form-control-wrapper .input-group-lg>.input-group-addon ~ .material-input:after,.form-control-wrapper .input-group-lg>.input-group-btn>.btn ~ .material-input:after{height:26px}.form-control-wrapper textarea{resize:none}.form-control-wrapper textarea ~ .form-control-highlight{margin-top:-11px}.form-control-wrapper .form-control:focus ~ .material-input:after,.form-control-wrapper .form-control.focus ~ .material-input:after{animation:input-highlight 0.3s ease;animation-fill-mode:forwards;opacity:0}.form-control-wrapper select ~ .material-input:after{display:none}.form-group.has-warning .material-input:before,.form-group.has-warning input.form-control:focus ~ .material-input:after,.form-group.has-warning input.form-control.focus ~ .material-input:after{background:#ff5722}.form-group.has-warning .control-label,.form-group.has-warning input.form-control:not(.empty) ~ .floating-label{color:#ff5722}.form-group.has-error .material-input:before,.form-group.has-error input.form-control:focus ~ .material-input:after,.form-group.has-error input.form-control.focus ~ .material-input:after{background:#f44336}.form-group.has-error .control-label,.form-group.has-error input.form-control:not(.empty) ~ .floating-label{color:#f44336}.form-group.has-success .material-input:before,.form-group.has-success input.form-control:focus ~ .material-input:after,.form-group.has-success input.form-control.focus ~ .material-input:after{background:#0f9d58}.form-group.has-success .control-label,.form-group.has-success input.form-control:not(.empty) ~ .floating-label{color:#0f9d58}.form-group.has-info .material-input:before,.form-group.has-info input.form-control:focus ~ .material-input:after,.form-group.has-info input.form-control.focus ~ .material-input:after{background:#03a9f4}.form-group.has-info .control-label,.form-group.has-info input.form-control:not(.empty) ~ .floating-label{color:#03a9f4}.input-group .form-control-wrapper{margin-right:5px;margin-left:5px;bottom:-10px}.input-group .form-control-wrapper .form-control{float:none}.input-group .input-group-addon{border:0}.input-group .input-group-btn .btn{border-radius:4px}select.form-control{border:0;box-shadow:none;border-bottom:1px solid #757575;border-radius:0}select.form-control:focus,select.form-control.focus{box-shadow:none;border-color:#757575}@keyframes input-highlight{0%{left:20%;transform:scaleX(20%)}99%{transform:scaleX(0);left:0;opacity:1}100%{opacity:0}}.form-control-wrapper input[type=file]{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}legend{border-bottom:0}.modal-content{border-radius:0;border:0}.modal-content .modal-header{border-bottom:0}.modal-content .modal-footer{border-top:0}.modal-content .modal-footer .btn+.btn{margin-bottom:10px}.list-group{border-radius:0}.list-group .list-group-item{background-color:transparent;overflow:hidden;border:0;border-radius:0;padding:0 16px}.list-group .list-group-item .row-picture,.list-group .list-group-item .row-action-primary{float:left;display:inline-block;padding-right:16px}.list-group .list-group-item .row-picture img,.list-group .list-group-item .row-picture i,.list-group .list-group-item .row-picture label,.list-group .list-group-item .row-action-primary img,.list-group .list-group-item .row-action-primary i,.list-group .list-group-item .row-action-primary label{display:block;width:56px;height:56px}.list-group .list-group-item .row-picture img,.list-group .list-group-item .row-action-primary img{background:rgba(0,0,0,0.1);padding:1px}.list-group .list-group-item .row-picture img.circle,.list-group .list-group-item .row-action-primary img.circle{border-radius:100%}.list-group .list-group-item .row-picture i,.list-group .list-group-item .row-action-primary i{background:rgba(0,0,0,0.25);border-radius:100%;text-align:center;line-height:56px;font-size:20px;color:white}.list-group .list-group-item .row-picture label,.list-group .list-group-item .row-action-primary label{margin-left:7px;margin-right:-7px;margin-top:5px;margin-bottom:-5px}.list-group .list-group-item .row-content{display:inline-block;width:calc(100% - 92px);min-height:66px}.list-group .list-group-item .row-content .action-secondary{position:absolute;right:16px;top:16px}.list-group .list-group-item .row-content .action-secondary i{font-size:20px;color:rgba(0,0,0,0.25);cursor:pointer}.list-group .list-group-item .row-content .action-secondary ~ *{max-width:calc(100% - 30px)}.list-group .list-group-item .row-content .least-content{position:absolute;right:16px;top:0px;color:rgba(0,0,0,0.54);font-size:14px}.list-group .list-group-item .list-group-item-heading{color:rgba(0,0,0,0.77);font-size:20px;line-height:29px}.list-group .list-group-separator{clear:both;overflow:hidden;margin-top:10px;margin-bottom:10px}.list-group .list-group-separator:before{content:"";width:calc(100% - 90px);border-bottom:1px solid rgba(0,0,0,0.1);float:right}.navbar{background-color:#12b2e7;border:0;border-radius:0}.navbar .navbar-brand{position:relative;height:60px;line-height:30px;color:rgba(255,255,255,0.84)}.navbar .navbar-brand:hover,.navbar .navbar-brand:focus{color:rgba(255,255,255,0.84);background-color:transparent}.navbar .navbar-text{color:rgba(255,255,255,0.84);margin-top:20px;margin-bottom:20px}.navbar .navbar-nav>li>a{color:rgba(255,255,255,0.84);padding-top:20px;padding-bottom:20px}.navbar .navbar-nav>li>a:hover,.navbar .navbar-nav>li>a:focus{color:rgba(255,255,255,0.84);background-color:transparent}.navbar .navbar-nav>.active>a,.navbar .navbar-nav>.active>a:hover,.navbar .navbar-nav>.active>a:focus{color:rgba(255,255,255,0.84);background-color:rgba(0,0,0,0.05)}.navbar .navbar-nav>.disabled>a,.navbar .navbar-nav>.disabled>a:hover,.navbar .navbar-nav>.disabled>a:focus{color:#e5e5e5;background-color:transparent}.navbar .navbar-toggle{border-color:rgba(255,255,255,0.84)}.navbar .navbar-toggle:hover,.navbar .navbar-toggle:focus{background-color:transparent}.navbar .navbar-toggle .icon-bar{background-color:rgba(255,255,255,0.84)}.navbar .navbar-collapse,.navbar .navbar-form{border-color:rgba(0,0,0,0.1)}.navbar .navbar-nav>.open>a,.navbar .navbar-nav>.open>a:hover,.navbar .navbar-nav>.open>a:focus{background-color:rgba(0,0,0,0.05);color:rgba(255,255,255,0.84)}@media (max-width: 767px){.navbar .navbar-nav .open .dropdown-menu>.dropdown-header{border:0;color:rgba(212,212,212,0.84)}.navbar .navbar-nav .open .dropdown-menu .divider{background-color:rgba(255,255,255,0.84)}.navbar .navbar-nav .open .dropdown-menu>li>a{color:rgba(255,255,255,0.84)}.navbar .navbar-nav .open .dropdown-menu>li>a:hover,.navbar .navbar-nav .open .dropdown-menu>li>a:focus{color:rgba(255,255,255,0.84);background-color:transparent}.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus{color:rgba(255,255,255,0.84);background-color:rgba(0,0,0,0.05)}.navbar .navbar-nav .open .dropdown-menu>.disabled>a,.navbar .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#e5e5e5;background-color:transparent}}.navbar .navbar-link{color:rgba(255,255,255,0.84)}.navbar .navbar-link:hover{color:rgba(255,255,255,0.84)}.navbar .navbar-link{color:rgba(255,255,255,0.84)}.navbar .navbar-link:hover,.navbar .navbar-link:focus{color:rgba(255,255,255,0.84)}.navbar .navbar-link[disabled]:hover,.navbar .navbar-link[disabled]:focus,fieldset[disabled] .navbar .navbar-link:hover,fieldset[disabled] .navbar .navbar-link:focus{color:#e5e5e5}.navbar .navbar-form{margin-top:16px}.navbar .navbar-form .form-control-wrapper .form-control,.navbar .navbar-form .form-control{border-color:rgba(255,255,255,0.84);color:rgba(255,255,255,0.84)}.navbar .navbar-form .form-control-wrapper .material-input:before,.navbar .navbar-form .form-control-wrapper input:focus ~ .material-input:after{background-color:rgba(255,255,255,0.84)}.navbar .navbar-form ::-webkit-input-placeholder{color:rgba(255,255,255,0.84)}.navbar .navbar-form :-moz-placeholder{color:rgba(255,255,255,0.84)}.navbar .navbar-form ::-moz-placeholder{color:rgba(255,255,255,0.84)}.navbar .navbar-form :-ms-input-placeholder{color:rgba(255,255,255,0.84)}.navbar-inverse{background-color:#5264ae}.navbar-white{background-color:#FFF}.navbar-white .navbar-brand,.navbar-white .navbar-brand:hover,.navbar-white .navbar-brand:focus{color:rgba(0,0,0,0.84)}.navbar-white .navbar-nav>li>a{color:rgba(0,0,0,0.84)}.navbar-white .navbar-nav>li>a:hover,.navbar-white .navbar-nav>li>a:focus{color:rgba(0,0,0,0.84);background-color:transparent}.navbar-white .navbar-nav>.active>a,.navbar-white .navbar-nav>.active>a:hover,.navbar-white .navbar-nav>.active>a:focus{color:rgba(0,0,0,0.84);background-color:rgba(0,0,0,0.05)}.navbar-white .navbar-nav>.disabled>a,.navbar-white .navbar-nav>.disabled>a:hover,.navbar-white .navbar-nav>.disabled>a:focus{color:rgba(0,0,0,0.84);background-color:transparent}.navbar-white .navbar-nav>.open>a,.navbar-white .navbar-nav>.open>a:hover,.navbar-white .navbar-nav>.open>a:focus{background-color:rgba(0,0,0,0.05);color:rgba(0,0,0,0.84)}.navbar-default{background-color:#12b2e7}.navbar-primary{background-color:#12b2e7}.navbar-success{background-color:#0f9d58}.navbar-info{background-color:#03a9f4}.navbar-warning{background-color:#ff5722}.navbar-danger{background-color:#f44336}.navbar-material-red{background-color:#f44336}.navbar-material-pink{background-color:#e91e63}.navbar-material-purple{background-color:#9c27b0}.navbar-material-deeppurple{background-color:#673ab7}.navbar-material-indigo{background-color:#3f51b5}.navbar-material-lightblue{background-color:#03a9f4}.navbar-material-cyan{background-color:#00bcd4}.navbar-material-teal{background-color:#009688}.navbar-material-lightgreen{background-color:#8bc34a}.navbar-material-lime{background-color:#cddc39}.navbar-material-lightyellow{background-color:#ffeb3b}.navbar-material-orange{background-color:#ff9800}.navbar-material-deeporange{background-color:#ff5722}.navbar-material-grey{background-color:#9e9e9e}.navbar-material-bluegrey{background-color:#607d8b}.navbar-material-brown{background-color:#795548}.navbar-material-lightgrey{background-color:#ececec}.dropdown-menu{border:0;box-shadow:0 2px 5px 0 rgba(0,0,0,0.26)}.dropdown-menu .divider{background-color:rgba(229,229,229,0.12)}.dropdown-menu li{overflow:hidden;position:relative}.dropdown-menu li a:hover{background:rgba(0,0,0,0.08)}.alert{border:0px;border-radius:0}.alert a,.alert .alert-link{color:#FFFFFF}.alert-default{background-color:rgba(255,255,255,0.35);color:rgba(0,0,0,0.84)}.alert-default a,.alert-default .alert-link{color:#000000}.alert-primary{color:#FFFFFF;background-color:rgba(18,178,231,0.35);color:rgba(0,0,0,0.84)}.alert-success{color:#FFFFFF;background-color:rgba(15,157,88,0.35);color:rgba(0,0,0,0.84)}.alert-info{color:#FFFFFF;background-color:rgba(3,169,244,0.35);color:rgba(0,0,0,0.84)}.alert-warning{color:#FFFFFF;background-color:rgba(255,87,34,0.35);color:rgba(0,0,0,0.84)}.alert-danger{background-color:rgba(244,67,54,0.35);color:rgba(0,0,0,0.84)}.alert-material-red{background-color:rgba(244,67,54,0.35);color:rgba(0,0,0,0.84)}.alert-material-pink{background-color:rgba(233,30,99,0.35);color:rgba(0,0,0,0.84)}.alert-material-purple{background-color:rgba(156,39,176,0.35);color:rgba(0,0,0,0.84)}.alert-material-deeppurple{background-color:rgba(103,58,183,0.35);color:rgba(0,0,0,0.84)}.alert-material-indigo{background-color:rgba(63,81,181,0.35);color:rgba(0,0,0,0.84)}.alert-material-lightblue{background-color:rgba(3,169,244,0.35);color:rgba(0,0,0,0.84)}.alert-material-cyan{background-color:rgba(0,188,212,0.35);color:rgba(0,0,0,0.84)}.alert-material-teal{background-color:rgba(0,150,136,0.35);color:rgba(0,0,0,0.84)}.alert-material-lightgreen{background-color:rgba(139,195,74,0.35);color:rgba(0,0,0,0.84)}.alert-material-lime{background-color:rgba(205,220,57,0.35);color:rgba(0,0,0,0.84)}.alert-material-lightyellow{background-color:rgba(255,235,59,0.35);color:rgba(0,0,0,0.84)}.alert-material-orange{background-color:rgba(255,152,0,0.35);color:rgba(0,0,0,0.84)}.alert-material-deeporange{background-color:rgba(255,87,34,0.35);color:rgba(0,0,0,0.84)}.alert-material-grey{background-color:rgba(158,158,158,0.35);color:rgba(0,0,0,0.84)}.alert-material-bluegrey{background-color:rgba(96,125,139,0.35);color:rgba(0,0,0,0.84)}.alert-material-brown{background-color:rgba(121,85,72,0.35);color:rgba(0,0,0,0.84)}.alert-material-lightgrey{background-color:rgba(236,236,236,0.35);color:rgba(0,0,0,0.84)}.progress{height:4px;border-radius:0;box-shadow:none;background:#c8c8c8}.progress .progress-bar{box-shadow:none}.progress .progress-bar-default{background-color:#12b2e7}.progress .progress-bar-primary{background-color:#12b2e7}.progress .progress-bar-success{background-color:#0f9d58}.progress .progress-bar-info{background-color:#03a9f4}.progress .progress-bar-warning{background-color:#ff5722}.progress .progress-bar-danger{background-color:#f44336}.progress .progress-bar-material-red{background-color:#f44336}.progress .progress-bar-material-pink{background-color:#e91e63}.progress .progress-bar-material-purple{background-color:#9c27b0}.progress .progress-bar-material-deeppurple{background-color:#673ab7}.progress .progress-bar-material-indigo{background-color:#3f51b5}.progress .progress-bar-material-lightblue{background-color:#03a9f4}.progress .progress-bar-material-cyan{background-color:#00bcd4}.progress .progress-bar-material-teal{background-color:#009688}.progress .progress-bar-material-lightgreen{background-color:#8bc34a}.progress .progress-bar-material-lime{background-color:#cddc39}.progress .progress-bar-material-lightyellow{background-color:#ffeb3b}.progress .progress-bar-material-orange{background-color:#ff9800}.progress .progress-bar-material-deeporange{background-color:#ff5722}.progress .progress-bar-material-grey{background-color:#9e9e9e}.progress .progress-bar-material-bluegrey{background-color:#607d8b}.progress .progress-bar-material-brown{background-color:#795548}.progress .progress-bar-material-lightgrey{background-color:#ececec}.card{border-radius:2px;margin-bottom:20px}.card h1,.card h2,.card h3,.card h4,.card h5,.card h6{font-weight:100;margin:10px 0}.card .card-body{padding:15px}.card .card-actions{padding:15px;text-transform:uppercase}.card .card-actions .main{font-weight:bold}.card .card-actions a{font-size:15px;margin:0 15px 0 0}.card .card-actions a:hover{text-decoration:none}.card img{max-width:100%;max-height:100%}.card .card-footer{padding:15px;border-top:1px solid;border-color:#ececec}.card .card-footer .icon{font-size:25px;transition:ease transform 0.5s}.card .card-footer .icon:hover{text-decoration:none;transform:transform3d(0, 0, 0, -1px)}.card-default{background-color:#fff;color:#000}.card-default .card-footer,.card-default .card-header{border-color:#e6e6e6}.card-default a{color:#000}.card-primary{background-color:#12b2e7;color:#fff}.card-primary .card-footer,.card-primary .card-header{border-color:#ececec}.card-primary a{color:#fff}.card-success{background-color:#0f9d58;color:#fff}.card-success .card-footer,.card-success .card-header{border-color:#0b6e3e}.card-success a{color:#fff}.card-info{background-color:#03a9f4;color:#fff}.card-info .card-footer,.card-info .card-header{border-color:#0286c2}.card-info a{color:#fff}.card-warning{background-color:#ff5722;color:#fff}.card-warning .card-footer,.card-warning .card-header{border-color:#ff7e55}.card-warning a{color:#fff}.card-danger{background-color:#f44336;color:#fff}.card-danger .card-footer,.card-danger .card-header{border-color:#ea1c0d}.card-danger a{color:#fff}.card-material-red{background-color:#f44336;color:#fff}.card-material-red .card-footer,.card-material-red .card-header{border-color:#f77066}.card-material-red a{color:#fff}.card-material-pink{background-color:#e91e63;color:#fff}.card-material-pink .card-footer,.card-material-pink .card-header{border-color:#c1134e}.card-material-pink a{color:#fff}.card-material-purple{background-color:#9c27b0;color:#fff}.card-material-purple .card-footer,.card-material-purple .card-header{border-color:#771e86}.card-material-purple a{color:#fff}.card-material-deeppurple{background-color:#673ab7;color:#fff}.card-material-deeppurple .card-footer,.card-material-deeppurple .card-header{border-color:#8259cb}.card-material-deeppurple a{color:#fff}.card-material-indigo{background-color:#3f51b5;color:#fff}.card-material-indigo .card-footer,.card-material-indigo .card-header{border-color:#606fc7}.card-material-indigo a{color:#fff}.card-material-lightblue{background-color:#03a9f4;color:#fff}.card-material-lightblue .card-footer,.card-material-lightblue .card-header{border-color:#0286c2}.card-material-lightblue a{color:#fff}.card-material-cyan{background-color:#00bcd4;color:#fff}.card-material-cyan .card-footer,.card-material-cyan .card-header{border-color:#008fa1}.card-material-cyan a{color:#fff}.card-material-teal{background-color:#009688;color:#fff}.card-material-teal .card-footer,.card-material-teal .card-header{border-color:#00635a}.card-material-teal a{color:#fff}.card-material-lightgreen{background-color:#8bc34a;color:#fff}.card-material-lightgreen .card-footer,.card-material-lightgreen .card-header{border-color:#71a436}.card-material-lightgreen a{color:#fff}.card-material-lime{background-color:#cddc39;color:#fff}.card-material-lime .card-footer,.card-material-lime .card-header{border-color:#b2c022}.card-material-lime a{color:#fff}.card-material-lightyellow{background-color:#ffeb3b;color:#080700}.card-material-lightyellow .card-footer,.card-material-lightyellow .card-header{border-color:#ffe608}.card-material-lightyellow a{color:#080700}.card-material-orange{background-color:#ff9800;color:#fff}.card-material-orange .card-footer,.card-material-orange .card-header{border-color:#cc7a00}.card-material-orange a{color:#fff}.card-material-deeporange{background-color:#ff5722;color:#fff}.card-material-deeporange .card-footer,.card-material-deeporange .card-header{border-color:#ee3900}.card-material-deeporange a{color:#fff}.card-material-grey{background-color:#9e9e9e;color:#fff}.card-material-grey .card-footer,.card-material-grey .card-header{border-color:#858585}.card-material-grey a{color:#fff}.card-material-bluegrey{background-color:#607d8b;color:#fff}.card-material-bluegrey .card-footer,.card-material-bluegrey .card-header{border-color:#4b626d}.card-material-bluegrey a{color:#fff}.card-material-brown{background-color:#795548;color:#fff}.card-material-brown .card-footer,.card-material-brown .card-header{border-color:#996b5b}.card-material-brown a{color:#fff}.card-material-lightgrey{background-color:#ececec;color:#e6e6e6}.card-material-lightgrey .card-footer,.card-material-lightgrey .card-header{border-color:#d3d3d3}.card-material-lightgrey a{color:#e6e6e6}.text-warning{color:#ff5722}.text-primary{color:#12b2e7}.text-danger{color:#f44336}.text-success{color:#0f9d58}.text-info{color:#03a9f4}.nav-tabs{background:#12b2e7}.nav-tabs>li>a{color:#FFFFFF;border:0;margin:0}.nav-tabs>li>a:hover{background:transparent;border:0}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.open>a,.nav-tabs>li.open>a:hover{background:transparent !important;border:0 !important;color:#FFFFFF !important;font-weight:500}.nav-tabs>li.disabled>a,.nav-tabs>li.disabled>a:hover{color:rgba(255,255,255,0.5)}.popover,.tooltip-inner{background:#323232;color:#FFF;border-radius:2px}.tooltip,.tooltip.in{opacity:1}.popover.left .arrow:after,.popover.left .tooltip-arrow,.tooltip.left .arrow:after,.tooltip.left .tooltip-arrow{border-left-color:#323232}.popover.right .arrow:after,.popover.right .tooltip-arrow,.tooltip.right .arrow:after,.tooltip.right .tooltip-arrow{border-right-color:#323232}.popover.top .arrow:after,.popover.top .tooltip-arrow,.tooltip.top .arrow:after,.tooltip.top .tooltip-arrow{border-top-color:#323232}.popover.bottom .arrow:after,.popover.bottom .tooltip-arrow,.tooltip.bottom .arrow:after,.tooltip.bottom .tooltip-arrow{border-bottom-color:#323232}.icon-default{color:rgba(0,0,0,0.84)}.icon-primary{color:#12b2e7}.icon-success{color:#0f9d58}.icon-info{color:#03a9f4}.icon-warning{color:#ff5722}.icon-danger{color:#f44336}.icon-material-red{color:#f44336}.icon-material-pink{color:#e91e63}.icon-material-purple{color:#9c27b0}.icon-material-deeppurple{color:#673ab7}.icon-material-indigo{color:#3f51b5}.icon-material-lightblue{color:#03a9f4}.icon-material-cyan{color:#00bcd4}.icon-material-teal{color:#009688}.icon-material-lightgreen{color:#8bc34a}.icon-material-lime{color:#cddc39}.icon-material-lightyellow{color:#ffeb3b}.icon-material-orange{color:#ff9800}.icon-material-deeporange{color:#ff5722}.icon-material-grey{color:#9e9e9e}.icon-material-bluegrey{color:#607d8b}.icon-material-brown{color:#795548}.icon-material-lightgrey{color:#ececec}.snackbar{background-color:#323232;color:rgba(255,255,255,0.84);font-size:14px;border-radius:2px;height:0;transition:transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, padding 0 linear 0.2s, height 0 linear 0.2s;transform:translateY(200%)}.snackbar.snackbar-opened{padding:14px 15px;margin-bottom:20px;height:auto;transition:transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, height 0 linear 0.2s;transform:none}.snackbar.toast{border-radius:200px}.noUi-target,.noUi-target *{-webkit-touch-callout:none;-ms-touch-action:none;user-select:none;box-sizing:border-box}.noUi-base{width:100%;height:100%;position:relative}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-handle{position:relative;z-index:1;box-sizing:border-box}.noUi-stacking .noUi-handle{z-index:10}.noUi-stacking+.noUi-origin{*z-index:-1}.noUi-state-tap .noUi-origin{transition:left 0.3s, top 0.3s}.noUi-state-drag *{cursor:inherit !important}.noUi-horizontal{height:10px}.noUi-horizontal .noUi-handle{box-sizing:border-box;width:12px;height:12px;left:-10px;top:-5px}.noUi-horizontal.noUi-extended{padding:0 15px}.noUi-horizontal.noUi-extended .noUi-origin{right:-15px}.noUi-background{height:2px;margin:20px 0}.noUi-origin{margin:0;border-radius:0;height:2px;background:#c8c8c8}.noUi-origin[style^="left: 0"] .noUi-handle{background-color:#fff;border:2px solid #c8c8c8}.noUi-target{border-radius:2px}.noUi-handle{border-radius:100%;cursor:default;transition:all 0.2s ease-out;border:1px solid}.noUi-horizontal{height:2px;margin:15px 0}[disabled].noUi-slider{opacity:0.5}[disabled] .noUi-handle{cursor:not-allowed}.slider{background:#c8c8c8}.withripple{position:relative}.ripple-wrapper{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;overflow:hidden;border-radius:2px}.ripple{position:absolute;width:20px;height:20px;margin-left:-10px;margin-top:-10px;border-radius:100%;background-color:rgba(0,0,0,0.05);transform:scale(1);transform-origin:50%;opacity:0;pointer-events:none}.ripple.ripple-on{transition:opacity 0.15s ease-in 0s,transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;opacity:1}.ripple.ripple-out{transition:opacity 0.1s linear 0s !important;opacity:0}.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;-ms-user-select:none;-moz-user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base{width:100%;height:100%;position:relative}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-handle{position:relative;z-index:1}.noUi-stacking .noUi-handle{z-index:10}.noUi-stacking+.noUi-origin{*z-index:-1}.noUi-state-tap .noUi-origin{-webkit-transition:left 0.3s, top 0.3s;transition:left 0.3s, top 0.3s}.noUi-state-drag *{cursor:inherit !important}.noUi-base{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-connect{-webkit-transition:background 450ms;transition:background 450ms}.noUi-dragable{cursor:w-resize}.noUi-vertical .noUi-dragable{cursor:n-resize}[disabled] .noUi-handle{cursor:not-allowed}.xbbcode-b{font-weight:bold}.xbbcode-center{margin-left:auto;margin-right:auto;display:block;text-align:center}.xbbcode-code{white-space:pre-wrap;font-family:monospace}.xbbcode-i{font-style:italic}.xbbcode-justify{display:block;text-align:justify}.xbbcode-left{display:block;text-align:left}.xbbcode-right{display:block;text-align:right}.xbbcode-s{text-decoration:line-through}.xbbcode-size-4{font-size:4px}.xbbcode-size-5{font-size:5px}.xbbcode-size-6{font-size:6px}.xbbcode-size-7{font-size:7px}.xbbcode-size-8{font-size:8px}.xbbcode-size-9{font-size:9px}.xbbcode-size-10{font-size:10px}.xbbcode-size-11{font-size:11px}.xbbcode-size-12{font-size:12px}.xbbcode-size-13{font-size:13px}.xbbcode-size-14{font-size:14px}.xbbcode-size-15{font-size:15px}.xbbcode-size-16{font-size:16px}.xbbcode-size-17{font-size:17px}.xbbcode-size-18{font-size:18px}.xbbcode-size-19{font-size:19px}.xbbcode-size-20{font-size:20px}.xbbcode-size-21{font-size:21px}.xbbcode-size-22{font-size:22px}.xbbcode-size-23{font-size:23px}.xbbcode-size-24{font-size:24px}.xbbcode-size-25{font-size:25px}.xbbcode-size-26{font-size:26px}.xbbcode-size-27{font-size:27px}.xbbcode-size-28{font-size:28px}.xbbcode-size-29{font-size:29px}.xbbcode-size-30{font-size:30px}.xbbcode-size-31{font-size:31px}.xbbcode-size-32{font-size:32px}.xbbcode-size-33{font-size:33px}.xbbcode-size-34{font-size:34px}.xbbcode-size-35{font-size:35px}.xbbcode-size-36{font-size:36px}.xbbcode-size-37{font-size:37px}.xbbcode-size-38{font-size:38px}.xbbcode-size-39{font-size:39px}.xbbcode-size-40{font-size:40px}.xbbcode-u{text-decoration:underline}.xbbcode-table{border-collapse:collapse}.xbbcode-table,.xbbcode-th,.xbbcode-td{border:1px solid #666}*,*:before,*:after{-webkit-box-sizing:"border-box";-moz-box-sizing:"border-box";box-sizing:"border-box"}img,video{max-width:100%;height:auto}.youtube-list .flat-btn,.filters-container .filter-btn,.filters-container .filter-btn:before,.local-playlist-list .region-first .new-list,.local-playlist-list .region-first .new-list:before,.player .controls-primary .control,.player .controls-secondary .control,.player .slider-bar,.set-page .entity-set .more a,.set-page .entity-set .more a:before,.imdblink,.imdblink:before,.btn-flat-play,.btn-flat-play:before,.btn-flat-add,.btn-flat-add:before,.btn-flat-stream,.btn-flat-stream:before,.btn-flat-download,.btn-flat-download:before,.btn-flat-watched,.btn-flat-watched:before{-webkit-transition:0.3s all linear;-o-transition:0.3s all linear;transition:0.3s all linear}@-moz-keyframes wave{0%{background-position:0% bottom}100%{background-position:100% bottom}}@-webkit-keyframes wave{0%{background-position:0% bottom}100%{background-position:100% bottom}}@keyframes wave{0%{background-position:0% bottom}100%{background-position:100% bottom}}#files-container .loading-box{-webkit-animation:none;-o-animation:none;animation:none}@-moz-keyframes pulsate{50%{text-shadow:0 0 25px rgba(255,255,255,0.55);color:#fff}}@-webkit-keyframes pulsate{50%{text-shadow:0 0 25px rgba(255,255,255,0.55);color:#fff}}@keyframes pulsate{50%{text-shadow:0 0 25px rgba(255,255,255,0.55);color:#fff}}.filters-container .options-search-wrapper,.search-box{position:relative;padding-right:1em}.filters-container .options-search-wrapper:before,.search-box:before{content:"\e65f";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .options-search-wrapper:before,.search-box:before{top:8px;left:6px;position:absolute;z-index:20;font-size:130%;opacity:0.8}.filters-container .options-search-wrapper input,.search-box input{color:#666;border:none;width:100%;padding:0.5em;padding-left:2em;background:rgba(255,255,255,0.5);margin-bottom:1em}.filters-container .options-search-wrapper input:focus,.search-box input:focus{background:rgba(255,255,255,0.9);outline:none}.card-detail .thumb{display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.landing-page .landing-section,.region-content{position:relative;padding:12px 12px 30px 12px}.with-header .landing-page .landing-section,.landing-page .with-header .landing-section,.with-header .region-content{padding:10px 20px 50px 20px}.folder-layout .folder-container,.youtube-list li,form .inline-list,.help--page .help--overview--report ul li,.details-header .region-details-top,.content-container.with-sidebar,.section-content,.kodi-remote .secondary-controls{*zoom:1}.folder-layout .folder-container:after,.youtube-list li:after,form .inline-list:after,.help--page .help--overview--report ul li:after,.details-header .region-details-top:after,.content-container.with-sidebar:after,.section-content:after,.kodi-remote .secondary-controls:after{content:"";display:table;clear:both}.help--page .region-content-wrapper h2,.help--page .region-content-wrapper h3,.help--page .region-content-wrapper h4{margin-top:1.5em}.help--page .region-content-wrapper h2{font-size:1.6em;font-weight:bold;border-bottom:1px dotted #ddd;padding-bottom:0.5em;margin-top:2em}.help--page .region-content-wrapper h3{font-size:1.3em;color:#666;margin-bottom:1em}.help--page .region-content-wrapper h4{font-size:1.2em}.help--page .region-content-wrapper p,.help--page .region-content-wrapper li{line-height:1.8}.help--page .region-content-wrapper ul,.help--page .region-content-wrapper ol{padding-left:1.5em}.help--page .region-content-wrapper ul li,.help--page .region-content-wrapper ol li{list-style:disc;margin:0.5em 0}.help--page .region-content-wrapper ol li{list-style-type:decimal}.help--page .region-content-wrapper code{border:1px solid rgba(186,193,200,0.33);background:rgba(221,221,221,0.5);color:#2b2f30}.help--page .region-content-wrapper code:hover{color:#12b2e7;border-color:#12b2e7}.help--page .region-content-wrapper pre{border:1px dashed #bac1c8;margin:1em;margin-left:0}.help--page .region-content-wrapper pre code{background:none;border:none}.help--page .region-content-wrapper pre code:hover{color:inherit;border-color:inherit}.help--page .region-content-wrapper img{width:100%;max-width:1000px}.options-list,.mobile-menu{margin:0;padding:0}.options-list li,.mobile-menu li{margin:0;padding:0;list-style:none}.browser-page .region-first h3,.filters-container h3,.local-playlist-list .region-first h3,.modal .playlist-selection-list h3,.region-first .nav-sub h3{font-size:15px;text-transform:uppercase;margin:1em 0;color:#888;font-weight:bold}.text-dim,.folder-layout .empty--page-content{opacity:0.4;font-size:0.85em}.dropdown-menu{padding:0.5em 0;background:#1b1c1d;color:#999;border-radius:0}.dropdown-menu li{padding:0.25em 1em}.dropdown-menu li:hover{background:rgba(255,255,255,0.1);color:#fff;cursor:pointer}.dropdown-menu li:hover.divider{cursor:none;background:none}.dropdown-menu li.divider{padding:0;margin:0.25em 0}.card-grid--square .card{color:#888;width:160px;height:216px;margin:5px;background:#fff;position:relative;overflow:hidden}.card-grid--square .card a{color:#888}.card-grid--square .card .title a{color:#2b2f30}.card-grid--square .card .subtitle{font-size:85%;margin-top:5px}.card-grid--square .card .dropdown i,.card-grid--square .card .actions li,.card-grid--square .card .play{color:rgba(255,255,255,0.8)}.card-grid--square .card .dropdown i:hover,.card-grid--square .card .actions li:hover,.card-grid--square .card .play:hover{color:#fff}.card-grid--square .card .record{color:rgba(255,255,255,0.8)}.card-grid--square .card .record:hover{color:#f00}.card-grid--square .ph.card{opacity:0.1;-webkit-box-shadow:none;box-shadow:none}.card-grid--square .card .artwork{background:transparent;overflow:hidden;letter-spacing:-0.31em;width:160px;height:160px;position:relative;background:#ccc}.card-grid--square .card .artwork img{display:block;vertical-align:middle;width:160px;margin-top:0}.card-grid--square .card .artwork .thumb{width:160px;height:160px;background-position:50% 0;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.card-grid--square .card .artwork a{display:block}.card-grid--square .card .artwork .thumb:after{content:"";top:0;right:0;left:0;position:absolute;height:216px;background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;opacity:0;-webkit-transition:0.1s all linear;-o-transition:0.1s all linear;transition:0.1s all linear}.card-grid--square .card .entity-progress{right:0;bottom:0;left:0;position:absolute;top:auto;z-index:20}.card-grid--square .card .entity-progress .current-progress{height:2px;background:#12b2e7}.card-grid--square .card .watched-tick{color:#12b2e7;right:10px;bottom:3px;position:absolute;font-size:125%;display:none}.card-grid--square .card .watched-tick:before{content:"\e899";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .watched{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--square .card .watched:before{content:"\e8e2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .watched:before{display:table-cell;vertical-align:middle;height:1.5em}.thumbs-page .card-grid--square .card .watched,.card-grid--square .thumbs-page .card .watched{display:none}.card-grid--square .is-watched.card .watched{color:#12b2e7}.card-grid--square .is-watched.card .watched:before{content:"\e8e1";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .thumb{display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.card-grid--square .card .meta{position:relative;padding:8px 10px;width:160px}.card-grid--square .card .meta .title{position:relative;white-space:nowrap;overflow:hidden}.card-grid--square .card .meta .title:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--square .card .meta .subtitle{position:relative;white-space:nowrap;overflow:hidden}.card-grid--square .card .meta .subtitle:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--square .card .play{display:table;width:1.5em;text-align:center;cursor:pointer;bottom:0;left:0;position:absolute;font-size:220%;display:none;z-index:20}.card-grid--square .card .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .play:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--square .card .record{display:table;width:1.5em;text-align:center;cursor:pointer;right:5px;bottom:2px;position:absolute;font-size:200%;display:none;z-index:20}.card-grid--square .card .record:before{content:"\e7da";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .record:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--square .card .dropdown{top:5px;right:0;position:absolute}.card-grid--square .card .dropdown i{display:table;width:1.5em;text-align:center;cursor:pointer;z-index:20;font-size:180%;display:none}.card-grid--square .card .dropdown i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .dropdown i:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--square .card .actions{top:10px;right:35px;position:absolute;display:table;display:none}.card-grid--square .card .actions .thumbs{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--square .card .actions .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .actions .thumbs:before{display:table-cell;vertical-align:middle;height:1.5em}.disable-thumbs .card-grid--square .card .actions .thumbs,.card-grid--square .disable-thumbs .card .actions .thumbs{display:none}.card-grid--square .card .actions li{float:left;margin-left:3px}.card-grid--square .card .actions li:before{display:table-cell !important}.card-grid--square .card:hover .artwork .thumb:after{opacity:1}.card-grid--square .card:hover .actions,.card-grid--square .card:hover .dropdown i,.card-grid--square .card:hover .play{display:table}.card-grid--square .card:hover .record{display:table}.card-grid--square .card .dropdown-menu{left:auto;right:0px;top:-7px}.card-grid--square .thumbs-up.card .actions .thumbs{color:#12b2e7}.card-grid--wide .card{color:#888;width:276px;height:170px;margin:5px;background:#fff;position:relative;overflow:hidden}.card-grid--wide .card a{color:#888}.card-grid--wide .card .title a{color:#2b2f30}.card-grid--wide .card .subtitle{font-size:85%;margin-top:5px}.card-grid--wide .card .dropdown i,.card-grid--wide .card .actions li,.card-grid--wide .card .play{color:rgba(255,255,255,0.8)}.card-grid--wide .card .dropdown i:hover,.card-grid--wide .card .actions li:hover,.card-grid--wide .card .play:hover{color:#fff}.card-grid--wide .card .record{color:rgba(255,255,255,0.8)}.card-grid--wide .card .record:hover{color:#f00}.card-grid--wide .ph.card{opacity:0.1;-webkit-box-shadow:none;box-shadow:none}.card-grid--wide .card .artwork{background:transparent;overflow:hidden;letter-spacing:-0.31em;width:276px;height:138px;position:relative;background:#ccc}.card-grid--wide .card .artwork img{display:block;vertical-align:middle;width:276px;margin-top:20%}.card-grid--wide .card .artwork .thumb{width:276px;height:138px;background-position:50% 20%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.card-grid--wide .card .artwork a{display:block}.card-grid--wide .card .artwork .thumb:after{content:"";top:0;right:0;left:0;position:absolute;height:170px;background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;opacity:0;-webkit-transition:0.1s all linear;-o-transition:0.1s all linear;transition:0.1s all linear}.card-grid--wide .card .entity-progress{right:0;bottom:0;left:0;position:absolute;top:auto;z-index:20}.card-grid--wide .card .entity-progress .current-progress{height:2px;background:#12b2e7}.card-grid--wide .card .watched-tick{color:#12b2e7;right:10px;bottom:3px;position:absolute;font-size:125%;display:none}.card-grid--wide .card .watched-tick:before{content:"\e899";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .watched{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--wide .card .watched:before{content:"\e8e2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .watched:before{display:table-cell;vertical-align:middle;height:1.5em}.thumbs-page .card-grid--wide .card .watched,.card-grid--wide .thumbs-page .card .watched{display:none}.card-grid--wide .is-watched.card .watched{color:#12b2e7}.card-grid--wide .is-watched.card .watched:before{content:"\e8e1";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .thumb{display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.card-grid--wide .card .meta{position:relative;padding:8px 10px;width:276px}.card-grid--wide .card .meta .title{position:relative;white-space:nowrap;overflow:hidden}.card-grid--wide .card .meta .title:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--wide .card .meta .subtitle{position:relative;white-space:nowrap;overflow:hidden}.card-grid--wide .card .meta .subtitle:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--wide .card .play{display:table;width:1.5em;text-align:center;cursor:pointer;bottom:0;left:0;position:absolute;font-size:220%;display:none;z-index:20}.card-grid--wide .card .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .play:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--wide .card .record{display:table;width:1.5em;text-align:center;cursor:pointer;right:5px;bottom:2px;position:absolute;font-size:200%;display:none;z-index:20}.card-grid--wide .card .record:before{content:"\e7da";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .record:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--wide .card .dropdown{top:5px;right:0;position:absolute}.card-grid--wide .card .dropdown i{display:table;width:1.5em;text-align:center;cursor:pointer;z-index:20;font-size:180%;display:none}.card-grid--wide .card .dropdown i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .dropdown i:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--wide .card .actions{top:10px;right:35px;position:absolute;display:table;display:none}.card-grid--wide .card .actions .thumbs{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--wide .card .actions .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .actions .thumbs:before{display:table-cell;vertical-align:middle;height:1.5em}.disable-thumbs .card-grid--wide .card .actions .thumbs,.card-grid--wide .disable-thumbs .card .actions .thumbs{display:none}.card-grid--wide .card .actions li{float:left;margin-left:3px}.card-grid--wide .card .actions li:before{display:table-cell !important}.card-grid--wide .card:hover .artwork .thumb:after{opacity:1}.card-grid--wide .card:hover .actions,.card-grid--wide .card:hover .dropdown i,.card-grid--wide .card:hover .play{display:table}.card-grid--wide .card:hover .record{display:table}.card-grid--wide .card .dropdown-menu{left:auto;right:0px;top:-7px}.card-grid--wide .thumbs-up.card .actions .thumbs{color:#12b2e7}.card-grid--episode .card{color:#888;width:275px;height:196px;margin:5px;background:#fff;position:relative;overflow:hidden}.card-grid--episode .card a{color:#888}.card-grid--episode .card .title a{color:#2b2f30}.card-grid--episode .card .subtitle{font-size:85%;margin-top:5px}.card-grid--episode .card .dropdown i,.card-grid--episode .card .actions li,.card-grid--episode .card .play{color:rgba(255,255,255,0.8)}.card-grid--episode .card .dropdown i:hover,.card-grid--episode .card .actions li:hover,.card-grid--episode .card .play:hover{color:#fff}.card-grid--episode .card .record{color:rgba(255,255,255,0.8)}.card-grid--episode .card .record:hover{color:#f00}.card-grid--episode .ph.card{opacity:0.1;-webkit-box-shadow:none;box-shadow:none}.card-grid--episode .card .artwork{background:transparent;overflow:hidden;letter-spacing:-0.31em;width:275px;height:138px;position:relative;background:#ccc}.card-grid--episode .card .artwork img{display:block;vertical-align:middle;width:275px;margin-top:0}.card-grid--episode .card .artwork .thumb{width:275px;height:138px;background-position:50% 0;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.card-grid--episode .card .artwork a{display:block}.card-grid--episode .card .artwork .thumb:after{content:"";top:0;right:0;left:0;position:absolute;height:196px;background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;opacity:0;-webkit-transition:0.1s all linear;-o-transition:0.1s all linear;transition:0.1s all linear}.card-grid--episode .card .entity-progress{right:0;bottom:0;left:0;position:absolute;top:auto;z-index:20}.card-grid--episode .card .entity-progress .current-progress{height:2px;background:#12b2e7}.card-grid--episode .card .watched-tick{color:#12b2e7;right:10px;bottom:3px;position:absolute;font-size:125%;display:none}.card-grid--episode .card .watched-tick:before{content:"\e899";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .watched{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--episode .card .watched:before{content:"\e8e2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .watched:before{display:table-cell;vertical-align:middle;height:1.5em}.thumbs-page .card-grid--episode .card .watched,.card-grid--episode .thumbs-page .card .watched{display:none}.card-grid--episode .is-watched.card .watched{color:#12b2e7}.card-grid--episode .is-watched.card .watched:before{content:"\e8e1";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .thumb{display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.card-grid--episode .card .meta{position:relative;padding:8px 10px;width:275px}.card-grid--episode .card .meta .title{position:relative;white-space:nowrap;overflow:hidden}.card-grid--episode .card .meta .title:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--episode .card .meta .subtitle{position:relative;white-space:nowrap;overflow:hidden}.card-grid--episode .card .meta .subtitle:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--episode .card .play{display:table;width:1.5em;text-align:center;cursor:pointer;bottom:0;left:0;position:absolute;font-size:220%;display:none;z-index:20}.card-grid--episode .card .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .play:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--episode .card .record{display:table;width:1.5em;text-align:center;cursor:pointer;right:5px;bottom:2px;position:absolute;font-size:200%;display:none;z-index:20}.card-grid--episode .card .record:before{content:"\e7da";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .record:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--episode .card .dropdown{top:5px;right:0;position:absolute}.card-grid--episode .card .dropdown i{display:table;width:1.5em;text-align:center;cursor:pointer;z-index:20;font-size:180%;display:none}.card-grid--episode .card .dropdown i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .dropdown i:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--episode .card .actions{top:10px;right:35px;position:absolute;display:table;display:none}.card-grid--episode .card .actions .thumbs{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--episode .card .actions .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .actions .thumbs:before{display:table-cell;vertical-align:middle;height:1.5em}.disable-thumbs .card-grid--episode .card .actions .thumbs,.card-grid--episode .disable-thumbs .card .actions .thumbs{display:none}.card-grid--episode .card .actions li{float:left;margin-left:3px}.card-grid--episode .card .actions li:before{display:table-cell !important}.card-grid--episode .card:hover .artwork .thumb:after{opacity:1}.card-grid--episode .card:hover .actions,.card-grid--episode .card:hover .dropdown i,.card-grid--episode .card:hover .play{display:table}.card-grid--episode .card:hover .record{display:table}.card-grid--episode .card .dropdown-menu{left:auto;right:0px;top:-7px}.card-grid--episode .thumbs-up.card .actions .thumbs{color:#12b2e7}.card-grid--tall .card{color:#888;width:160px;height:300px;margin:5px;background:#fff;position:relative;overflow:hidden}.card-grid--tall .card a{color:#888}.card-grid--tall .card .title a{color:#2b2f30}.card-grid--tall .card .subtitle{font-size:85%;margin-top:5px}.card-grid--tall .card .dropdown i,.card-grid--tall .card .actions li,.card-grid--tall .card .play{color:rgba(255,255,255,0.8)}.card-grid--tall .card .dropdown i:hover,.card-grid--tall .card .actions li:hover,.card-grid--tall .card .play:hover{color:#fff}.card-grid--tall .card .record{color:rgba(255,255,255,0.8)}.card-grid--tall .card .record:hover{color:#f00}.card-grid--tall .ph.card{opacity:0.1;-webkit-box-shadow:none;box-shadow:none}.card-grid--tall .card .artwork{background:transparent;overflow:hidden;letter-spacing:-0.31em;width:160px;height:235px;position:relative;background:#ccc}.card-grid--tall .card .artwork img{display:block;vertical-align:middle;width:160px;margin-top:0}.card-grid--tall .card .artwork .thumb{width:160px;height:235px;background-position:50% 0;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.card-grid--tall .card .artwork a{display:block}.card-grid--tall .card .artwork .thumb:after{content:"";top:0;right:0;left:0;position:absolute;height:300px;background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;opacity:0;-webkit-transition:0.1s all linear;-o-transition:0.1s all linear;transition:0.1s all linear}.card-grid--tall .card .entity-progress{right:0;bottom:0;left:0;position:absolute;top:auto;z-index:20}.card-grid--tall .card .entity-progress .current-progress{height:2px;background:#12b2e7}.card-grid--tall .card .watched-tick{color:#12b2e7;right:10px;bottom:3px;position:absolute;font-size:125%;display:none}.card-grid--tall .card .watched-tick:before{content:"\e899";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .watched{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--tall .card .watched:before{content:"\e8e2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .watched:before{display:table-cell;vertical-align:middle;height:1.5em}.thumbs-page .card-grid--tall .card .watched,.card-grid--tall .thumbs-page .card .watched{display:none}.card-grid--tall .is-watched.card .watched{color:#12b2e7}.card-grid--tall .is-watched.card .watched:before{content:"\e8e1";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .thumb{display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.card-grid--tall .card .meta{position:relative;padding:8px 10px;width:160px}.card-grid--tall .card .meta .title{position:relative;white-space:nowrap;overflow:hidden}.card-grid--tall .card .meta .title:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--tall .card .meta .subtitle{position:relative;white-space:nowrap;overflow:hidden}.card-grid--tall .card .meta .subtitle:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--tall .card .play{display:table;width:1.5em;text-align:center;cursor:pointer;bottom:0;left:0;position:absolute;font-size:220%;display:none;z-index:20}.card-grid--tall .card .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .play:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--tall .card .record{display:table;width:1.5em;text-align:center;cursor:pointer;right:5px;bottom:2px;position:absolute;font-size:200%;display:none;z-index:20}.card-grid--tall .card .record:before{content:"\e7da";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .record:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--tall .card .dropdown{top:5px;right:0;position:absolute}.card-grid--tall .card .dropdown i{display:table;width:1.5em;text-align:center;cursor:pointer;z-index:20;font-size:180%;display:none}.card-grid--tall .card .dropdown i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .dropdown i:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--tall .card .actions{top:10px;right:35px;position:absolute;display:table;display:none}.card-grid--tall .card .actions .thumbs{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--tall .card .actions .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .actions .thumbs:before{display:table-cell;vertical-align:middle;height:1.5em}.disable-thumbs .card-grid--tall .card .actions .thumbs,.card-grid--tall .disable-thumbs .card .actions .thumbs{display:none}.card-grid--tall .card .actions li{float:left;margin-left:3px}.card-grid--tall .card .actions li:before{display:table-cell !important}.card-grid--tall .card:hover .artwork .thumb:after{opacity:1}.card-grid--tall .card:hover .actions,.card-grid--tall .card:hover .dropdown i,.card-grid--tall .card:hover .play{display:table}.card-grid--tall .card:hover .record{display:table}.card-grid--tall .card .dropdown-menu{left:auto;right:0px;top:-7px}.card-grid--tall .thumbs-up.card .actions .thumbs{color:#12b2e7}.card-grid--square .card,.card-grid--wide .card,.card-grid--episode .card,.card-grid--tall .card{display:inline-block}body{background:#fff}*{box-sizing:border-box}img{width:100%;max-width:auto;height:auto}ul,ol{margin:0;padding:0}ul li,ol li{margin:0;padding:0;list-style:none}a{color:#12b2e7;cursor:pointer}.hidden{display:none}@font-face{font-family:"Material-Design-Icons";src:url("../fonts/material/Material-Design-Icons.eot");src:url("../fonts/material/Material-Design-Icons.eot?#iefix") format("embedded-opentype"),url("../fonts/material/Material-Design-Icons.woff") format("woff"),url("../fonts/material/Material-Design-Icons.ttf") format("truetype");font-weight:normal;font-style:normal}.mdi-action-3d-rotation:before{content:"\e600"}.mdi-action-accessibility:before{content:"\e601"}.mdi-action-account-balance:before{content:"\e602"}.mdi-action-account-balance-wallet:before{content:"\e603"}.mdi-action-account-box:before{content:"\e604"}.mdi-action-account-child:before{content:"\e605"}.mdi-action-account-circle:before{content:"\e606"}.mdi-action-add-shopping-cart:before{content:"\e607"}.mdi-action-alarm:before{content:"\e608"}.mdi-action-alarm-add:before{content:"\e609"}.mdi-action-alarm-off:before{content:"\e60a"}.mdi-action-alarm-on:before{content:"\e60b"}.mdi-action-android:before{content:"\e60c"}.mdi-action-announcement:before{content:"\e60d"}.mdi-action-aspect-ratio:before{content:"\e60e"}.mdi-action-assessment:before{content:"\e60f"}.mdi-action-assignment:before{content:"\e610"}.mdi-action-assignment-ind:before{content:"\e611"}.mdi-action-assignment-late:before{content:"\e612"}.mdi-action-assignment-return:before{content:"\e613"}.mdi-action-assignment-returned:before{content:"\e614"}.mdi-action-assignment-turned-in:before{content:"\e615"}.mdi-action-autorenew:before{content:"\e616"}.mdi-action-backup:before{content:"\e617"}.mdi-action-book:before{content:"\e618"}.mdi-action-bookmark:before{content:"\e619"}.mdi-action-bookmark-outline:before{content:"\e61a"}.mdi-action-bug-report:before{content:"\e61b"}.mdi-action-cached:before{content:"\e61c"}.mdi-action-class:before{content:"\e61d"}.mdi-action-credit-card:before{content:"\e61e"}.mdi-action-dashboard:before{content:"\e61f"}.mdi-action-delete:before{content:"\e620"}.mdi-action-description:before{content:"\e621"}.mdi-action-dns:before{content:"\e622"}.mdi-action-done:before{content:"\e623"}.mdi-action-done-all:before{content:"\e624"}.mdi-action-event:before{content:"\e625"}.mdi-action-exit-to-app:before{content:"\e626"}.mdi-action-explore:before{content:"\e627"}.mdi-action-extension:before{content:"\e628"}.mdi-action-face-unlock:before{content:"\e629"}.mdi-action-favorite:before{content:"\e62a"}.mdi-action-favorite-outline:before{content:"\e62b"}.mdi-action-find-in-page:before{content:"\e62c"}.mdi-action-find-replace:before{content:"\e62d"}.mdi-action-flip-to-back:before{content:"\e62e"}.mdi-action-flip-to-front:before{content:"\e62f"}.mdi-action-get-app:before{content:"\e630"}.mdi-action-grade:before{content:"\e631"}.mdi-action-group-work:before{content:"\e632"}.mdi-action-help:before{content:"\e633"}.mdi-action-highlight-remove:before{content:"\e634"}.mdi-action-history:before{content:"\e635"}.mdi-action-home:before{content:"\e636"}.mdi-action-https:before{content:"\e637"}.mdi-action-info:before{content:"\e638"}.mdi-action-info-outline:before{content:"\e639"}.mdi-action-input:before{content:"\e63a"}.mdi-action-invert-colors:before{content:"\e63b"}.mdi-action-label:before{content:"\e63c"}.mdi-action-label-outline:before{content:"\e63d"}.mdi-action-language:before{content:"\e63e"}.mdi-action-launch:before{content:"\e63f"}.mdi-action-list:before{content:"\e640"}.mdi-action-lock:before{content:"\e641"}.mdi-action-lock-open:before{content:"\e642"}.mdi-action-lock-outline:before{content:"\e643"}.mdi-action-loyalty:before{content:"\e644"}.mdi-action-markunread-mailbox:before{content:"\e645"}.mdi-action-note-add:before{content:"\e646"}.mdi-action-open-in-browser:before{content:"\e647"}.mdi-action-open-in-new:before{content:"\e648"}.mdi-action-open-with:before{content:"\e649"}.mdi-action-pageview:before{content:"\e64a"}.mdi-action-payment:before{content:"\e64b"}.mdi-action-perm-camera-mic:before{content:"\e64c"}.mdi-action-perm-contact-cal:before{content:"\e64d"}.mdi-action-perm-data-setting:before{content:"\e64e"}.mdi-action-perm-device-info:before{content:"\e64f"}.mdi-action-perm-identity:before{content:"\e650"}.mdi-action-perm-media:before{content:"\e651"}.mdi-action-perm-phone-msg:before{content:"\e652"}.mdi-action-perm-scan-wifi:before{content:"\e653"}.mdi-action-picture-in-picture:before{content:"\e654"}.mdi-action-polymer:before{content:"\e655"}.mdi-action-print:before{content:"\e656"}.mdi-action-query-builder:before{content:"\e657"}.mdi-action-question-answer:before{content:"\e658"}.mdi-action-receipt:before{content:"\e659"}.mdi-action-redeem:before{content:"\e65a"}.mdi-action-report-problem:before{content:"\e65b"}.mdi-action-restore:before{content:"\e65c"}.mdi-action-room:before{content:"\e65d"}.mdi-action-schedule:before{content:"\e65e"}.mdi-action-search:before{content:"\e65f"}.mdi-action-settings:before{content:"\e660"}.mdi-action-settings-applications:before{content:"\e661"}.mdi-action-settings-backup-restore:before{content:"\e662"}.mdi-action-settings-bluetooth:before{content:"\e663"}.mdi-action-settings-cell:before{content:"\e664"}.mdi-action-settings-display:before{content:"\e665"}.mdi-action-settings-ethernet:before{content:"\e666"}.mdi-action-settings-input-antenna:before{content:"\e667"}.mdi-action-settings-input-component:before{content:"\e668"}.mdi-action-settings-input-composite:before{content:"\e669"}.mdi-action-settings-input-hdmi:before{content:"\e66a"}.mdi-action-settings-input-svideo:before{content:"\e66b"}.mdi-action-settings-overscan:before{content:"\e66c"}.mdi-action-settings-phone:before{content:"\e66d"}.mdi-action-settings-power:before{content:"\e66e"}.mdi-action-settings-remote:before{content:"\e66f"}.mdi-action-settings-voice:before{content:"\e670"}.mdi-action-shop:before{content:"\e671"}.mdi-action-shopping-basket:before{content:"\e672"}.mdi-action-shopping-cart:before{content:"\e673"}.mdi-action-shop-two:before{content:"\e674"}.mdi-action-speaker-notes:before{content:"\e675"}.mdi-action-spellcheck:before{content:"\e676"}.mdi-action-star-rate:before{content:"\e677"}.mdi-action-stars:before{content:"\e678"}.mdi-action-store:before{content:"\e679"}.mdi-action-subject:before{content:"\e67a"}.mdi-action-swap-horiz:before{content:"\e67b"}.mdi-action-swap-vert:before{content:"\e67c"}.mdi-action-swap-vert-circle:before{content:"\e67d"}.mdi-action-system-update-tv:before{content:"\e67e"}.mdi-action-tab:before{content:"\e67f"}.mdi-action-tab-unselected:before{content:"\e680"}.mdi-action-theaters:before{content:"\e681"}.mdi-action-thumb-down:before{content:"\e682"}.mdi-action-thumbs-up-down:before{content:"\e683"}.mdi-action-thumb-up:before{content:"\e684"}.mdi-action-toc:before{content:"\e685"}.mdi-action-today:before{content:"\e686"}.mdi-action-track-changes:before{content:"\e687"}.mdi-action-translate:before{content:"\e688"}.mdi-action-trending-down:before{content:"\e689"}.mdi-action-trending-neutral:before{content:"\e68a"}.mdi-action-trending-up:before{content:"\e68b"}.mdi-action-turned-in:before{content:"\e68c"}.mdi-action-turned-in-not:before{content:"\e68d"}.mdi-action-verified-user:before{content:"\e68e"}.mdi-action-view-agenda:before{content:"\e68f"}.mdi-action-view-array:before{content:"\e690"}.mdi-action-view-carousel:before{content:"\e691"}.mdi-action-view-column:before{content:"\e692"}.mdi-action-view-day:before{content:"\e693"}.mdi-action-view-headline:before{content:"\e694"}.mdi-action-view-list:before{content:"\e695"}.mdi-action-view-module:before{content:"\e696"}.mdi-action-view-quilt:before{content:"\e697"}.mdi-action-view-stream:before{content:"\e698"}.mdi-action-view-week:before{content:"\e699"}.mdi-action-visibility:before{content:"\e69a"}.mdi-action-visibility-off:before{content:"\e69b"}.mdi-action-wallet-giftcard:before{content:"\e69c"}.mdi-action-wallet-membership:before{content:"\e69d"}.mdi-action-wallet-travel:before{content:"\e69e"}.mdi-action-work:before{content:"\e69f"}.mdi-alert-error:before{content:"\e6a0"}.mdi-alert-warning:before{content:"\e6a1"}.mdi-av-album:before{content:"\e6a2"}.mdi-av-timer:before{content:"\e6a3"}.mdi-av-closed-caption:before{content:"\e6a4"}.mdi-av-equalizer:before{content:"\e6a5"}.mdi-av-explicit:before{content:"\e6a6"}.mdi-av-fast-forward:before{content:"\e6a7"}.mdi-av-fast-rewind:before{content:"\e6a8"}.mdi-av-games:before{content:"\e6a9"}.mdi-av-hearing:before{content:"\e6aa"}.mdi-av-high-quality:before{content:"\e6ab"}.mdi-av-loop:before{content:"\e6ac"}.mdi-av-mic:before{content:"\e6ad"}.mdi-av-mic-none:before{content:"\e6ae"}.mdi-av-mic-off:before{content:"\e6af"}.mdi-av-movie:before{content:"\e6b0"}.mdi-av-my-library-add:before{content:"\e6b1"}.mdi-av-my-library-books:before{content:"\e6b2"}.mdi-av-my-library-music:before{content:"\e6b3"}.mdi-av-new-releases:before{content:"\e6b4"}.mdi-av-not-interested:before{content:"\e6b5"}.mdi-av-pause:before{content:"\e6b6"}.mdi-av-pause-circle-fill:before{content:"\e6b7"}.mdi-av-pause-circle-outline:before{content:"\e6b8"}.mdi-av-play-arrow:before{content:"\e6b9"}.mdi-av-play-circle-fill:before{content:"\e6ba"}.mdi-av-play-circle-outline:before{content:"\e6bb"}.mdi-av-playlist-add:before{content:"\e6bc"}.mdi-av-play-shopping-bag:before{content:"\e6bd"}.mdi-av-queue:before{content:"\e6be"}.mdi-av-queue-music:before{content:"\e6bf"}.mdi-av-radio:before{content:"\e6c0"}.mdi-av-recent-actors:before{content:"\e6c1"}.mdi-av-repeat:before{content:"\e6c2"}.mdi-av-repeat-one:before{content:"\e6c3"}.mdi-av-replay:before{content:"\e6c4"}.mdi-av-shuffle:before{content:"\e6c5"}.mdi-av-skip-next:before{content:"\e6c6"}.mdi-av-skip-previous:before{content:"\e6c7"}.mdi-av-snooze:before{content:"\e6c8"}.mdi-av-stop:before{content:"\e6c9"}.mdi-av-subtitles:before{content:"\e6ca"}.mdi-av-surround-sound:before{content:"\e6cb"}.mdi-av-videocam:before{content:"\e6cc"}.mdi-av-videocam-off:before{content:"\e6cd"}.mdi-av-video-collection:before{content:"\e6ce"}.mdi-av-volume-down:before{content:"\e6cf"}.mdi-av-volume-mute:before{content:"\e6d0"}.mdi-av-volume-off:before{content:"\e6d1"}.mdi-av-volume-up:before{content:"\e6d2"}.mdi-av-web:before{content:"\e6d3"}.mdi-communication-business:before{content:"\e6d4"}.mdi-communication-call:before{content:"\e6d5"}.mdi-communication-call-end:before{content:"\e6d6"}.mdi-communication-call-made:before{content:"\e6d7"}.mdi-communication-call-merge:before{content:"\e6d8"}.mdi-communication-call-missed:before{content:"\e6d9"}.mdi-communication-call-received:before{content:"\e6da"}.mdi-communication-call-split:before{content:"\e6db"}.mdi-communication-chat:before{content:"\e6dc"}.mdi-communication-clear-all:before{content:"\e6dd"}.mdi-communication-comment:before{content:"\e6de"}.mdi-communication-contacts:before{content:"\e6df"}.mdi-communication-dialer-sip:before{content:"\e6e0"}.mdi-communication-dialpad:before{content:"\e6e1"}.mdi-communication-dnd-on:before{content:"\e6e2"}.mdi-communication-email:before{content:"\e6e3"}.mdi-communication-forum:before{content:"\e6e4"}.mdi-communication-import-export:before{content:"\e6e5"}.mdi-communication-invert-colors-off:before{content:"\e6e6"}.mdi-communication-invert-colors-on:before{content:"\e6e7"}.mdi-communication-live-help:before{content:"\e6e8"}.mdi-communication-location-off:before{content:"\e6e9"}.mdi-communication-location-on:before{content:"\e6ea"}.mdi-communication-message:before{content:"\e6eb"}.mdi-communication-messenger:before{content:"\e6ec"}.mdi-communication-no-sim:before{content:"\e6ed"}.mdi-communication-phone:before{content:"\e6ee"}.mdi-communication-portable-wifi-off:before{content:"\e6ef"}.mdi-communication-quick-contacts-dialer:before{content:"\e6f0"}.mdi-communication-quick-contacts-mail:before{content:"\e6f1"}.mdi-communication-ring-volume:before{content:"\e6f2"}.mdi-communication-stay-current-landscape:before{content:"\e6f3"}.mdi-communication-stay-current-portrait:before{content:"\e6f4"}.mdi-communication-stay-primary-landscape:before{content:"\e6f5"}.mdi-communication-stay-primary-portrait:before{content:"\e6f6"}.mdi-communication-swap-calls:before{content:"\e6f7"}.mdi-communication-textsms:before{content:"\e6f8"}.mdi-communication-voicemail:before{content:"\e6f9"}.mdi-communication-vpn-key:before{content:"\e6fa"}.mdi-content-add:before{content:"\e6fb"}.mdi-content-add-box:before{content:"\e6fc"}.mdi-content-add-circle:before{content:"\e6fd"}.mdi-content-add-circle-outline:before{content:"\e6fe"}.mdi-content-archive:before{content:"\e6ff"}.mdi-content-backspace:before{content:"\e700"}.mdi-content-block:before{content:"\e701"}.mdi-content-clear:before{content:"\e702"}.mdi-content-content-copy:before{content:"\e703"}.mdi-content-content-cut:before{content:"\e704"}.mdi-content-content-paste:before{content:"\e705"}.mdi-content-create:before{content:"\e706"}.mdi-content-drafts:before{content:"\e707"}.mdi-content-filter-list:before{content:"\e708"}.mdi-content-flag:before{content:"\e709"}.mdi-content-forward:before{content:"\e70a"}.mdi-content-gesture:before{content:"\e70b"}.mdi-content-inbox:before{content:"\e70c"}.mdi-content-link:before{content:"\e70d"}.mdi-content-mail:before{content:"\e70e"}.mdi-content-markunread:before{content:"\e70f"}.mdi-content-redo:before{content:"\e710"}.mdi-content-remove:before{content:"\e711"}.mdi-content-remove-circle:before{content:"\e712"}.mdi-content-remove-circle-outline:before{content:"\e713"}.mdi-content-reply:before{content:"\e714"}.mdi-content-reply-all:before{content:"\e715"}.mdi-content-report:before{content:"\e716"}.mdi-content-save:before{content:"\e717"}.mdi-content-select-all:before{content:"\e718"}.mdi-content-send:before{content:"\e719"}.mdi-content-sort:before{content:"\e71a"}.mdi-content-text-format:before{content:"\e71b"}.mdi-content-undo:before{content:"\e71c"}.mdi-device-access-alarm:before{content:"\e71d"}.mdi-device-access-alarms:before{content:"\e71e"}.mdi-device-access-time:before{content:"\e71f"}.mdi-device-add-alarm:before{content:"\e720"}.mdi-device-airplanemode-off:before{content:"\e721"}.mdi-device-airplanemode-on:before{content:"\e722"}.mdi-device-battery-20:before{content:"\e723"}.mdi-device-battery-30:before{content:"\e724"}.mdi-device-battery-50:before{content:"\e725"}.mdi-device-battery-60:before{content:"\e726"}.mdi-device-battery-80:before{content:"\e727"}.mdi-device-battery-90:before{content:"\e728"}.mdi-device-battery-alert:before{content:"\e729"}.mdi-device-battery-charging-20:before{content:"\e72a"}.mdi-device-battery-charging-30:before{content:"\e72b"}.mdi-device-battery-charging-50:before{content:"\e72c"}.mdi-device-battery-charging-60:before{content:"\e72d"}.mdi-device-battery-charging-80:before{content:"\e72e"}.mdi-device-battery-charging-90:before{content:"\e72f"}.mdi-device-battery-charging-full:before{content:"\e730"}.mdi-device-battery-full:before{content:"\e731"}.mdi-device-battery-std:before{content:"\e732"}.mdi-device-battery-unknown:before{content:"\e733"}.mdi-device-bluetooth:before{content:"\e734"}.mdi-device-bluetooth-connected:before{content:"\e735"}.mdi-device-bluetooth-disabled:before{content:"\e736"}.mdi-device-bluetooth-searching:before{content:"\e737"}.mdi-device-brightness-auto:before{content:"\e738"}.mdi-device-brightness-high:before{content:"\e739"}.mdi-device-brightness-low:before{content:"\e73a"}.mdi-device-brightness-medium:before{content:"\e73b"}.mdi-device-data-usage:before{content:"\e73c"}.mdi-device-developer-mode:before{content:"\e73d"}.mdi-device-devices:before{content:"\e73e"}.mdi-device-dvr:before{content:"\e73f"}.mdi-device-gps-fixed:before{content:"\e740"}.mdi-device-gps-not-fixed:before{content:"\e741"}.mdi-device-gps-off:before{content:"\e742"}.mdi-device-location-disabled:before{content:"\e743"}.mdi-device-location-searching:before{content:"\e744"}.mdi-device-multitrack-audio:before{content:"\e745"}.mdi-device-network-cell:before{content:"\e746"}.mdi-device-network-wifi:before{content:"\e747"}.mdi-device-nfc:before{content:"\e748"}.mdi-device-now-wallpaper:before{content:"\e749"}.mdi-device-now-widgets:before{content:"\e74a"}.mdi-device-screen-lock-landscape:before{content:"\e74b"}.mdi-device-screen-lock-portrait:before{content:"\e74c"}.mdi-device-screen-lock-rotation:before{content:"\e74d"}.mdi-device-screen-rotation:before{content:"\e74e"}.mdi-device-sd-storage:before{content:"\e74f"}.mdi-device-settings-system-daydream:before{content:"\e750"}.mdi-device-signal-cellular-0-bar:before{content:"\e751"}.mdi-device-signal-cellular-1-bar:before{content:"\e752"}.mdi-device-signal-cellular-2-bar:before{content:"\e753"}.mdi-device-signal-cellular-3-bar:before{content:"\e754"}.mdi-device-signal-cellular-4-bar:before{content:"\e755"}.mdi-device-signal-cellular-connected-no-internet-0-bar:before{content:"\e756"}.mdi-device-signal-cellular-connected-no-internet-1-bar:before{content:"\e757"}.mdi-device-signal-cellular-connected-no-internet-2-bar:before{content:"\e758"}.mdi-device-signal-cellular-connected-no-internet-3-bar:before{content:"\e759"}.mdi-device-signal-cellular-connected-no-internet-4-bar:before{content:"\e75a"}.mdi-device-signal-cellular-no-sim:before{content:"\e75b"}.mdi-device-signal-cellular-null:before{content:"\e75c"}.mdi-device-signal-cellular-off:before{content:"\e75d"}.mdi-device-signal-wifi-0-bar:before{content:"\e75e"}.mdi-device-signal-wifi-1-bar:before{content:"\e75f"}.mdi-device-signal-wifi-2-bar:before{content:"\e760"}.mdi-device-signal-wifi-3-bar:before{content:"\e761"}.mdi-device-signal-wifi-4-bar:before{content:"\e762"}.mdi-device-signal-wifi-off:before{content:"\e763"}.mdi-device-storage:before{content:"\e764"}.mdi-device-usb:before{content:"\e765"}.mdi-device-wifi-lock:before{content:"\e766"}.mdi-device-wifi-tethering:before{content:"\e767"}.mdi-editor-attach-file:before{content:"\e768"}.mdi-editor-attach-money:before{content:"\e769"}.mdi-editor-border-all:before{content:"\e76a"}.mdi-editor-border-bottom:before{content:"\e76b"}.mdi-editor-border-clear:before{content:"\e76c"}.mdi-editor-border-color:before{content:"\e76d"}.mdi-editor-border-horizontal:before{content:"\e76e"}.mdi-editor-border-inner:before{content:"\e76f"}.mdi-editor-border-left:before{content:"\e770"}.mdi-editor-border-outer:before{content:"\e771"}.mdi-editor-border-right:before{content:"\e772"}.mdi-editor-border-style:before{content:"\e773"}.mdi-editor-border-top:before{content:"\e774"}.mdi-editor-border-vertical:before{content:"\e775"}.mdi-editor-format-align-center:before{content:"\e776"}.mdi-editor-format-align-justify:before{content:"\e777"}.mdi-editor-format-align-left:before{content:"\e778"}.mdi-editor-format-align-right:before{content:"\e779"}.mdi-editor-format-bold:before{content:"\e77a"}.mdi-editor-format-clear:before{content:"\e77b"}.mdi-editor-format-color-fill:before{content:"\e77c"}.mdi-editor-format-color-reset:before{content:"\e77d"}.mdi-editor-format-color-text:before{content:"\e77e"}.mdi-editor-format-indent-decrease:before{content:"\e77f"}.mdi-editor-format-indent-increase:before{content:"\e780"}.mdi-editor-format-italic:before{content:"\e781"}.mdi-editor-format-line-spacing:before{content:"\e782"}.mdi-editor-format-list-bulleted:before{content:"\e783"}.mdi-editor-format-list-numbered:before{content:"\e784"}.mdi-editor-format-paint:before{content:"\e785"}.mdi-editor-format-quote:before{content:"\e786"}.mdi-editor-format-size:before{content:"\e787"}.mdi-editor-format-strikethrough:before{content:"\e788"}.mdi-editor-format-textdirection-l-to-r:before{content:"\e789"}.mdi-editor-format-textdirection-r-to-l:before{content:"\e78a"}.mdi-editor-format-underline:before{content:"\e78b"}.mdi-editor-functions:before{content:"\e78c"}.mdi-editor-insert-chart:before{content:"\e78d"}.mdi-editor-insert-comment:before{content:"\e78e"}.mdi-editor-insert-drive-file:before{content:"\e78f"}.mdi-editor-insert-emoticon:before{content:"\e790"}.mdi-editor-insert-invitation:before{content:"\e791"}.mdi-editor-insert-link:before{content:"\e792"}.mdi-editor-insert-photo:before{content:"\e793"}.mdi-editor-merge-type:before{content:"\e794"}.mdi-editor-mode-comment:before{content:"\e795"}.mdi-editor-mode-edit:before{content:"\e796"}.mdi-editor-publish:before{content:"\e797"}.mdi-editor-vertical-align-bottom:before{content:"\e798"}.mdi-editor-vertical-align-center:before{content:"\e799"}.mdi-editor-vertical-align-top:before{content:"\e79a"}.mdi-editor-wrap-text:before{content:"\e79b"}.mdi-file-attachment:before{content:"\e79c"}.mdi-file-cloud:before{content:"\e79d"}.mdi-file-cloud-circle:before{content:"\e79e"}.mdi-file-cloud-done:before{content:"\e79f"}.mdi-file-cloud-download:before{content:"\e7a0"}.mdi-file-cloud-off:before{content:"\e7a1"}.mdi-file-cloud-queue:before{content:"\e7a2"}.mdi-file-cloud-upload:before{content:"\e7a3"}.mdi-file-file-download:before{content:"\e7a4"}.mdi-file-file-upload:before{content:"\e7a5"}.mdi-file-folder:before{content:"\e7a6"}.mdi-file-folder-open:before{content:"\e7a7"}.mdi-file-folder-shared:before{content:"\e7a8"}.mdi-hardware-cast:before{content:"\e7a9"}.mdi-hardware-cast-connected:before{content:"\e7aa"}.mdi-hardware-computer:before{content:"\e7ab"}.mdi-hardware-desktop-mac:before{content:"\e7ac"}.mdi-hardware-desktop-windows:before{content:"\e7ad"}.mdi-hardware-dock:before{content:"\e7ae"}.mdi-hardware-gamepad:before{content:"\e7af"}.mdi-hardware-headset:before{content:"\e7b0"}.mdi-hardware-headset-mic:before{content:"\e7b1"}.mdi-hardware-keyboard:before{content:"\e7b2"}.mdi-hardware-keyboard-alt:before{content:"\e7b3"}.mdi-hardware-keyboard-arrow-down:before{content:"\e7b4"}.mdi-hardware-keyboard-arrow-left:before{content:"\e7b5"}.mdi-hardware-keyboard-arrow-right:before{content:"\e7b6"}.mdi-hardware-keyboard-arrow-up:before{content:"\e7b7"}.mdi-hardware-keyboard-backspace:before{content:"\e7b8"}.mdi-hardware-keyboard-capslock:before{content:"\e7b9"}.mdi-hardware-keyboard-control:before{content:"\e7ba"}.mdi-hardware-keyboard-hide:before{content:"\e7bb"}.mdi-hardware-keyboard-return:before{content:"\e7bc"}.mdi-hardware-keyboard-tab:before{content:"\e7bd"}.mdi-hardware-keyboard-voice:before{content:"\e7be"}.mdi-hardware-laptop:before{content:"\e7bf"}.mdi-hardware-laptop-chromebook:before{content:"\e7c0"}.mdi-hardware-laptop-mac:before{content:"\e7c1"}.mdi-hardware-laptop-windows:before{content:"\e7c2"}.mdi-hardware-memory:before{content:"\e7c3"}.mdi-hardware-mouse:before{content:"\e7c4"}.mdi-hardware-phone-android:before{content:"\e7c5"}.mdi-hardware-phone-iphone:before{content:"\e7c6"}.mdi-hardware-phonelink:before{content:"\e7c7"}.mdi-hardware-phonelink-off:before{content:"\e7c8"}.mdi-hardware-security:before{content:"\e7c9"}.mdi-hardware-sim-card:before{content:"\e7ca"}.mdi-hardware-smartphone:before{content:"\e7cb"}.mdi-hardware-speaker:before{content:"\e7cc"}.mdi-hardware-tablet:before{content:"\e7cd"}.mdi-hardware-tablet-android:before{content:"\e7ce"}.mdi-hardware-tablet-mac:before{content:"\e7cf"}.mdi-hardware-tv:before{content:"\e7d0"}.mdi-hardware-watch:before{content:"\e7d1"}.mdi-image-add-to-photos:before{content:"\e7d2"}.mdi-image-adjust:before{content:"\e7d3"}.mdi-image-assistant-photo:before{content:"\e7d4"}.mdi-image-audiotrack:before{content:"\e7d5"}.mdi-image-blur-circular:before{content:"\e7d6"}.mdi-image-blur-linear:before{content:"\e7d7"}.mdi-image-blur-off:before{content:"\e7d8"}.mdi-image-blur-on:before{content:"\e7d9"}.mdi-image-brightness-1:before{content:"\e7da"}.mdi-image-brightness-2:before{content:"\e7db"}.mdi-image-brightness-3:before{content:"\e7dc"}.mdi-image-brightness-4:before{content:"\e7dd"}.mdi-image-brightness-5:before{content:"\e7de"}.mdi-image-brightness-6:before{content:"\e7df"}.mdi-image-brightness-7:before{content:"\e7e0"}.mdi-image-brush:before{content:"\e7e1"}.mdi-image-camera:before{content:"\e7e2"}.mdi-image-camera-alt:before{content:"\e7e3"}.mdi-image-camera-front:before{content:"\e7e4"}.mdi-image-camera-rear:before{content:"\e7e5"}.mdi-image-camera-roll:before{content:"\e7e6"}.mdi-image-center-focus-strong:before{content:"\e7e7"}.mdi-image-center-focus-weak:before{content:"\e7e8"}.mdi-image-collections:before{content:"\e7e9"}.mdi-image-colorize:before{content:"\e7ea"}.mdi-image-color-lens:before{content:"\e7eb"}.mdi-image-compare:before{content:"\e7ec"}.mdi-image-control-point:before{content:"\e7ed"}.mdi-image-control-point-duplicate:before{content:"\e7ee"}.mdi-image-crop:before{content:"\e7ef"}.mdi-image-crop-3-2:before{content:"\e7f0"}.mdi-image-crop-5-4:before{content:"\e7f1"}.mdi-image-crop-7-5:before{content:"\e7f2"}.mdi-image-crop-16-9:before{content:"\e7f3"}.mdi-image-crop-din:before{content:"\e7f4"}.mdi-image-crop-free:before{content:"\e7f5"}.mdi-image-crop-landscape:before{content:"\e7f6"}.mdi-image-crop-original:before{content:"\e7f7"}.mdi-image-crop-portrait:before{content:"\e7f8"}.mdi-image-crop-square:before{content:"\e7f9"}.mdi-image-dehaze:before{content:"\e7fa"}.mdi-image-details:before{content:"\e7fb"}.mdi-image-edit:before{content:"\e7fc"}.mdi-image-exposure:before{content:"\e7fd"}.mdi-image-exposure-minus-1:before{content:"\e7fe"}.mdi-image-exposure-minus-2:before{content:"\e7ff"}.mdi-image-exposure-plus-1:before{content:"\e800"}.mdi-image-exposure-plus-2:before{content:"\e801"}.mdi-image-exposure-zero:before{content:"\e802"}.mdi-image-filter:before{content:"\e803"}.mdi-image-filter-1:before{content:"\e804"}.mdi-image-filter-2:before{content:"\e805"}.mdi-image-filter-3:before{content:"\e806"}.mdi-image-filter-4:before{content:"\e807"}.mdi-image-filter-5:before{content:"\e808"}.mdi-image-filter-6:before{content:"\e809"}.mdi-image-filter-7:before{content:"\e80a"}.mdi-image-filter-8:before{content:"\e80b"}.mdi-image-filter-9:before{content:"\e80c"}.mdi-image-filter-9-plus:before{content:"\e80d"}.mdi-image-filter-b-and-w:before{content:"\e80e"}.mdi-image-filter-center-focus:before{content:"\e80f"}.mdi-image-filter-drama:before{content:"\e810"}.mdi-image-filter-frames:before{content:"\e811"}.mdi-image-filter-hdr:before{content:"\e812"}.mdi-image-filter-none:before{content:"\e813"}.mdi-image-filter-tilt-shift:before{content:"\e814"}.mdi-image-filter-vintage:before{content:"\e815"}.mdi-image-flare:before{content:"\e816"}.mdi-image-flash-auto:before{content:"\e817"}.mdi-image-flash-off:before{content:"\e818"}.mdi-image-flash-on:before{content:"\e819"}.mdi-image-flip:before{content:"\e81a"}.mdi-image-gradient:before{content:"\e81b"}.mdi-image-grain:before{content:"\e81c"}.mdi-image-grid-off:before{content:"\e81d"}.mdi-image-grid-on:before{content:"\e81e"}.mdi-image-hdr-off:before{content:"\e81f"}.mdi-image-hdr-on:before{content:"\e820"}.mdi-image-hdr-strong:before{content:"\e821"}.mdi-image-hdr-weak:before{content:"\e822"}.mdi-image-healing:before{content:"\e823"}.mdi-image-image:before{content:"\e824"}.mdi-image-image-aspect-ratio:before{content:"\e825"}.mdi-image-iso:before{content:"\e826"}.mdi-image-landscape:before{content:"\e827"}.mdi-image-leak-add:before{content:"\e828"}.mdi-image-leak-remove:before{content:"\e829"}.mdi-image-lens:before{content:"\e82a"}.mdi-image-looks:before{content:"\e82b"}.mdi-image-looks-3:before{content:"\e82c"}.mdi-image-looks-4:before{content:"\e82d"}.mdi-image-looks-5:before{content:"\e82e"}.mdi-image-looks-6:before{content:"\e82f"}.mdi-image-looks-one:before{content:"\e830"}.mdi-image-looks-two:before{content:"\e831"}.mdi-image-loupe:before{content:"\e832"}.mdi-image-movie-creation:before{content:"\e833"}.mdi-image-nature:before{content:"\e834"}.mdi-image-nature-people:before{content:"\e835"}.mdi-image-navigate-:before{content:"\e836"}.mdi-image-navigate-next:before{content:"\e837"}.mdi-image-palette:before{content:"\e838"}.mdi-image-panorama:before{content:"\e839"}.mdi-image-panorama-fisheye:before{content:"\e83a"}.mdi-image-panorama-horizontal:before{content:"\e83b"}.mdi-image-panorama-vertical:before{content:"\e83c"}.mdi-image-panorama-wide-angle:before{content:"\e83d"}.mdi-image-photo:before{content:"\e83e"}.mdi-image-photo-album:before{content:"\e83f"}.mdi-image-photo-camera:before{content:"\e840"}.mdi-image-photo-library:before{content:"\e841"}.mdi-image-portrait:before{content:"\e842"}.mdi-image-remove-red-eye:before{content:"\e843"}.mdi-image-rotate-left:before{content:"\e844"}.mdi-image-rotate-right:before{content:"\e845"}.mdi-image-slideshow:before{content:"\e846"}.mdi-image-straighten:before{content:"\e847"}.mdi-image-style:before{content:"\e848"}.mdi-image-switch-camera:before{content:"\e849"}.mdi-image-switch-video:before{content:"\e84a"}.mdi-image-tag-faces:before{content:"\e84b"}.mdi-image-texture:before{content:"\e84c"}.mdi-image-timelapse:before{content:"\e84d"}.mdi-image-timer:before{content:"\e84e"}.mdi-image-timer-3:before{content:"\e84f"}.mdi-image-timer-10:before{content:"\e850"}.mdi-image-timer-auto:before{content:"\e851"}.mdi-image-timer-off:before{content:"\e852"}.mdi-image-tonality:before{content:"\e853"}.mdi-image-transform:before{content:"\e854"}.mdi-image-tune:before{content:"\e855"}.mdi-image-wb-auto:before{content:"\e856"}.mdi-image-wb-cloudy:before{content:"\e857"}.mdi-image-wb-incandescent:before{content:"\e858"}.mdi-image-wb-irradescent:before{content:"\e859"}.mdi-image-wb-sunny:before{content:"\e85a"}.mdi-maps-beenhere:before{content:"\e85b"}.mdi-maps-directions:before{content:"\e85c"}.mdi-maps-directions-bike:before{content:"\e85d"}.mdi-maps-directions-bus:before{content:"\e85e"}.mdi-maps-directions-car:before{content:"\e85f"}.mdi-maps-directions-ferry:before{content:"\e860"}.mdi-maps-directions-subway:before{content:"\e861"}.mdi-maps-directions-train:before{content:"\e862"}.mdi-maps-directions-transit:before{content:"\e863"}.mdi-maps-directions-walk:before{content:"\e864"}.mdi-maps-flight:before{content:"\e865"}.mdi-maps-hotel:before{content:"\e866"}.mdi-maps-layers:before{content:"\e867"}.mdi-maps-layers-clear:before{content:"\e868"}.mdi-maps-local-airport:before{content:"\e869"}.mdi-maps-local-atm:before{content:"\e86a"}.mdi-maps-local-attraction:before{content:"\e86b"}.mdi-maps-local-bar:before{content:"\e86c"}.mdi-maps-local-cafe:before{content:"\e86d"}.mdi-maps-local-car-wash:before{content:"\e86e"}.mdi-maps-local-convenience-store:before{content:"\e86f"}.mdi-maps-local-drink:before{content:"\e870"}.mdi-maps-local-florist:before{content:"\e871"}.mdi-maps-local-gas-station:before{content:"\e872"}.mdi-maps-local-grocery-store:before{content:"\e873"}.mdi-maps-local-hospital:before{content:"\e874"}.mdi-maps-local-hotel:before{content:"\e875"}.mdi-maps-local-laundry-service:before{content:"\e876"}.mdi-maps-local-library:before{content:"\e877"}.mdi-maps-local-mall:before{content:"\e878"}.mdi-maps-local-movies:before{content:"\e879"}.mdi-maps-local-offer:before{content:"\e87a"}.mdi-maps-local-parking:before{content:"\e87b"}.mdi-maps-local-pharmacy:before{content:"\e87c"}.mdi-maps-local-phone:before{content:"\e87d"}.mdi-maps-local-pizza:before{content:"\e87e"}.mdi-maps-local-play:before{content:"\e87f"}.mdi-maps-local-post-office:before{content:"\e880"}.mdi-maps-local-print-shop:before{content:"\e881"}.mdi-maps-local-restaurant:before{content:"\e882"}.mdi-maps-local-see:before{content:"\e883"}.mdi-maps-local-shipping:before{content:"\e884"}.mdi-maps-local-taxi:before{content:"\e885"}.mdi-maps-location-history:before{content:"\e886"}.mdi-maps-map:before{content:"\e887"}.mdi-maps-my-location:before{content:"\e888"}.mdi-maps-navigation:before{content:"\e889"}.mdi-maps-pin-drop:before{content:"\e88a"}.mdi-maps-place:before{content:"\e88b"}.mdi-maps-rate-review:before{content:"\e88c"}.mdi-maps-restaurant-menu:before{content:"\e88d"}.mdi-maps-satellite:before{content:"\e88e"}.mdi-maps-store-mall-directory:before{content:"\e88f"}.mdi-maps-terrain:before{content:"\e890"}.mdi-maps-traffic:before{content:"\e891"}.mdi-navigation-apps:before{content:"\e892"}.mdi-navigation-arrow-back:before{content:"\e893"}.mdi-navigation-arrow-drop-down:before{content:"\e894"}.mdi-navigation-arrow-drop-down-circle:before{content:"\e895"}.mdi-navigation-arrow-drop-up:before{content:"\e896"}.mdi-navigation-arrow-forward:before{content:"\e897"}.mdi-navigation-cancel:before{content:"\e898"}.mdi-navigation-check:before{content:"\e899"}.mdi-navigation-chevron-left:before{content:"\e89a"}.mdi-navigation-chevron-right:before{content:"\e89b"}.mdi-navigation-close:before{content:"\e89c"}.mdi-navigation-expand-less:before{content:"\e89d"}.mdi-navigation-expand-more:before{content:"\e89e"}.mdi-navigation-fullscreen:before{content:"\e89f"}.mdi-navigation-fullscreen-exit:before{content:"\e8a0"}.mdi-navigation-menu:before{content:"\e8a1"}.mdi-navigation-more-horiz:before{content:"\e8a2"}.mdi-navigation-more-vert:before{content:"\e8a3"}.mdi-navigation-refresh:before{content:"\e8a4"}.mdi-navigation-unfold-less:before{content:"\e8a5"}.mdi-navigation-unfold-more:before{content:"\e8a6"}.mdi-notification-adb:before{content:"\e8a7"}.mdi-notification-bluetooth-audio:before{content:"\e8a8"}.mdi-notification-disc-full:before{content:"\e8a9"}.mdi-notification-dnd-forwardslash:before{content:"\e8aa"}.mdi-notification-do-not-disturb:before{content:"\e8ab"}.mdi-notification-drive-eta:before{content:"\e8ac"}.mdi-notification-event-available:before{content:"\e8ad"}.mdi-notification-event-busy:before{content:"\e8ae"}.mdi-notification-event-note:before{content:"\e8af"}.mdi-notification-folder-special:before{content:"\e8b0"}.mdi-notification-mms:before{content:"\e8b1"}.mdi-notification-more:before{content:"\e8b2"}.mdi-notification-network-locked:before{content:"\e8b3"}.mdi-notification-phone-bluetooth-speaker:before{content:"\e8b4"}.mdi-notification-phone-forwarded:before{content:"\e8b5"}.mdi-notification-phone-in-talk:before{content:"\e8b6"}.mdi-notification-phone-locked:before{content:"\e8b7"}.mdi-notification-phone-missed:before{content:"\e8b8"}.mdi-notification-phone-paused:before{content:"\e8b9"}.mdi-notification-play-download:before{content:"\e8ba"}.mdi-notification-play-install:before{content:"\e8bb"}.mdi-notification-sd-card:before{content:"\e8bc"}.mdi-notification-sim-card-alert:before{content:"\e8bd"}.mdi-notification-sms:before{content:"\e8be"}.mdi-notification-sms-failed:before{content:"\e8bf"}.mdi-notification-sync:before{content:"\e8c0"}.mdi-notification-sync-disabled:before{content:"\e8c1"}.mdi-notification-sync-problem:before{content:"\e8c2"}.mdi-notification-system-update:before{content:"\e8c3"}.mdi-notification-tap-and-play:before{content:"\e8c4"}.mdi-notification-time-to-leave:before{content:"\e8c5"}.mdi-notification-vibration:before{content:"\e8c6"}.mdi-notification-voice-chat:before{content:"\e8c7"}.mdi-notification-vpn-lock:before{content:"\e8c8"}.mdi-social-cake:before{content:"\e8c9"}.mdi-social-domain:before{content:"\e8ca"}.mdi-social-group:before{content:"\e8cb"}.mdi-social-group-add:before{content:"\e8cc"}.mdi-social-location-city:before{content:"\e8cd"}.mdi-social-mood:before{content:"\e8ce"}.mdi-social-notifications:before{content:"\e8cf"}.mdi-social-notifications-none:before{content:"\e8d0"}.mdi-social-notifications-off:before{content:"\e8d1"}.mdi-social-notifications-on:before{content:"\e8d2"}.mdi-social-notifications-paused:before{content:"\e8d3"}.mdi-social-pages:before{content:"\e8d4"}.mdi-social-party-mode:before{content:"\e8d5"}.mdi-social-people:before{content:"\e8d6"}.mdi-social-people-outline:before{content:"\e8d7"}.mdi-social-person:before{content:"\e8d8"}.mdi-social-person-add:before{content:"\e8d9"}.mdi-social-person-outline:before{content:"\e8da"}.mdi-social-plus-one:before{content:"\e8db"}.mdi-social-poll:before{content:"\e8dc"}.mdi-social-public:before{content:"\e8dd"}.mdi-social-school:before{content:"\e8de"}.mdi-social-share:before{content:"\e8df"}.mdi-social-whatshot:before{content:"\e8e0"}.mdi-toggle-check-box:before{content:"\e8e1"}.mdi-toggle-check-box-outline-blank:before{content:"\e8e2"}.mdi-toggle-radio-button-off:before{content:"\e8e3"}.mdi-toggle-radio-button-on:before{content:"\e8e4"}[class^="mdi-"],[class*=" mdi-"],.mdi{display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.player .control{display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}@font-face{font-family:"icomoon";src:url("../fonts/icomoon/fonts/icomoon.eot");src:url("../fonts/icomoon/fonts/icomoon.eot?#iefix") format("embedded-opentype"),url("../fonts/icomoon/fonts/icomoon.woff") format("woff"),url("../fonts/icomoon/fonts/icomoon.ttf") format("truetype");font-weight:normal;font-style:normal}#logo{display:inline-block;font-family:"icomoon";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.table-hover>tbody>tr:hover,.songs-table tr.song.menu-open,.songs-table tr.song:hover{background-color:rgba(255,255,255,0.3)}.table-hover>tbody>tr:hover .crop,.songs-table tr.song.menu-open .crop,.songs-table tr.song:hover .crop{position:relative;white-space:nowrap;overflow:hidden}.table-hover>tbody>tr:hover .crop:after,.songs-table tr.song.menu-open .crop:after,.songs-table tr.song:hover .crop:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00E7E7E7', endColorstr='#FFE7E7E7');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U3ZTdlNyIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlN2U3ZTciLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(231,231,231,0)),color-stop(100%, #e7e7e7));background-image:-moz-linear-gradient(left, rgba(231,231,231,0) 0%,#e7e7e7 100%);background-image:-webkit-linear-gradient(left, rgba(231,231,231,0) 0%,#e7e7e7 100%);background-image:linear-gradient(to right, rgba(231,231,231,0) 0%,#e7e7e7 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.shadow-z-1,.card,.snackbar,.landing-page .region-content h3,.card,.snackbar{box-shadow:0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.05)}.shadow-z-2-hover,.btn:hover:not(.btn-link),.btn:hover:not(.btn-link){box-shadow:0 3px 6px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.13)}.table-striped>tbody>tr:nth-child(odd){background-color:rgba(255,255,255,0.5)}.table-striped>tbody>tr>td{border:0}.table>tbody>tr>td{border-top:none}.options-list{padding-bottom:0.5em}.options-list>li{border-bottom:1px solid #ddd}.options-list>li:last-child{border:0}.options-list>li>span,.options-list>li>a{display:block;padding:0.5em 1em;cursor:pointer}.options-list>li>span:hover,.options-list>li>a:hover{background:#12b2e7;color:#fff}.options-list>li>span:hover small,.options-list>li>a:hover small{display:inline}.options-list small{font-size:70%;opacity:0.7;display:none}@media (min-width: 57em){.modal.style-options .modal-dialog{width:300px}}.modal.style-options .modal-footer{display:none}.page-padding,.settings-form .form-content-region,.section-lab .page,.api-method--execute{padding:1em}@media (min-width: 57em){.page-padding,.settings-form .form-content-region,.section-lab .page,.api-method--execute{padding:2em;padding-left:3em}}
-.page,.page-secondary,.api-method--execute,.help--page .region-content-wrapper .region-content,.settings-form{max-width:58em;margin-left:0;background:#fff}.page-secondary,.api-method--execute{background:rgba(255,255,255,0.5)}.page-wrapper,.help--page .region-content-wrapper{padding:0;margin-bottom:4em}.page-wrapper .region-content,.help--page .region-content-wrapper .region-content{padding:0}.browser-page .region-first,.filter-pane,.help--page .region-first,.landing-page .region-first,.local-playlist-list .region-first,.pvr-page .region-first,.epg-page .region-first,.settings-page .region-first{padding:1em 1.5em}.browser-page .region-first h3,.filters-container h3,.local-playlist-list .region-first h3,.modal .playlist-selection-list h3,.region-first .nav-sub h3{font-size:15px;text-transform:uppercase;margin:1em 0;color:#888;font-weight:bold}.browser-page .region-first .source-set,.filters-container .nav-list,.filters-container .selection-list,.filters-container .active-list,.region-first .nav-sub{margin-bottom:2em}.filters-container .nav-list,.filters-container .selection-list,.local-playlist-list .region-first .lists,.modal .playlist-selection-list .lists,.region-first .nav-sub .items{padding-left:1em}.filters-container .nav-list li,.filters-container .selection-list li,.local-playlist-list .region-first .lists li,.modal .playlist-selection-list .lists li,.region-first .nav-sub .items li{padding-bottom:0.5em;position:relative;white-space:nowrap;overflow:hidden;cursor:pointer}.filters-container .nav-list li:after,.filters-container .selection-list li:after,.local-playlist-list .region-first .lists li:after,.modal .playlist-selection-list .lists li:after,.region-first .nav-sub .items li:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00F2F2F2', endColorstr='#FFF2F2F2');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2YyZjJmMiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMmYyZjIiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(242,242,242,0)),color-stop(100%, #f2f2f2));background-image:-moz-linear-gradient(left, rgba(242,242,242,0) 0%,#f2f2f2 100%);background-image:-webkit-linear-gradient(left, rgba(242,242,242,0) 0%,#f2f2f2 100%);background-image:linear-gradient(to right, rgba(242,242,242,0) 0%,#f2f2f2 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.filters-container .nav-list li:hover,.filters-container .selection-list li:hover,.local-playlist-list .region-first .lists li:hover,.modal .playlist-selection-list .lists li:hover,.region-first .nav-sub .items li:hover{color:#12b2e7}.filters-container .nav-list li a,.filters-container .selection-list li a,.local-playlist-list .region-first .lists li a,.modal .playlist-selection-list .lists li a,.region-first .nav-sub .items li a{color:#2b2f30}.filters-container .nav-list li a.active,.filters-container .selection-list li a.active,.local-playlist-list .region-first .lists li a.active,.modal .playlist-selection-list .lists li a.active,.region-first .nav-sub .items li a.active{color:#12b2e7;font-weight:bold}.active-player-local .filters-container .nav-list li a.active,.filters-container .active-player-local .nav-list li a.active,.active-player-local .filters-container .selection-list li a.active,.filters-container .active-player-local .selection-list li a.active,.active-player-local .local-playlist-list .region-first .lists li a.active,.local-playlist-list .region-first .active-player-local .lists li a.active,.active-player-local .modal .playlist-selection-list .lists li a.active,.modal .playlist-selection-list .active-player-local .lists li a.active,.active-player-local .region-first .nav-sub .items li a.active,.region-first .nav-sub .active-player-local .items li a.active{color:#db2464}.browser-page .region-first .sources{padding-left:1em;padding-left:0.5em}.browser-page .region-first .sources li{padding-bottom:0.5em;position:relative;white-space:nowrap;overflow:hidden;cursor:pointer}.browser-page .region-first .sources li:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00F2F2F2', endColorstr='#FFF2F2F2');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2YyZjJmMiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMmYyZjIiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(242,242,242,0)),color-stop(100%, #f2f2f2));background-image:-moz-linear-gradient(left, rgba(242,242,242,0) 0%,#f2f2f2 100%);background-image:-webkit-linear-gradient(left, rgba(242,242,242,0) 0%,#f2f2f2 100%);background-image:linear-gradient(to right, rgba(242,242,242,0) 0%,#f2f2f2 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.browser-page .region-first .sources li:hover{color:#12b2e7}.browser-page .region-first .sources li a{color:#2b2f30}.browser-page .region-first .sources li a.active{color:#12b2e7;font-weight:bold}.active-player-local .browser-page .region-first .sources li a.active,.browser-page .region-first .active-player-local .sources li a.active{color:#db2464}.browser-page .region-first .sources li>div{display:inline-block;padding-left:0.5em}.browser-page .region-first .sources li:before{display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none;opacity:0.3;content:"";font-size:0.9em}@font-face{font-family:"opensans-light";src:url("../fonts/opensans/opensans-light-webfont.eot");src:url("../fonts/opensans/opensans-light-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-light-webfont.woff") format("woff"),url("../fonts/opensans/opensans-light-webfont.ttf") format("truetype");font-weight:"normal";font-style:normal}@font-face{font-family:"opensans";src:url("../fonts/opensans/opensans-regular-webfont.eot");src:url("../fonts/opensans/opensans-regular-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-regular-webfont.woff") format("woff"),url("../fonts/opensans/opensans-regular-webfont.ttf") format("truetype");font-weight:"normal";font-style:normal}html,body{font-family:"opensans",Helvetica,Arial,sans-serif}body{zoom:0.75}@media (min-width: 25em){body{zoom:0.85}}@media (min-width: 37em){body{zoom:0.95}}@media (min-width: 45em){body{zoom:1}}
-a{-webkit-transition:all 0.3s linear;-o-transition:all 0.3s linear;transition:all 0.3s linear}a:focus,a:hover{text-decoration:none;outline:none}h1,h2,h3,h4{font-family:"opensans-light",Helvetica,Arial,sans-serif}.inline-links{margin-top:1.5em}.inline-links li{display:inline-block;margin-right:0.5em}.album--with-songs{position:relative;margin-bottom:20px}@media (min-width: 57em){.album--with-songs .region-album-side{position:absolute}}@media (min-width: 57em) and (min-width: 45em){.album--with-songs .region-album-side{width:190px}}@media (min-width: 57em) and (min-width: 75em){.album--with-songs .region-album-side{width:280px}}@media (min-width: 57em){.album--with-songs .region-album-content{max-width:1100px;padding:0 20px 0 0}}@media (min-width: 57em) and (min-width: 45em){.artist-show .album--with-songs .region-album-content{margin-left:190px}}@media (min-width: 57em) and (min-width: 75em){.artist-show .album--with-songs .region-album-content{margin-left:280px}}@media (min-width: 57em) and (min-width: 45em){.album--with-songs .region-album-content{min-height:190px}}@media (min-width: 57em) and (min-width: 75em){.album--with-songs .region-album-content{min-height:280px}}@media (min-width: 57em){.album--with-songs .card-minimal{padding:0 22px 0 0px}}
-.browser-page .region-first .sources li.type-source:before{content:"\e73e"}.browser-page .region-first .sources li.type-addon:before{content:"\e6b1"}.browser-page .region-content{padding:0}.folder-layout .loading-bar,.folder-layout .path{height:3em;background:rgba(255,255,255,0.3)}.loading .folder-layout .loading-bar,.loading .folder-layout .path{display:none}.folder-layout .loading-bar ul,.folder-layout .path ul{display:table}.folder-layout .loading-bar ul li,.folder-layout .path ul li{display:table-cell;vertical-align:middle;height:3em;padding:0 1em;cursor:pointer;border-right:1px dotted rgba(0,0,0,0.05)}.folder-layout .loading-bar ul li:last-child,.folder-layout .path ul li:last-child{border:none;font-weight:bold}.folder-layout .loading-bar ul li:last-child:hover,.folder-layout .path ul li:last-child:hover{background:none}.folder-layout .loading-bar ul li:hover,.folder-layout .path ul li:hover{background:rgba(0,0,0,0.05)}.folder-layout .loading-bar{display:none}.loading .folder-layout .loading-bar{display:block}.folder-layout .loading-bar .inner{display:table}.folder-layout .loading-bar .inner span{display:table-cell;vertical-align:middle;height:3em;padding:0 1em}.folder-layout .folder-container .folders-pane,.folder-layout .folder-container .files{padding:1em}.folder-layout .folder-container .folders-pane{background:#f9f9f9}@media (min-width: 75em){.folder-layout .folder-container .folders-pane{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:41.6666666667%;float:left}.folder-layout .folder-container .files{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:58.3333333333%;float:right}}.folder-layout .folder,.folder-layout .file,.folder-layout .back-button{height:42px;position:relative;border-bottom:1px solid #eee}.folder-layout .folder .thumb,.folder-layout .file .thumb,.folder-layout .back-button .thumb{width:40px;height:40px;background-position:50% 50%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.folder-layout .folder .thumb,.folder-layout .file .thumb,.folder-layout .back-button .thumb{top:1px;bottom:1px;left:0;position:absolute;z-index:20}.folder-layout .folder .thumb:hover .play,.folder-layout .file .thumb:hover .play,.folder-layout .back-button .thumb:hover .play{display:table}.folder-layout .folder .title,.folder-layout .file .title,.folder-layout .back-button .title{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:0 7px;padding-left:50px;cursor:pointer;line-height:40px}.folder-layout .folder .play,.folder-layout .file .play,.folder-layout .back-button .play{background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;display:table;width:40px;text-align:center;cursor:pointer;display:none;color:#fff;font-size:150%}.folder-layout .folder .play:before,.folder-layout .file .play:before,.folder-layout .back-button .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.folder-layout .folder .play:before,.folder-layout .file .play:before,.folder-layout .back-button .play:before{display:table-cell;vertical-align:middle;height:40px}.folder-layout .folder .play:before,.folder-layout .file .play:before,.folder-layout .back-button .play:before{padding-right:5px}.folder-layout .file .title{position:relative;white-space:nowrap;overflow:hidden;margin-right:3em}.folder-layout .file .title:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00E0DFDF', endColorstr='#FFE0DFDF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2UwZGZkZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMGRmZGYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(224,223,223,0)),color-stop(100%, #e0dfdf));background-image:-moz-linear-gradient(left, rgba(224,223,223,0) 0%,#e0dfdf 100%);background-image:-webkit-linear-gradient(left, rgba(224,223,223,0) 0%,#e0dfdf 100%);background-image:linear-gradient(to right, rgba(224,223,223,0) 0%,#e0dfdf 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.folder-layout .file .menu i{font-size:150%}.folder-layout .file .menu i:before{content:"\e8a2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.folder-layout .file .menu .dropdown-menu{top:0}.folder-layout .file .actions{top:0;right:0px;bottom:0;position:absolute;display:none;width:30px;display:block}.folder-layout .file .actions>li{width:30px;text-align:center;float:left}.folder-layout .file .actions>li i:before,.folder-layout .file .actions>li:before{display:table-cell;vertical-align:middle;width:30px;height:40px;color:#999;cursor:pointer}.folder-layout .folder{position:relative;white-space:nowrap;overflow:hidden}.folder-layout .folder:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00F9F9F9', endColorstr='#FFF9F9F9');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y5ZjlmOSIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmOWY5ZjkiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(249,249,249,0)),color-stop(100%, #f9f9f9));background-image:-moz-linear-gradient(left, rgba(249,249,249,0) 0%,#f9f9f9 100%);background-image:-webkit-linear-gradient(left, rgba(249,249,249,0) 0%,#f9f9f9 100%);background-image:linear-gradient(to right, rgba(249,249,249,0) 0%,#f9f9f9 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.folder-layout .back-button i{display:table;width:39px;text-align:center;cursor:pointer}.folder-layout .back-button i:before{content:"\e89a";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.folder-layout .back-button i:before{display:table-cell;vertical-align:middle;height:39px}.folder-layout .back-button i:before{background:#DBDBDB;font-size:150%;color:#B5B5B5;width:40px}.card-detail .entity-progress{display:none}.card-detail .meta{display:none}.card-detail .card-album,.card-detail .card-artist{width:158px}.card-detail .card-album .artwork,.card-detail .card-album .artwork .thumb,.card-detail .card-artist .artwork,.card-detail .card-artist .artwork .thumb{width:158px;height:158px}@media (min-width: 75em){.card-detail .card-album,.card-detail .card-artist{width:238px}.card-detail .card-album .artwork,.card-detail .card-album .artwork .thumb,.card-detail .card-artist .artwork,.card-detail .card-artist .artwork .thumb{width:238px;height:238px}}.card-detail .card-movie,.card-detail .card-tvshow,.card-detail .card-season{width:158px}.card-detail .card-movie .artwork,.card-detail .card-movie .artwork .thumb,.card-detail .card-tvshow .artwork,.card-detail .card-tvshow .artwork .thumb,.card-detail .card-season .artwork,.card-detail .card-season .artwork .thumb{width:158px;height:236px}@media (min-width: 75em){.card-detail .card-movie,.card-detail .card-tvshow,.card-detail .card-season{width:238px}.card-detail .card-movie .artwork,.card-detail .card-movie .artwork .thumb,.card-detail .card-tvshow .artwork,.card-detail .card-tvshow .artwork .thumb,.card-detail .card-season .artwork,.card-detail .card-season .artwork .thumb{width:238px;height:357px}}.card-detail .card-episode{width:158px}.card-detail .card-episode .artwork,.card-detail .card-episode .artwork .thumb{width:158px;height:99px}@media (min-width: 75em){.card-detail .card-episode{width:238px}.card-detail .card-episode .artwork,.card-detail .card-episode .artwork .thumb{width:238px;height:150px}}
-.card-minimal{color:#888;width:200px;height:auto;margin:5px;background:#fff;position:relative;overflow:hidden;width:47px;height:auto;width:100%;margin:2em 0 0.5em;padding:0;overflow:visible}.card-minimal a{color:#888}.card-minimal .title a{color:#2b2f30}.card-minimal .subtitle{font-size:85%;margin-top:5px}.card-minimal .dropdown i,.card-minimal .actions li,.card-minimal .play{color:rgba(255,255,255,0.8)}.card-minimal .dropdown i:hover,.card-minimal .actions li:hover,.card-minimal .play:hover{color:#fff}.card-minimal .record{color:rgba(255,255,255,0.8)}.card-minimal .record:hover{color:#f00}.card-minimal.ph{opacity:0.1;-webkit-box-shadow:none;box-shadow:none}.card-minimal .artwork{background:transparent;overflow:hidden;letter-spacing:-0.31em;width:200px;height:200px;position:relative;background:#ccc}.card-minimal .artwork img{display:block;vertical-align:middle;width:200px;margin-top:0}.card-minimal .artwork .thumb{width:200px;height:200px;background-position:50% 0;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.card-minimal .artwork a{display:block}.card-minimal .artwork .thumb:after{content:"";top:0;right:0;left:0;position:absolute;height:auto;background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;opacity:0;-webkit-transition:0.1s all linear;-o-transition:0.1s all linear;transition:0.1s all linear}.card-minimal .entity-progress{right:0;bottom:0;left:0;position:absolute;top:auto;z-index:20}.card-minimal .entity-progress .current-progress{height:2px;background:#12b2e7}.card-minimal .watched-tick{color:#12b2e7;right:10px;bottom:3px;position:absolute;font-size:125%;display:none}.card-minimal .watched-tick:before{content:"\e899";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .watched{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-minimal .watched:before{content:"\e8e2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .watched:before{display:table-cell;vertical-align:middle;height:1.5em}.thumbs-page .card-minimal .watched{display:none}.card-minimal.is-watched .watched{color:#12b2e7}.card-minimal.is-watched .watched:before{content:"\e8e1";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .thumb{display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.card-minimal .meta{position:relative;padding:8px 10px;width:200px}.card-minimal .meta .title{position:relative;white-space:nowrap;overflow:hidden}.card-minimal .meta .title:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-minimal .meta .subtitle{position:relative;white-space:nowrap;overflow:hidden}.card-minimal .meta .subtitle:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-minimal .play{display:table;width:1.5em;text-align:center;cursor:pointer;bottom:0;left:0;position:absolute;font-size:220%;display:none;z-index:20}.card-minimal .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .play:before{display:table-cell;vertical-align:middle;height:1.5em}.card-minimal .record{display:table;width:1.5em;text-align:center;cursor:pointer;right:5px;bottom:2px;position:absolute;font-size:200%;display:none;z-index:20}.card-minimal .record:before{content:"\e7da";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .record:before{display:table-cell;vertical-align:middle;height:1.5em}.card-minimal .dropdown{top:5px;right:0;position:absolute}.card-minimal .dropdown i{display:table;width:1.5em;text-align:center;cursor:pointer;z-index:20;font-size:180%;display:none}.card-minimal .dropdown i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .dropdown i:before{display:table-cell;vertical-align:middle;height:1.5em}.card-minimal .actions{top:10px;right:35px;position:absolute;display:table;display:none}.card-minimal .actions .thumbs{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-minimal .actions .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .actions .thumbs:before{display:table-cell;vertical-align:middle;height:1.5em}.disable-thumbs .card-minimal .actions .thumbs{display:none}.card-minimal .actions li{float:left;margin-left:3px}.card-minimal .actions li:before{display:table-cell !important}.card-minimal:hover .artwork .thumb:after{opacity:1}.card-minimal:hover .actions,.card-minimal:hover .dropdown i,.card-minimal:hover .play{display:table}.card-minimal:hover .record{display:table}.card-minimal .dropdown-menu{left:auto;right:0px;top:-7px}.card-minimal.thumbs-up .actions .thumbs{color:#12b2e7}.card-minimal .artwork,.card-minimal .artwork .thumb{width:47px;height:47px}@media (min-width: 75em){.card-minimal{width:70px}.card-minimal .artwork,.card-minimal .artwork .thumb{width:70px;height:70px}}.card-minimal .artwork{float:left}.card-minimal .dropdown i,.card-minimal ul.actions>li{color:#ddd}.card-minimal .dropdown i:hover,.card-minimal ul.actions>li:hover{color:#b0b0b0}.card-minimal .meta{padding:4px 0 4px 60px}.card-minimal .meta .title:after,.card-minimal .meta .subtitle:after{display:none}@media (min-width: 57em){.card-minimal{width:238px;margin:0;width:158px;background:none}.card-minimal .artwork,.card-minimal .artwork .thumb{width:158px;height:158px}}@media (min-width: 57em) and (min-width: 75em){.card-minimal{width:238px}.card-minimal .artwork,.card-minimal .artwork .thumb{width:238px;height:238px}}@media (min-width: 57em){.card-minimal .artwork{float:none}.card-minimal .meta{padding:0.5em 0}}
-.edit-form .group-title{display:none}.edit-form .form-item{*zoom:1;margin-bottom:1em}.edit-form .form-item:after{content:"";display:table;clear:both}@media (min-width: 45em){.edit-form .control-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:28.5714285714%;float:left;padding:5px 0 0.5em}.edit-form .element{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:71.4285714286%;float:right}}
-.youtube-list .thumb{width:120px;float:left;margin-right:1em}.youtube-list li{margin-bottom:0.5em}.youtube-list h3{font-size:18px;padding-top:0.25em;margin-bottom:1em}.youtube-list .flat-btn{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#bac1c8;padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;margin-right:0.5em;display:inline-block;padding:0.3em 1em}.youtube-list .flat-btn .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.youtube-list .flat-btn .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00BAC1C8', endColorstr='#FFBAC1C8');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2JhYzFjOCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNiYWMxYzgiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(186,193,200,0)),color-stop(100%, #bac1c8));background-image:-moz-linear-gradient(left, rgba(186,193,200,0) 0%,#bac1c8 100%);background-image:-webkit-linear-gradient(left, rgba(186,193,200,0) 0%,#bac1c8 100%);background-image:linear-gradient(to right, rgba(186,193,200,0) 0%,#bac1c8 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.youtube-list .flat-btn:hover{color:#fff}.with-filters .layout-container>.region-first{overflow:hidden}.filters-loading .with-filters .region-content-wrapper .region-content{opacity:0.3}.filters-container .nav-list a,.filters-container .nav-list .option,.filters-container .selection-list a,.filters-container .selection-list .option{color:#2b2f30;cursor:pointer}.filters-container .nav-list a.active,.filters-container .nav-list .option.active,.filters-container .selection-list a.active,.filters-container .selection-list .option.active{color:#12b2e7;font-weight:bold}.filters-container .sortable.active{position:relative}.filters-container .sortable.active.order-asc:after{content:"\e89e";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .sortable.active.order-desc:after{content:"\e89d";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .sortable.active:after{font-size:130%;padding-left:0.25em;position:absolute;margin-top:1px}.filters-container .filter-btn{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#12b2e7;padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em;display:block}.filters-container .filter-btn .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.filters-container .filter-btn .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#0012B2E7', endColorstr='#FF12B2E7');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzEyYjJlNyIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxMmIyZTciLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(18,178,231,0)),color-stop(100%, #12b2e7));background-image:-moz-linear-gradient(left, rgba(18,178,231,0) 0%,#12b2e7 100%);background-image:-webkit-linear-gradient(left, rgba(18,178,231,0) 0%,#12b2e7 100%);background-image:linear-gradient(to right, rgba(18,178,231,0) 0%,#12b2e7 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.filters-container .filter-btn:hover{color:#fff}.filters-container .filter-btn:before{content:"\e898";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .filter-btn:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.filters-container .filter-btn:hover:before{color:#fff}.filters-container .filter-btn.filterable-add{display:inline-block;background-color:#a8a7a6}.filters-container .filter-btn.filterable-add:hover{background-color:#12b2e7}.filters-container .filter-btn.filterable-add:before{content:"\e6fd";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .filters-page h3,.filters-container .filters-options h3{cursor:pointer;padding-left:1em;position:relative}.filters-container .filters-page h3:before,.filters-container .filters-options h3:before{content:"\e89a";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .filters-page h3:before,.filters-container .filters-options h3:before{font-size:140%;position:absolute;left:-12px;top:-3px}.filters-container .filters-page h3:hover:before,.filters-container .filters-options h3:hover:before{color:#12b2e7}.filters-container .open-filters{position:relative}.filters-container .open-filters i{top:-3px;right:3px;position:absolute;cursor:pointer;font-size:150%;display:none}.filters-container .open-filters i:before{content:"\e6fb";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .open-filters:hover i{color:#2b2f30}.filters-container .deselect-all{margin:0 0 0.5em 1em;cursor:pointer}.filters-active-bar{-webkit-box-shadow:0 3px 6px -4px rgba(0,0,0,0.15);box-shadow:0 3px 6px -4px rgba(0,0,0,0.15);position:fixed;margin-left:0;left:0;top:50px;right:0;background:#fff;padding:0.75em;text-align:center;z-index:20;display:none}@media (min-width: 57em){.filters-active-bar{margin-left:50px}}@media (min-width: 57em){.filters-active-bar{left:250px}}.shell-playlist-closed .filters-active-bar{right:0}@media (min-width: 57em){.filters-active-bar{right:310px}.shell-playlist-closed .filters-active-bar{right:50px}}@media (min-width: 75em){.filters-active-bar{right:400px}.shell-playlist-closed .filters-active-bar{right:50px}}.shell-playlist-closed .filters-active-bar{right:0}@media (min-width: 57em){.shell-playlist-closed .filters-active-bar{right:50px}}@media (min-width: 75em){.shell-playlist-closed .filters-active-bar{right:50px}}.filters-active-bar .remove{top:0;right:0;bottom:0;position:absolute;display:table;width:2em;text-align:center;cursor:pointer;font-size:150%;opacity:0.5}.filters-active-bar .remove:before{content:"\e702";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-active-bar .remove:before{display:table-cell;vertical-align:middle;height:2em}.filters-active-bar .remove:hover{opacity:1}.filters-active-bar .filters-active-all{display:block;margin:0 2em;position:relative;white-space:nowrap;overflow:hidden}.filters-active-bar .filters-active-all:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.layout-container.filters-active .filters-active-bar{display:block}.layout-container.filters-active .region-content{padding-top:3.5em}.layout-container.filters-active .filters-container .open-filters i{display:block}.is-loading{opacity:0.5}.filter-pane{top:0;right:0;bottom:0;left:0;position:absolute;-webkit-transition:0.2s all ease-out;-o-transition:0.2s all ease-out;transition:0.2s all ease-out;overflow-y:auto}.filter-pane.filters-current{-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);-webkit-transform:translate(0, 0);transform:translate(0, 0)}.show-filters .filter-pane.filters-current{-moz-transform:translate(-240px, 0);-ms-transform:translate(-240px, 0);-webkit-transform:translate(-240px, 0);transform:translate(-240px, 0)}.show-options .filter-pane.filters-current{-moz-transform:translate(-480px, 0);-ms-transform:translate(-480px, 0);-webkit-transform:translate(-480px, 0);transform:translate(-480px, 0)}.filter-pane.filters-page{-moz-transform:translate(240px, 0);-ms-transform:translate(240px, 0);-webkit-transform:translate(240px, 0);transform:translate(240px, 0)}.show-filters .filter-pane.filters-page{-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);-webkit-transform:translate(0, 0);transform:translate(0, 0)}.show-options .filter-pane.filters-page{-moz-transform:translate(-240px, 0);-ms-transform:translate(-240px, 0);-webkit-transform:translate(-240px, 0);transform:translate(-240px, 0)}.filter-pane.filters-options{-moz-transform:translate(480px, 0);-ms-transform:translate(480px, 0);-webkit-transform:translate(480px, 0);transform:translate(480px, 0)}.show-filters .filter-pane.filters-options{-moz-transform:translate(240px, 0);-ms-transform:translate(240px, 0);-webkit-transform:translate(240px, 0);transform:translate(240px, 0)}.show-options .filter-pane.filters-options{-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);-webkit-transform:translate(0, 0);transform:translate(0, 0)}form .form-control-wrapper .form-control:focus,form .form-control-wrapper .form-control{padding:0.5em 0.25em;height:auto;margin-bottom:0.5em}.help-block{margin-top:8px;font-size:90%;color:#C0C0C0}.form-type-hidden{display:none}form .inline-list li{display:inline-block;margin-right:2em;float:left}form .inline-list .response{padding-top:18px}.form-type-hide{display:none}.active-player-kodi #header{background:#1e2122}.active-player-kodi #logo{color:#12b2e7;background:#1e2122}.active-player-local #header{background:#313233}.active-player-local #logo{color:#db2464;background:#313233}#header{color:rgba(255,255,255,0.6);position:fixed;top:0;left:0;right:0;height:50px;z-index:51;right:0}.shell-playlist-closed #header{right:0}@media (min-width: 57em){#header{right:310px}.shell-playlist-closed #header{right:50px}}@media (min-width: 75em){#header{right:400px}.shell-playlist-closed #header{right:50px}}.shell-playlist-closed #header{right:0}@media (min-width: 57em){.shell-playlist-closed #header{right:50px}}@media (min-width: 75em){.shell-playlist-closed #header{right:50px}}#header .search-toggle{position:absolute}#header .search-toggle i{display:table;width:50px;text-align:center;cursor:pointer}#header .search-toggle i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}#header .search-toggle i:before{display:table-cell;vertical-align:middle;height:50px}#page-title{margin:0;line-height:50px;font-size:1.3em}#page-title .context a,#page-title .title{padding:0 0 0 0.5em}#search-region{top:50px;right:0;left:0;position:absolute;display:none}body.section-search #search-region{display:block}@media (min-width: 57em){#search-region{top:0;left:auto}}
+@media print{.hidden-print{display:none !important}}.shadow-z-1,.card,.snackbar,.landing-page .region-content h3,.landing-page h3.set-header{box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}.shadow-z-2,.well,.jumbotron,.btn-raised,.btn-group,.btn-group-vertical,.btn-group.btn-group-raised,.btn-group-vertical.btn-group-raised,.modal-content{box-shadow:0 0px 14px -5px rgba(0,0,0,0.06),0 6px 12px -6px rgba(0,0,0,0.13)}.shadow-z-2-hover,.btn:hover:not(.btn-link){box-shadow:0 3px 6px rgba(0,0,0,0.2),0 3px 6px rgba(0,0,0,0.28)}.shadow-z-3,.btn:active:not(.btn-link),.btn-raised:active:not(.btn-link),.btn-group:active:not(.btn-link),.btn-group-vertical:active:not(.btn-link),.btn-group.btn-group-raised:active:not(.btn-link),.btn-group-vertical.btn-group-raised:active:not(.btn-link){box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}.shadow-z-4,.btn-raised:hover,.btn-group:hover,.btn-group-vertical:hover,.btn-group.btn-group-raised:hover,.btn-group-vertical.btn-group-raised:hover{box-shadow:0 14px 28px rgba(0,0,0,0.25),0 10px 10px rgba(0,0,0,0.22)}.shadow-z-5{box-shadow:0 19px 38px rgba(0,0,0,0.3),0 15px 12px rgba(0,0,0,0.22)}body{background-color:#EEEEEE}body.inverse{background:#333333}body.inverse,body.inverse .form-control{color:rgba(255,255,255,0.84)}.well,.well .form-control,.well:not([class^="well well-material-"]),.well:not([class^="well well-material-"]) .form-control{color:rgba(0,0,0,0.84)}.well .floating-label,.well:not([class^="well well-material-"]) .floating-label{color:#7e7e7e}.well .form-control,.well:not([class^="well well-material-"]) .form-control{border-bottom-color:#7e7e7e}.well .form-control::-webkit-input-placeholder,.well:not([class^="well well-material-"]) .form-control::-webkit-input-placeholder{color:#7e7e7e}.well .form-control::-moz-placeholder,.well:not([class^="well well-material-"]) .form-control::-moz-placeholder{color:#7e7e7e;opacity:1}.well .form-control:-ms-input-placeholder,.well:not([class^="well well-material-"]) .form-control:-ms-input-placeholder{color:#7e7e7e}.well .option,.well .create,.well:not([class^="well well-material-"]) .option,.well:not([class^="well well-material-"]) .create{color:rgba(0,0,0,0.84)}[class^="well well-material-"],[class^="well well-material-"] .form-control,[class^="well well-material-"] .floating-label{color:rgba(255,255,255,0.84)}[class^="well well-material-"] .form-control{border-bottom-color:rgba(255,255,255,0.84)}[class^="well well-material-"] .form-control::-webkit-input-placeholder{color:rgba(255,255,255,0.84)}[class^="well well-material-"] .form-control::-moz-placeholder{color:rgba(255,255,255,0.84);opacity:1}[class^="well well-material-"] .form-control:-ms-input-placeholder{color:rgba(255,255,255,0.84)}[class^="well well-material-"] .option,[class^="well well-material-"] .create{color:rgba(0,0,0,0.84)}.well,.jumbotron{background-color:#fff;padding:19px;margin-bottom:20px;border-radius:2px;border:0}.well p,.jumbotron p{font-weight:300}.btn{position:relative;padding:8px 30px;border:0;margin:10px 1px;cursor:pointer;border-radius:2px;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,0.84);transition:box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);outline:none !important}.btn:hover{color:rgba(255,255,255,0.84)}.btn-link,.btn:not([class^="btn btn-"]),.btn-default{color:rgba(0,0,0,0.84)}.btn-link:hover,.btn:not([class^="btn btn-"]):hover,.btn-default:hover{color:rgba(0,0,0,0.84)}.btn:not([class^="btn btn-"]):hover,.btn-default:hover{background-color:rgba(255,255,255,0.5)}.btn-raised{transition:box-shadow transform 0.28s cubic-bezier(0.4, 0, 0.2, 1)}.btn-flat{box-shadow:none !important}.btn-flat.btn-default:hover{background:none}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus{background:#10a0cf;border-color:#10a0cf}.btn-group,.btn-group-vertical{position:relative;border-radius:4px;margin:10px 1px;transition:box-shadow transform 0.28s cubic-bezier(0.4, 0, 0.2, 1)}.btn-group.open .dropdown-toggle,.btn-group-vertical.open .dropdown-toggle{box-shadow:none}.btn-group.btn-group-raised,.btn-group-vertical.btn-group-raised{transition:box-shadow transform 0.28s cubic-bezier(0.4, 0, 0.2, 1)}.btn-group .btn,.btn-group .btn:active,.btn-group .btn-group,.btn-group-vertical .btn,.btn-group-vertical .btn:active,.btn-group-vertical .btn-group{box-shadow:none !important;margin:0}.btn-group .btn:active .caret,.btn-group-vertical .btn:active .caret{margin-left:-1px}.btn-group-flat{box-shadow:none !important}.btn-fab{margin:0;padding:15px;font-size:26px;width:56px;height:56px}.btn-fab,.btn-fab .ripple-wrapper{border-radius:100%}.btn-fab.btn-mini{width:40px;height:40px;padding:13px;font-size:15px}.btn-default{background-color:#fff}.btn-primary{background-color:#12b2e7}.btn-success{background-color:#0f9d58}.btn-info{background-color:#03a9f4}.btn-warning{background-color:#ff5722}.btn-danger{background-color:#f44336}.btn-material-red{background-color:#f44336}.btn-material-pink{background-color:#e91e63}.btn-material-purple{background-color:#9c27b0}.btn-material-deeppurple{background-color:#673ab7}.btn-material-indigo{background-color:#3f51b5}.btn-material-lightblue{background-color:#03a9f4}.btn-material-cyan{background-color:#00bcd4}.btn-material-teal{background-color:#009688}.btn-material-lightgreen{background-color:#8bc34a}.btn-material-lime{background-color:#cddc39}.btn-material-lightyellow{background-color:#ffeb3b}.btn-material-orange{background-color:#ff9800}.btn-material-deeporange{background-color:#ff5722}.btn-material-grey{background-color:#9e9e9e}.btn-material-bluegrey{background-color:#607d8b}.btn-material-brown{background-color:#795548}.btn-material-lightgrey{background-color:#ececec}.form-horizontal .checkbox{padding-top:15px}.checkbox{transform:rotate(0deg)}.checkbox label{cursor:pointer;padding-left:45px;position:relative}.checkbox label span{display:block;position:absolute;left:0px;transition-duration:0.2s}.checkbox label .check:after{display:block;position:absolute;content:"";background-color:rgba(0,0,0,0.84);left:-5px;top:-15px;height:50px;width:50px;border-radius:100%;z-index:1;opacity:0;margin:0}.checkbox label .check:before{display:block;content:"";border:2px solid rgba(0,0,0,0.84);height:20px;width:20px;transition-delay:0.2s}.checkbox input[type=checkbox]{opacity:0}.checkbox input[type=checkbox] ~ .check:before{position:absolute;top:2px;left:11px;width:18px;height:18px;border:solid 2px;border-color:#5a5a5a;animation:uncheck 300ms ease-out forwards}.checkbox input[type=checkbox]:focus ~ .check:after{opacity:0.2}.checkbox input[type=checkbox]:checked ~ .check:before{animation:check 300ms ease-out forwards}.checkbox input[type=checkbox]:not(:checked) ~ .check:after{animation:rippleOff 500ms linear forwards}.checkbox input[type=checkbox]:checked ~ .check:after{animation:rippleOn 500ms linear forwards}.checkbox:not(:hover) input[type=checkbox] ~ .check:before,.checkbox:not(:hover) input[type=checkbox] ~ .check:after{animation-duration:1ms}.checkbox input[type=checkbox][disabled]:not(:checked) ~ .check:before{opacity:0.5}.checkbox input[type=checkbox][disabled] ~ .check:after{background-color:rgba(0,0,0,0.84);transform:rotate(-45deg)}@keyframes uncheck{0%{top:-3px;left:17px;width:10px;height:21px;border-color:#0f9d58;border-left-color:transparent;border-top-color:transparent;transform:rotate(45deg)}50%{top:14px;left:17px;width:4px;height:4px;transform:rotate(45deg);border-color:#0f9d58;border-left-color:transparent;border-top-color:transparent}51%{border-color:#5a5a5a;border-left-color:#5a5a5a;border-top-color:#5a5a5a}100%{top:1px;left:12px;width:18px;height:18px;transform:rotate(0deg);border-color:#5a5a5a;border-left-color:#5a5a5a;border-top-color:#5a5a5a}}@keyframes check{100%{top:-3px;left:17px;width:10px;height:21px;transform:rotate(45deg);border-color:#0f9d58;border-left-color:transparent;border-top-color:transparent}51%{border-left:transparent;border-top-color:transparent}50%{top:14px;left:17px;width:4px;height:4px;transform:rotate(45deg);border-color:#5a5a5a;border-left-color:#5a5a5a;border-top-color:#5a5a5a}0%{top:1px;left:12px;width:18px;height:18px;transform:rotate(0deg);border-color:#5a5a5a;border-left-color:#5a5a5a;border-top-color:#5a5a5a}}@keyframes rippleOn{0%{opacity:0}50%{opacity:0.2}100%{opacity:0}}@keyframes rippleOff{0%{opacity:0}50%{opacity:0.2}100%{opacity:0}}.togglebutton{vertical-align:middle}.togglebutton,.togglebutton *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.togglebutton label{font-weight:400;cursor:pointer}.togglebutton label input[type=checkbox]:first-child{opacity:0;width:0;height:0}.togglebutton label input[type=checkbox]:first-child:checked+.toggle{background-color:rgba(18,178,231,0.5)}.togglebutton label input[type=checkbox]:first-child:checked+.toggle:after{background-color:#12b2e7}.togglebutton label .toggle,.togglebutton label input[type=checkbox][disabled]:first-child+.toggle{content:"";display:inline-block;width:30px;height:15px;background-color:rgba(80,80,80,0.7);border-radius:15px;margin-right:10px;transition:background 0.3s ease;vertical-align:middle}.togglebutton label .toggle:after{content:"";display:inline-block;width:20px;height:20px;background-color:#F1F1F1;border-radius:20px;position:relative;box-shadow:0 1px 3px 1px rgba(0,0,0,0.4);left:-5px;top:-2px;transition:left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease}.togglebutton label input[type=checkbox][disabled]:first-child+.toggle:after,.togglebutton label input[type=checkbox][disabled]:checked:first-child+.toggle:after{background-color:#BDBDBD}.togglebutton label input[type=checkbox]:first-child:checked ~ .toggle:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,0.4),0 0 0 15px rgba(0,149,135,0.1)}.togglebutton label input[type=checkbox]:first-child ~ .toggle:active:after,.togglebutton label input[type=checkbox][disabled]:first-child ~ .toggle:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,0.4),0 0 0 15px rgba(0,0,0,0.1)}.togglebutton label input[type=checkbox]:first-child:checked+.toggle:after{left:15px}.form-horizontal .radio{margin-bottom:10px}.radio label{cursor:pointer;padding-left:45px;position:relative}.radio label span{display:block;position:absolute;left:10px;top:2px;transition-duration:0.2s}.radio label .circle{border:2px solid rgba(0,0,0,0.84);height:15px;width:15px;border-radius:100%}.radio label .check{height:15px;width:15px;border-radius:100%;background-color:rgba(0,0,0,0.84);transform:scale(0)}.radio label .check:after{display:block;position:absolute;content:"";background-color:rgba(0,0,0,0.84);left:-18px;top:-18px;height:50px;width:50px;border-radius:100%;z-index:1;opacity:0;margin:0;transform:scale(1.5)}.radio label input[type=radio]:not(:checked) ~ .check:after{animation:rippleOff 500ms}.radio label input[type=radio]:checked ~ .check:after{animation:rippleOn 500ms}.radio input[type=radio][disabled] ~ .check,.radio input[type=radio][disabled] ~ .circle{opacity:0.5}.radio input[type=radio]{display:none}.radio input[type=radio]:checked ~ .check{transform:scale(0.55)}.radio input[type=radio][disabled] ~ .circle{border-color:rgba(0,0,0,0.84)}.radio input[type=radio][disabled] ~ .check{background-color:rgba(0,0,0,0.84)}@keyframes rippleOn{0%{opacity:0}50%{opacity:0.2}100%{opacity:0}}@keyframes rippleOff{0%{opacity:0}50%{opacity:0.2}100%{opacity:0}}fieldset[disabled] .form-control,fieldset[disabled] .form-control:focus,fieldset[disabled] .form-control.focus,.form-control-wrapper .form-control,.form-control-wrapper .form-control:focus,.form-control-wrapper .form-control.focus,.form-control,.form-control:focus,.form-control.focus{padding:0;float:none;border:0;box-shadow:none;border-radius:0;background:transparent;border-bottom:1px solid #757575}fieldset[disabled] .form-control:not(textarea):not(select),fieldset[disabled] .form-control:focus:not(textarea):not(select),fieldset[disabled] .form-control.focus:not(textarea):not(select),.form-control-wrapper .form-control:not(textarea):not(select),.form-control-wrapper .form-control:focus:not(textarea):not(select),.form-control-wrapper .form-control.focus:not(textarea):not(select),.form-control:not(textarea):not(select),.form-control:focus:not(textarea):not(select),.form-control.focus:not(textarea):not(select){height:28px}fieldset[disabled] .form-control:disabled,fieldset[disabled] .form-control:focus:disabled,fieldset[disabled] .form-control.focus:disabled,.form-control-wrapper .form-control:disabled,.form-control-wrapper .form-control:focus:disabled,.form-control-wrapper .form-control.focus:disabled,.form-control:disabled,.form-control:focus:disabled,.form-control.focus:disabled{border-style:dashed}select.form-control{height:23px}select[multiple].form-control,select[multiple].form-control:focus,select[multiple].form-control.focus{height:85px}.form-control-wrapper{position:relative}.form-control-wrapper .form-control:focus,.form-control-wrapper .form-control.focus{outline:none}.form-control-wrapper .floating-label{color:#7E7E7E;font-size:14px;position:absolute;pointer-events:none;left:0px;top:5px;transition:0.2s ease all;opacity:0}.form-control-wrapper .form-control:not(.empty) ~ .floating-label{top:-10px;font-size:10px;opacity:1}.form-control-wrapper .form-control:focus:invalid ~ .floating-label,.form-control-wrapper .form-control.focus:invalid ~ .floating-label{color:#f44336}.form-control-wrapper .form-control:focus ~ .material-input:after,.form-control-wrapper .form-control.focus ~ .material-input:after{background-color:#12b2e7}.form-control-wrapper .form-control:focus:invalid ~ .material-input:before,.form-control-wrapper .form-control:focus:invalid ~ .material-input:after,.form-control-wrapper .form-control.focus:invalid ~ .material-input:before,.form-control-wrapper .form-control.focus:invalid ~ .material-input:after{background-color:#f44336}.form-control-wrapper .form-control.empty ~ .floating-label{opacity:1}.form-control-wrapper .material-input:before{position:absolute;content:"";width:100%;left:0;height:2px;background-color:#12b2e7;bottom:-1px;transform:scaleX(0);transition:transform 0s}.form-control-wrapper .form-control:focus ~ .material-input:before,.form-control-wrapper .form-control.focus ~ .material-input:before{transform:scaleX(1);transition:transform 0.2s ease-out}.form-control-wrapper .material-input:after{content:"";position:absolute;height:18px;width:100px;margin-top:-1px;top:7px;left:0;pointer-events:none;opacity:0.9;transform-origin:left}.form-control-wrapper .input-lg ~ .material-input:after,.form-control-wrapper .input-group-lg>.form-control ~ .material-input:after,.form-control-wrapper .input-group-lg>.input-group-addon ~ .material-input:after,.form-control-wrapper .input-group-lg>.input-group-btn>.btn ~ .material-input:after{height:26px}.form-control-wrapper textarea{resize:inherit}.form-control-wrapper textarea ~ .form-control-highlight{margin-top:-11px}.form-control-wrapper .form-control:focus ~ .material-input:after,.form-control-wrapper .form-control.focus ~ .material-input:after{animation:input-highlight 0.3s ease;animation-fill-mode:forwards;opacity:0}.form-control-wrapper select ~ .material-input:after{display:none}.form-group.has-warning .material-input:before,.form-group.has-warning input.form-control:focus ~ .material-input:after,.form-group.has-warning input.form-control.focus ~ .material-input:after{background:#ff5722}.form-group.has-warning .control-label,.form-group.has-warning input.form-control:not(.empty) ~ .floating-label{color:#ff5722}.form-group.has-error .material-input:before,.form-group.has-error input.form-control:focus ~ .material-input:after,.form-group.has-error input.form-control.focus ~ .material-input:after{background:#f44336}.form-group.has-error .control-label,.form-group.has-error input.form-control:not(.empty) ~ .floating-label{color:#f44336}.form-group.has-success .material-input:before,.form-group.has-success input.form-control:focus ~ .material-input:after,.form-group.has-success input.form-control.focus ~ .material-input:after{background:#0f9d58}.form-group.has-success .control-label,.form-group.has-success input.form-control:not(.empty) ~ .floating-label{color:#0f9d58}.form-group.has-info .material-input:before,.form-group.has-info input.form-control:focus ~ .material-input:after,.form-group.has-info input.form-control.focus ~ .material-input:after{background:#03a9f4}.form-group.has-info .control-label,.form-group.has-info input.form-control:not(.empty) ~ .floating-label{color:#03a9f4}.input-group .form-control-wrapper{margin-right:5px;margin-left:5px;bottom:-10px}.input-group .form-control-wrapper .form-control{float:none}.input-group .input-group-addon{border:0}.input-group .input-group-btn .btn{border-radius:4px}select.form-control{border:0;box-shadow:none;border-bottom:1px solid #757575;border-radius:0}select.form-control:focus,select.form-control.focus{box-shadow:none;border-color:#757575}@keyframes input-highlight{0%{left:20%;transform:scaleX(20%)}99%{transform:scaleX(0);left:0;opacity:1}100%{opacity:0}}.form-control-wrapper input[type=file]{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}legend{border-bottom:0}.modal-content{border-radius:0;border:0}.modal-content .modal-header{border-bottom:0}.modal-content .modal-footer{border-top:0}.modal-content .modal-footer .btn+.btn{margin-bottom:10px}.list-group{border-radius:0}.list-group .list-group-item{background-color:transparent;overflow:hidden;border:0;border-radius:0;padding:0 16px}.list-group .list-group-item .row-picture,.list-group .list-group-item .row-action-primary{float:left;display:inline-block;padding-right:16px}.list-group .list-group-item .row-picture img,.list-group .list-group-item .row-picture i,.list-group .list-group-item .row-picture label,.list-group .list-group-item .row-action-primary img,.list-group .list-group-item .row-action-primary i,.list-group .list-group-item .row-action-primary label{display:block;width:56px;height:56px}.list-group .list-group-item .row-picture img,.list-group .list-group-item .row-action-primary img{background:rgba(0,0,0,0.1);padding:1px}.list-group .list-group-item .row-picture img.circle,.list-group .list-group-item .row-action-primary img.circle{border-radius:100%}.list-group .list-group-item .row-picture i,.list-group .list-group-item .row-action-primary i{background:rgba(0,0,0,0.25);border-radius:100%;text-align:center;line-height:56px;font-size:20px;color:white}.list-group .list-group-item .row-picture label,.list-group .list-group-item .row-action-primary label{margin-left:7px;margin-right:-7px;margin-top:5px;margin-bottom:-5px}.list-group .list-group-item .row-content{display:inline-block;width:calc(100% - 92px);min-height:66px}.list-group .list-group-item .row-content .action-secondary{position:absolute;right:16px;top:16px}.list-group .list-group-item .row-content .action-secondary i{font-size:20px;color:rgba(0,0,0,0.25);cursor:pointer}.list-group .list-group-item .row-content .action-secondary ~ *{max-width:calc(100% - 30px)}.list-group .list-group-item .row-content .least-content{position:absolute;right:16px;top:0px;color:rgba(0,0,0,0.54);font-size:14px}.list-group .list-group-item .list-group-item-heading{color:rgba(0,0,0,0.77);font-size:20px;line-height:29px}.list-group .list-group-separator{clear:both;overflow:hidden;margin-top:10px;margin-bottom:10px}.list-group .list-group-separator:before{content:"";width:calc(100% - 90px);border-bottom:1px solid rgba(0,0,0,0.1);float:right}.navbar{background-color:#12b2e7;border:0;border-radius:0}.navbar .navbar-brand{position:relative;height:60px;line-height:30px;color:rgba(255,255,255,0.84)}.navbar .navbar-brand:hover,.navbar .navbar-brand:focus{color:rgba(255,255,255,0.84);background-color:transparent}.navbar .navbar-text{color:rgba(255,255,255,0.84);margin-top:20px;margin-bottom:20px}.navbar .navbar-nav>li>a{color:rgba(255,255,255,0.84);padding-top:20px;padding-bottom:20px}.navbar .navbar-nav>li>a:hover,.navbar .navbar-nav>li>a:focus{color:rgba(255,255,255,0.84);background-color:transparent}.navbar .navbar-nav>.active>a,.navbar .navbar-nav>.active>a:hover,.navbar .navbar-nav>.active>a:focus{color:rgba(255,255,255,0.84);background-color:rgba(0,0,0,0.05)}.navbar .navbar-nav>.disabled>a,.navbar .navbar-nav>.disabled>a:hover,.navbar .navbar-nav>.disabled>a:focus{color:#e5e5e5;background-color:transparent}.navbar .navbar-toggle{border-color:rgba(255,255,255,0.84)}.navbar .navbar-toggle:hover,.navbar .navbar-toggle:focus{background-color:transparent}.navbar .navbar-toggle .icon-bar{background-color:rgba(255,255,255,0.84)}.navbar .navbar-collapse,.navbar .navbar-form{border-color:rgba(0,0,0,0.1)}.navbar .navbar-nav>.open>a,.navbar .navbar-nav>.open>a:hover,.navbar .navbar-nav>.open>a:focus{background-color:rgba(0,0,0,0.05);color:rgba(255,255,255,0.84)}@media (max-width: 767px){.navbar .navbar-nav .open .dropdown-menu>.dropdown-header{border:0;color:rgba(212,212,212,0.84)}.navbar .navbar-nav .open .dropdown-menu .divider{background-color:rgba(255,255,255,0.84)}.navbar .navbar-nav .open .dropdown-menu>li>a{color:rgba(255,255,255,0.84)}.navbar .navbar-nav .open .dropdown-menu>li>a:hover,.navbar .navbar-nav .open .dropdown-menu>li>a:focus{color:rgba(255,255,255,0.84);background-color:transparent}.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus{color:rgba(255,255,255,0.84);background-color:rgba(0,0,0,0.05)}.navbar .navbar-nav .open .dropdown-menu>.disabled>a,.navbar .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#e5e5e5;background-color:transparent}}.navbar .navbar-link{color:rgba(255,255,255,0.84)}.navbar .navbar-link:hover{color:rgba(255,255,255,0.84)}.navbar .navbar-link{color:rgba(255,255,255,0.84)}.navbar .navbar-link:hover,.navbar .navbar-link:focus{color:rgba(255,255,255,0.84)}.navbar .navbar-link[disabled]:hover,.navbar .navbar-link[disabled]:focus,fieldset[disabled] .navbar .navbar-link:hover,fieldset[disabled] .navbar .navbar-link:focus{color:#e5e5e5}.navbar .navbar-form{margin-top:16px}.navbar .navbar-form .form-control-wrapper .form-control,.navbar .navbar-form .form-control{border-color:rgba(255,255,255,0.84);color:rgba(255,255,255,0.84)}.navbar .navbar-form .form-control-wrapper .material-input:before,.navbar .navbar-form .form-control-wrapper input:focus ~ .material-input:after{background-color:rgba(255,255,255,0.84)}.navbar .navbar-form ::-webkit-input-placeholder{color:rgba(255,255,255,0.84)}.navbar .navbar-form :-moz-placeholder{color:rgba(255,255,255,0.84)}.navbar .navbar-form ::-moz-placeholder{color:rgba(255,255,255,0.84)}.navbar .navbar-form :-ms-input-placeholder{color:rgba(255,255,255,0.84)}.navbar-inverse{background-color:#5264ae}.navbar-white{background-color:#FFF}.navbar-white .navbar-brand,.navbar-white .navbar-brand:hover,.navbar-white .navbar-brand:focus{color:rgba(0,0,0,0.84)}.navbar-white .navbar-nav>li>a{color:rgba(0,0,0,0.84)}.navbar-white .navbar-nav>li>a:hover,.navbar-white .navbar-nav>li>a:focus{color:rgba(0,0,0,0.84);background-color:transparent}.navbar-white .navbar-nav>.active>a,.navbar-white .navbar-nav>.active>a:hover,.navbar-white .navbar-nav>.active>a:focus{color:rgba(0,0,0,0.84);background-color:rgba(0,0,0,0.05)}.navbar-white .navbar-nav>.disabled>a,.navbar-white .navbar-nav>.disabled>a:hover,.navbar-white .navbar-nav>.disabled>a:focus{color:rgba(0,0,0,0.84);background-color:transparent}.navbar-white .navbar-nav>.open>a,.navbar-white .navbar-nav>.open>a:hover,.navbar-white .navbar-nav>.open>a:focus{background-color:rgba(0,0,0,0.05);color:rgba(0,0,0,0.84)}.navbar-default{background-color:#12b2e7}.navbar-primary{background-color:#12b2e7}.navbar-success{background-color:#0f9d58}.navbar-info{background-color:#03a9f4}.navbar-warning{background-color:#ff5722}.navbar-danger{background-color:#f44336}.navbar-material-red{background-color:#f44336}.navbar-material-pink{background-color:#e91e63}.navbar-material-purple{background-color:#9c27b0}.navbar-material-deeppurple{background-color:#673ab7}.navbar-material-indigo{background-color:#3f51b5}.navbar-material-lightblue{background-color:#03a9f4}.navbar-material-cyan{background-color:#00bcd4}.navbar-material-teal{background-color:#009688}.navbar-material-lightgreen{background-color:#8bc34a}.navbar-material-lime{background-color:#cddc39}.navbar-material-lightyellow{background-color:#ffeb3b}.navbar-material-orange{background-color:#ff9800}.navbar-material-deeporange{background-color:#ff5722}.navbar-material-grey{background-color:#9e9e9e}.navbar-material-bluegrey{background-color:#607d8b}.navbar-material-brown{background-color:#795548}.navbar-material-lightgrey{background-color:#ececec}.dropdown-menu{border:0;box-shadow:0 2px 5px 0 rgba(0,0,0,0.26)}.dropdown-menu .divider{background-color:rgba(229,229,229,0.12)}.dropdown-menu li{overflow:hidden;position:relative}.dropdown-menu li a:hover{background:rgba(0,0,0,0.08)}.alert{border:0px;border-radius:0}.alert a,.alert .alert-link{color:#FFFFFF}.alert-default{background-color:rgba(255,255,255,0.35);color:rgba(0,0,0,0.84)}.alert-default a,.alert-default .alert-link{color:#000000}.alert-primary{color:#FFFFFF;background-color:rgba(18,178,231,0.35);color:rgba(0,0,0,0.84)}.alert-success{color:#FFFFFF;background-color:rgba(15,157,88,0.35);color:rgba(0,0,0,0.84)}.alert-info{color:#FFFFFF;background-color:rgba(3,169,244,0.35);color:rgba(0,0,0,0.84)}.alert-warning{color:#FFFFFF;background-color:rgba(255,87,34,0.35);color:rgba(0,0,0,0.84)}.alert-danger{background-color:rgba(244,67,54,0.35);color:rgba(0,0,0,0.84)}.alert-material-red{background-color:rgba(244,67,54,0.35);color:rgba(0,0,0,0.84)}.alert-material-pink{background-color:rgba(233,30,99,0.35);color:rgba(0,0,0,0.84)}.alert-material-purple{background-color:rgba(156,39,176,0.35);color:rgba(0,0,0,0.84)}.alert-material-deeppurple{background-color:rgba(103,58,183,0.35);color:rgba(0,0,0,0.84)}.alert-material-indigo{background-color:rgba(63,81,181,0.35);color:rgba(0,0,0,0.84)}.alert-material-lightblue{background-color:rgba(3,169,244,0.35);color:rgba(0,0,0,0.84)}.alert-material-cyan{background-color:rgba(0,188,212,0.35);color:rgba(0,0,0,0.84)}.alert-material-teal{background-color:rgba(0,150,136,0.35);color:rgba(0,0,0,0.84)}.alert-material-lightgreen{background-color:rgba(139,195,74,0.35);color:rgba(0,0,0,0.84)}.alert-material-lime{background-color:rgba(205,220,57,0.35);color:rgba(0,0,0,0.84)}.alert-material-lightyellow{background-color:rgba(255,235,59,0.35);color:rgba(0,0,0,0.84)}.alert-material-orange{background-color:rgba(255,152,0,0.35);color:rgba(0,0,0,0.84)}.alert-material-deeporange{background-color:rgba(255,87,34,0.35);color:rgba(0,0,0,0.84)}.alert-material-grey{background-color:rgba(158,158,158,0.35);color:rgba(0,0,0,0.84)}.alert-material-bluegrey{background-color:rgba(96,125,139,0.35);color:rgba(0,0,0,0.84)}.alert-material-brown{background-color:rgba(121,85,72,0.35);color:rgba(0,0,0,0.84)}.alert-material-lightgrey{background-color:rgba(236,236,236,0.35);color:rgba(0,0,0,0.84)}.progress{height:4px;border-radius:0;box-shadow:none;background:#c8c8c8}.progress .progress-bar{box-shadow:none}.progress .progress-bar-default{background-color:#12b2e7}.progress .progress-bar-primary{background-color:#12b2e7}.progress .progress-bar-success{background-color:#0f9d58}.progress .progress-bar-info{background-color:#03a9f4}.progress .progress-bar-warning{background-color:#ff5722}.progress .progress-bar-danger{background-color:#f44336}.progress .progress-bar-material-red{background-color:#f44336}.progress .progress-bar-material-pink{background-color:#e91e63}.progress .progress-bar-material-purple{background-color:#9c27b0}.progress .progress-bar-material-deeppurple{background-color:#673ab7}.progress .progress-bar-material-indigo{background-color:#3f51b5}.progress .progress-bar-material-lightblue{background-color:#03a9f4}.progress .progress-bar-material-cyan{background-color:#00bcd4}.progress .progress-bar-material-teal{background-color:#009688}.progress .progress-bar-material-lightgreen{background-color:#8bc34a}.progress .progress-bar-material-lime{background-color:#cddc39}.progress .progress-bar-material-lightyellow{background-color:#ffeb3b}.progress .progress-bar-material-orange{background-color:#ff9800}.progress .progress-bar-material-deeporange{background-color:#ff5722}.progress .progress-bar-material-grey{background-color:#9e9e9e}.progress .progress-bar-material-bluegrey{background-color:#607d8b}.progress .progress-bar-material-brown{background-color:#795548}.progress .progress-bar-material-lightgrey{background-color:#ececec}.card{border-radius:2px;margin-bottom:20px}.card h1,.card h2,.card h3,.card h4,.card h5,.card h6{font-weight:100;margin:10px 0}.card .card-body{padding:15px}.card .card-actions{padding:15px;text-transform:uppercase}.card .card-actions .main{font-weight:bold}.card .card-actions a{font-size:15px;margin:0 15px 0 0}.card .card-actions a:hover{text-decoration:none}.card img{max-width:100%;max-height:100%}.card .card-footer{padding:15px;border-top:1px solid;border-color:#ececec}.card .card-footer .icon{font-size:25px;transition:ease transform 0.5s}.card .card-footer .icon:hover{text-decoration:none;transform:transform3d(0, 0, 0, -1px)}.card-default{background-color:#fff;color:#000}.card-default .card-footer,.card-default .card-header{border-color:#e6e6e6}.card-default a{color:#000}.card-primary{background-color:#12b2e7;color:#fff}.card-primary .card-footer,.card-primary .card-header{border-color:#ececec}.card-primary a{color:#fff}.card-success{background-color:#0f9d58;color:#fff}.card-success .card-footer,.card-success .card-header{border-color:#0b6e3e}.card-success a{color:#fff}.card-info{background-color:#03a9f4;color:#fff}.card-info .card-footer,.card-info .card-header{border-color:#0286c2}.card-info a{color:#fff}.card-warning{background-color:#ff5722;color:#fff}.card-warning .card-footer,.card-warning .card-header{border-color:#ff7e55}.card-warning a{color:#fff}.card-danger{background-color:#f44336;color:#fff}.card-danger .card-footer,.card-danger .card-header{border-color:#ea1c0d}.card-danger a{color:#fff}.card-material-red{background-color:#f44336;color:#fff}.card-material-red .card-footer,.card-material-red .card-header{border-color:#f77066}.card-material-red a{color:#fff}.card-material-pink{background-color:#e91e63;color:#fff}.card-material-pink .card-footer,.card-material-pink .card-header{border-color:#c1134e}.card-material-pink a{color:#fff}.card-material-purple{background-color:#9c27b0;color:#fff}.card-material-purple .card-footer,.card-material-purple .card-header{border-color:#771e86}.card-material-purple a{color:#fff}.card-material-deeppurple{background-color:#673ab7;color:#fff}.card-material-deeppurple .card-footer,.card-material-deeppurple .card-header{border-color:#8259cb}.card-material-deeppurple a{color:#fff}.card-material-indigo{background-color:#3f51b5;color:#fff}.card-material-indigo .card-footer,.card-material-indigo .card-header{border-color:#606fc7}.card-material-indigo a{color:#fff}.card-material-lightblue{background-color:#03a9f4;color:#fff}.card-material-lightblue .card-footer,.card-material-lightblue .card-header{border-color:#0286c2}.card-material-lightblue a{color:#fff}.card-material-cyan{background-color:#00bcd4;color:#fff}.card-material-cyan .card-footer,.card-material-cyan .card-header{border-color:#008fa1}.card-material-cyan a{color:#fff}.card-material-teal{background-color:#009688;color:#fff}.card-material-teal .card-footer,.card-material-teal .card-header{border-color:#00635a}.card-material-teal a{color:#fff}.card-material-lightgreen{background-color:#8bc34a;color:#fff}.card-material-lightgreen .card-footer,.card-material-lightgreen .card-header{border-color:#71a436}.card-material-lightgreen a{color:#fff}.card-material-lime{background-color:#cddc39;color:#fff}.card-material-lime .card-footer,.card-material-lime .card-header{border-color:#b2c022}.card-material-lime a{color:#fff}.card-material-lightyellow{background-color:#ffeb3b;color:#080700}.card-material-lightyellow .card-footer,.card-material-lightyellow .card-header{border-color:#ffe608}.card-material-lightyellow a{color:#080700}.card-material-orange{background-color:#ff9800;color:#fff}.card-material-orange .card-footer,.card-material-orange .card-header{border-color:#cc7a00}.card-material-orange a{color:#fff}.card-material-deeporange{background-color:#ff5722;color:#fff}.card-material-deeporange .card-footer,.card-material-deeporange .card-header{border-color:#ee3900}.card-material-deeporange a{color:#fff}.card-material-grey{background-color:#9e9e9e;color:#fff}.card-material-grey .card-footer,.card-material-grey .card-header{border-color:#858585}.card-material-grey a{color:#fff}.card-material-bluegrey{background-color:#607d8b;color:#fff}.card-material-bluegrey .card-footer,.card-material-bluegrey .card-header{border-color:#4b626d}.card-material-bluegrey a{color:#fff}.card-material-brown{background-color:#795548;color:#fff}.card-material-brown .card-footer,.card-material-brown .card-header{border-color:#996b5b}.card-material-brown a{color:#fff}.card-material-lightgrey{background-color:#ececec;color:#e6e6e6}.card-material-lightgrey .card-footer,.card-material-lightgrey .card-header{border-color:#d3d3d3}.card-material-lightgrey a{color:#e6e6e6}.text-warning{color:#ff5722}.text-primary{color:#12b2e7}.text-danger{color:#f44336}.text-success{color:#0f9d58}.text-info{color:#03a9f4}.nav-tabs{background:#12b2e7}.nav-tabs>li>a{color:#FFFFFF;border:0;margin:0}.nav-tabs>li>a:hover{background:transparent;border:0}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.open>a,.nav-tabs>li.open>a:hover{background:transparent !important;border:0 !important;color:#FFFFFF !important;font-weight:500}.nav-tabs>li.disabled>a,.nav-tabs>li.disabled>a:hover{color:rgba(255,255,255,0.5)}.popover,.tooltip-inner{background:#323232;color:#FFF;border-radius:2px}.tooltip,.tooltip.in{opacity:1}.popover.left .arrow:after,.popover.left .tooltip-arrow,.tooltip.left .arrow:after,.tooltip.left .tooltip-arrow{border-left-color:#323232}.popover.right .arrow:after,.popover.right .tooltip-arrow,.tooltip.right .arrow:after,.tooltip.right .tooltip-arrow{border-right-color:#323232}.popover.top .arrow:after,.popover.top .tooltip-arrow,.tooltip.top .arrow:after,.tooltip.top .tooltip-arrow{border-top-color:#323232}.popover.bottom .arrow:after,.popover.bottom .tooltip-arrow,.tooltip.bottom .arrow:after,.tooltip.bottom .tooltip-arrow{border-bottom-color:#323232}.icon-default{color:rgba(0,0,0,0.84)}.icon-primary{color:#12b2e7}.icon-success{color:#0f9d58}.icon-info{color:#03a9f4}.icon-warning{color:#ff5722}.icon-danger{color:#f44336}.icon-material-red{color:#f44336}.icon-material-pink{color:#e91e63}.icon-material-purple{color:#9c27b0}.icon-material-deeppurple{color:#673ab7}.icon-material-indigo{color:#3f51b5}.icon-material-lightblue{color:#03a9f4}.icon-material-cyan{color:#00bcd4}.icon-material-teal{color:#009688}.icon-material-lightgreen{color:#8bc34a}.icon-material-lime{color:#cddc39}.icon-material-lightyellow{color:#ffeb3b}.icon-material-orange{color:#ff9800}.icon-material-deeporange{color:#ff5722}.icon-material-grey{color:#9e9e9e}.icon-material-bluegrey{color:#607d8b}.icon-material-brown{color:#795548}.icon-material-lightgrey{color:#ececec}.snackbar{background-color:#323232;color:rgba(255,255,255,0.84);font-size:14px;border-radius:2px;height:0;transition:transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, padding 0 linear 0.2s, height 0 linear 0.2s;transform:translateY(200%)}.snackbar.snackbar-opened{padding:14px 15px;margin-bottom:20px;height:auto;transition:transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, height 0 linear 0.2s;transform:none}.snackbar.toast{border-radius:200px}.noUi-target,.noUi-target *{-webkit-touch-callout:none;-ms-touch-action:none;user-select:none;box-sizing:border-box}.noUi-base{width:100%;height:100%;position:relative}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-handle{position:relative;z-index:1;box-sizing:border-box}.noUi-stacking .noUi-handle{z-index:10}.noUi-stacking+.noUi-origin{*z-index:-1}.noUi-state-tap .noUi-origin{transition:left 0.3s, top 0.3s}.noUi-state-drag *{cursor:inherit !important}.noUi-horizontal{height:10px}.noUi-horizontal .noUi-handle{box-sizing:border-box;width:12px;height:12px;left:-10px;top:-5px}.noUi-horizontal.noUi-extended{padding:0 15px}.noUi-horizontal.noUi-extended .noUi-origin{right:-15px}.noUi-background{height:2px;margin:20px 0}.noUi-origin{margin:0;border-radius:0;height:2px;background:#c8c8c8}.noUi-origin[style^="left: 0"] .noUi-handle{background-color:#fff;border:2px solid #c8c8c8}.noUi-target{border-radius:2px}.noUi-handle{border-radius:100%;cursor:default;transition:all 0.2s ease-out;border:1px solid}.noUi-horizontal{height:2px;margin:15px 0}[disabled].noUi-slider{opacity:0.5}[disabled] .noUi-handle{cursor:not-allowed}.slider{background:#c8c8c8}.withripple{position:relative}.ripple-wrapper{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;overflow:hidden;border-radius:2px}.ripple{position:absolute;width:20px;height:20px;margin-left:-10px;margin-top:-10px;border-radius:100%;background-color:rgba(0,0,0,0.05);transform:scale(1);transform-origin:50%;opacity:0;pointer-events:none}.ripple.ripple-on{transition:opacity 0.15s ease-in 0s,transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;opacity:1}.ripple.ripple-out{transition:opacity 0.1s linear 0s !important;opacity:0}.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;-ms-user-select:none;-moz-user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base{width:100%;height:100%;position:relative}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-handle{position:relative;z-index:1}.noUi-stacking .noUi-handle{z-index:10}.noUi-stacking+.noUi-origin{*z-index:-1}.noUi-state-tap .noUi-origin{-webkit-transition:left 0.3s, top 0.3s;transition:left 0.3s, top 0.3s}.noUi-state-drag *{cursor:inherit !important}.noUi-base{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-connect{-webkit-transition:background 450ms;transition:background 450ms}.noUi-dragable{cursor:w-resize}.noUi-vertical .noUi-dragable{cursor:n-resize}[disabled] .noUi-handle{cursor:not-allowed}.xbbcode-b{font-weight:bold}.xbbcode-center{margin-left:auto;margin-right:auto;display:block;text-align:center}.xbbcode-code{white-space:pre-wrap;font-family:monospace}.xbbcode-i{font-style:italic}.xbbcode-justify{display:block;text-align:justify}.xbbcode-left{display:block;text-align:left}.xbbcode-right{display:block;text-align:right}.xbbcode-s{text-decoration:line-through}.xbbcode-size-4{font-size:4px}.xbbcode-size-5{font-size:5px}.xbbcode-size-6{font-size:6px}.xbbcode-size-7{font-size:7px}.xbbcode-size-8{font-size:8px}.xbbcode-size-9{font-size:9px}.xbbcode-size-10{font-size:10px}.xbbcode-size-11{font-size:11px}.xbbcode-size-12{font-size:12px}.xbbcode-size-13{font-size:13px}.xbbcode-size-14{font-size:14px}.xbbcode-size-15{font-size:15px}.xbbcode-size-16{font-size:16px}.xbbcode-size-17{font-size:17px}.xbbcode-size-18{font-size:18px}.xbbcode-size-19{font-size:19px}.xbbcode-size-20{font-size:20px}.xbbcode-size-21{font-size:21px}.xbbcode-size-22{font-size:22px}.xbbcode-size-23{font-size:23px}.xbbcode-size-24{font-size:24px}.xbbcode-size-25{font-size:25px}.xbbcode-size-26{font-size:26px}.xbbcode-size-27{font-size:27px}.xbbcode-size-28{font-size:28px}.xbbcode-size-29{font-size:29px}.xbbcode-size-30{font-size:30px}.xbbcode-size-31{font-size:31px}.xbbcode-size-32{font-size:32px}.xbbcode-size-33{font-size:33px}.xbbcode-size-34{font-size:34px}.xbbcode-size-35{font-size:35px}.xbbcode-size-36{font-size:36px}.xbbcode-size-37{font-size:37px}.xbbcode-size-38{font-size:38px}.xbbcode-size-39{font-size:39px}.xbbcode-size-40{font-size:40px}.xbbcode-u{text-decoration:underline}.xbbcode-table{border-collapse:collapse}.xbbcode-table,.xbbcode-th,.xbbcode-td{border:1px solid #666}*,*:before,*:after{-webkit-box-sizing:"border-box";-moz-box-sizing:"border-box";box-sizing:"border-box"}img,video{max-width:100%;height:auto}.youtube-list .flat-btn,.filters-container .filter-btn,.filters-container .filter-btn:before,.local-playlist-list .region-first .new-list,.local-playlist-list .region-first .new-list:before,.player .controls-primary .control,.player .controls-secondary .control,.player .slider-bar,.set-page .entity-set .more a,.set-page .entity-set .more a:before,.imdblink,.imdblink:before,.btn-flat-play,.btn-flat-play:before,.btn-flat-add,.btn-flat-add:before,.btn-flat-stream,.btn-flat-stream:before,.btn-flat-download,.btn-flat-download:before,.btn-flat-more,.btn-flat-more:before,.btn-flat-watched,.btn-flat-watched:before{-webkit-transition:0.3s all linear;-o-transition:0.3s all linear;transition:0.3s all linear}@-moz-keyframes wave{0%{background-position:0% bottom}100%{background-position:100% bottom}}@-webkit-keyframes wave{0%{background-position:0% bottom}100%{background-position:100% bottom}}@keyframes wave{0%{background-position:0% bottom}100%{background-position:100% bottom}}#files-container .loading-box{-webkit-animation:none;-o-animation:none;animation:none}@-moz-keyframes pulsate{50%{text-shadow:0 0 25px rgba(255,255,255,0.55);color:#fff}}@-webkit-keyframes pulsate{50%{text-shadow:0 0 25px rgba(255,255,255,0.55);color:#fff}}@keyframes pulsate{50%{text-shadow:0 0 25px rgba(255,255,255,0.55);color:#fff}}.filters-container .options-search-wrapper,.search-box{position:relative;padding-right:1em}.filters-container .options-search-wrapper:before,.search-box:before{content:"\e65f";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .options-search-wrapper:before,.search-box:before{top:8px;left:6px;position:absolute;z-index:20;font-size:130%;opacity:0.8}.filters-container .options-search-wrapper input,.search-box input{color:#666;border:none;width:100%;padding:0.5em;padding-left:2em;background:rgba(255,255,255,0.5);margin-bottom:1em}.filters-container .options-search-wrapper input:focus,.search-box input:focus{background:rgba(255,255,255,0.9);outline:none}.card-detail .thumb{display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.landing-page .landing-section,.region-content{position:relative;padding:12px 12px 30px 12px}.with-header .landing-page .landing-section,.landing-page .with-header .landing-section,.with-header .region-content{padding:10px 20px 50px 20px}.edit-form .form-tabs,.form-imageselect__tabs,.folder-layout .folder-container,#modal-window.style-edit-form .form-content-region,.form-imageselect__thumbs,.form-imageselect__loader,.youtube-list li,form .inline-list,.help--page .help--overview--report ul li,.details-header .region-details-top,.content-container.with-sidebar,.section-content,.kodi-remote .secondary-controls,.icon-browser ul{*zoom:1}.edit-form .form-tabs:after,.form-imageselect__tabs:after,.folder-layout .folder-container:after,#modal-window.style-edit-form .form-content-region:after,.form-imageselect__thumbs:after,.form-imageselect__loader:after,.youtube-list li:after,form .inline-list:after,.help--page .help--overview--report ul li:after,.details-header .region-details-top:after,.content-container.with-sidebar:after,.section-content:after,.kodi-remote .secondary-controls:after,.icon-browser ul:after{content:"";display:table;clear:both}.help--page .region-content-wrapper h2,.help--page .region-content-wrapper h3,.help--page .region-content-wrapper h4{margin-top:1.5em}.help--page .region-content-wrapper h2{font-size:1.6em;font-weight:bold;border-bottom:1px dotted #ddd;padding-bottom:0.5em;margin-top:2em}.help--page .region-content-wrapper h3{font-size:1.3em;color:#666;margin-bottom:1em}.help--page .region-content-wrapper h4{font-size:1.2em}.help--page .region-content-wrapper p,.help--page .region-content-wrapper li{line-height:1.8}.help--page .region-content-wrapper ul,.help--page .region-content-wrapper ol{padding-left:1.5em}.help--page .region-content-wrapper ul li,.help--page .region-content-wrapper ol li{list-style:disc;margin:0.5em 0}.help--page .region-content-wrapper ol li{list-style-type:decimal}.help--page .region-content-wrapper code{border:1px solid rgba(186,193,200,0.33);background:rgba(221,221,221,0.5);color:#2b2f30}.help--page .region-content-wrapper code:hover{color:#12b2e7;border-color:#12b2e7}.help--page .region-content-wrapper pre{border:1px dashed #bac1c8;margin:1em;margin-left:0}.help--page .region-content-wrapper pre code{background:none;border:none}.help--page .region-content-wrapper pre code:hover{color:inherit;border-color:inherit}.help--page .region-content-wrapper img{width:100%;max-width:1000px}.options-list,.mobile-menu{margin:0;padding:0}.options-list li,.mobile-menu li{margin:0;padding:0;list-style:none}.sidebar-section h3,.browser-page .region-first h3,.filters-container h3,.local-playlist-list .region-first h3,.modal .playlist-selection-list h3,.region-first .nav-sub h3{font-size:15px;text-transform:uppercase;margin:1em 0;color:#888;font-weight:bold}.text-dim,.folder-layout .empty--page-content{opacity:0.4;font-size:0.85em}.landing-page .region-content h3,.landing-page h3.set-header{background:#fff;padding:1em 1em;margin:0;font-size:18px;position:relative}.empty-result h2,.search-no-result{text-align:center;margin-top:10%;font-size:1.8em;color:#a8a7a6}.edit-form .form-tabs,.form-imageselect__tabs{background:#ddd;margin-bottom:1em;padding:0.5em 0.5em 0}.edit-form .form-tabs li,.form-imageselect__tabs li{cursor:pointer;float:left;padding:0.5em 1em}.edit-form .form-tabs li.active,.form-imageselect__tabs li.active{background:#fff;color:#12b2e7}.edit-form .form-tabs li:hover,.form-imageselect__tabs li:hover{color:#12b2e7}.card-grid--square .card{color:#888;width:159px;height:216px;margin:5px;background:#fff;position:relative;overflow:hidden}.card-grid--square .card a{color:#888}.card-grid--square .card .title a{color:#2b2f30}.card-grid--square .card .subtitle{font-size:85%;margin-top:5px}.card-grid--square .card .dropdown i,.card-grid--square .card .actions li,.card-grid--square .card .play{color:rgba(255,255,255,0.8)}.card-grid--square .card .dropdown i:hover,.card-grid--square .card .actions li:hover,.card-grid--square .card .play:hover{color:#fff}.card-grid--square .card .record{color:rgba(255,255,255,0.8)}.card-grid--square .card .record:hover{color:#bf0a07}.card-grid--square .ph.card{opacity:0.1;-webkit-box-shadow:none;box-shadow:none}.card-grid--square .card .artwork{background:transparent;overflow:hidden;letter-spacing:-0.31em;width:159px;height:159px;position:relative;background:#ccc 50% 50% no-repeat;background-size:cover}.card-grid--square .card .artwork img{display:block;vertical-align:middle;width:159px;margin-top:0}.card-grid--square .card .artwork .thumb{width:159px;height:159px;background-position:50% 0;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.card-grid--square .card .artwork a{display:block}.card-grid--square .card .artwork .thumb:after{content:"";top:0;right:0;left:0;position:absolute;height:216px;background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;opacity:0;-webkit-transition:0.1s all linear;-o-transition:0.1s all linear;transition:0.1s all linear}.card-grid--square .card .entity-progress{right:0;bottom:0;left:0;position:absolute;top:auto;z-index:20}.card-grid--square .card .entity-progress .current-progress{height:2px;background:#12b2e7}.card-grid--square .card .watched-tick{color:#12b2e7;right:10px;bottom:3px;position:absolute;font-size:125%;display:none}.card-grid--square .card .watched-tick:before{content:"\e899";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .watched{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--square .card .watched:before{content:"\e8e2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .watched:before{display:table-cell;vertical-align:middle;height:1.5em}.thumbs-page .card-grid--square .card .watched,.card-grid--square .thumbs-page .card .watched{display:none}.card-grid--square .is-watched.card .watched{color:#12b2e7}.card-grid--square .is-watched.card .watched:before{content:"\e8e1";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .thumb{display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.card-grid--square .card .meta{position:relative;padding:8px 10px;width:159px}.card-grid--square .card .meta .title{position:relative;white-space:nowrap;overflow:hidden}.card-grid--square .card .meta .title:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--square .card .meta .subtitle{position:relative;white-space:nowrap;overflow:hidden}.card-grid--square .card .meta .subtitle:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--square .card .play{display:table;width:1.5em;text-align:center;cursor:pointer;bottom:0;left:0;position:absolute;font-size:220%;display:none;z-index:20}.card-grid--square .card .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .play:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--square .card .record{display:table;width:1.5em;text-align:center;cursor:pointer;right:10px;bottom:7px;position:absolute;font-size:150%;display:none;z-index:20}.card-grid--square .card .record:before{content:"\e7da";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .record:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--square .card .dropdown{top:5px;right:0;position:absolute}.card-grid--square .card .dropdown i{display:table;width:1.5em;text-align:center;cursor:pointer;z-index:20;font-size:180%;display:none}.card-grid--square .card .dropdown i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .dropdown i:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--square .card .actions{top:10px;right:35px;position:absolute;display:table;display:none}.card-grid--square .card .actions .thumbs{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--square .card .actions .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--square .card .actions .thumbs:before{display:table-cell;vertical-align:middle;height:1.5em}.disable-thumbs .card-grid--square .card .actions .thumbs,.card-grid--square .disable-thumbs .card .actions .thumbs{display:none}.card-grid--square .card .actions li{float:left;margin-left:3px}.card-grid--square .card .actions li:before{display:table-cell !important}.card-grid--square .card:hover .artwork .thumb:after{opacity:1}.card-grid--square .card:hover .actions,.card-grid--square .card:hover .dropdown i,.card-grid--square .card:hover .play{display:table}.card-grid--square .card:hover .record{display:table}.card-grid--square .selected.card{outline:2px solid #12b2e7;box-shadow:0 0 10px 1px rgba(18,178,231,0.5);position:relative}.active-player-local .card-grid--square .selected.card,.card-grid--square .active-player-local .selected.card{outline:2px solid #db2464;box-shadow:0 0 10px 1px rgba(219,36,100,0.5)}.active-player-local .card-grid--square .selected.card:before,.card-grid--square .active-player-local .selected.card:before{border-color:#db2464}.card-grid--square .selected.card:before{right:-10px;bottom:-10px;position:absolute;transform:rotate(-45deg);content:'';width:0;height:0;border:10px solid transparent;border-top-color:#12b2e7}.card-grid--square .selected.card .current-progress{display:none}.card-grid--square .card .dropdown-menu{left:auto;right:0px;top:-7px}.card-grid--square .thumbs-up.card .actions .thumbs{color:#12b2e7}.card-grid--wide .card{color:#888;width:276px;height:170px;margin:5px;background:#fff;position:relative;overflow:hidden}.card-grid--wide .card a{color:#888}.card-grid--wide .card .title a{color:#2b2f30}.card-grid--wide .card .subtitle{font-size:85%;margin-top:5px}.card-grid--wide .card .dropdown i,.card-grid--wide .card .actions li,.card-grid--wide .card .play{color:rgba(255,255,255,0.8)}.card-grid--wide .card .dropdown i:hover,.card-grid--wide .card .actions li:hover,.card-grid--wide .card .play:hover{color:#fff}.card-grid--wide .card .record{color:rgba(255,255,255,0.8)}.card-grid--wide .card .record:hover{color:#bf0a07}.card-grid--wide .ph.card{opacity:0.1;-webkit-box-shadow:none;box-shadow:none}.card-grid--wide .card .artwork{background:transparent;overflow:hidden;letter-spacing:-0.31em;width:276px;height:138px;position:relative;background:#ccc 50% 50% no-repeat;background-size:cover}.card-grid--wide .card .artwork img{display:block;vertical-align:middle;width:276px;margin-top:20%}.card-grid--wide .card .artwork .thumb{width:276px;height:138px;background-position:50% 20%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.card-grid--wide .card .artwork a{display:block}.card-grid--wide .card .artwork .thumb:after{content:"";top:0;right:0;left:0;position:absolute;height:170px;background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;opacity:0;-webkit-transition:0.1s all linear;-o-transition:0.1s all linear;transition:0.1s all linear}.card-grid--wide .card .entity-progress{right:0;bottom:0;left:0;position:absolute;top:auto;z-index:20}.card-grid--wide .card .entity-progress .current-progress{height:2px;background:#12b2e7}.card-grid--wide .card .watched-tick{color:#12b2e7;right:10px;bottom:3px;position:absolute;font-size:125%;display:none}.card-grid--wide .card .watched-tick:before{content:"\e899";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .watched{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--wide .card .watched:before{content:"\e8e2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .watched:before{display:table-cell;vertical-align:middle;height:1.5em}.thumbs-page .card-grid--wide .card .watched,.card-grid--wide .thumbs-page .card .watched{display:none}.card-grid--wide .is-watched.card .watched{color:#12b2e7}.card-grid--wide .is-watched.card .watched:before{content:"\e8e1";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .thumb{display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.card-grid--wide .card .meta{position:relative;padding:8px 10px;width:276px}.card-grid--wide .card .meta .title{position:relative;white-space:nowrap;overflow:hidden}.card-grid--wide .card .meta .title:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--wide .card .meta .subtitle{position:relative;white-space:nowrap;overflow:hidden}.card-grid--wide .card .meta .subtitle:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--wide .card .play{display:table;width:1.5em;text-align:center;cursor:pointer;bottom:0;left:0;position:absolute;font-size:220%;display:none;z-index:20}.card-grid--wide .card .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .play:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--wide .card .record{display:table;width:1.5em;text-align:center;cursor:pointer;right:10px;bottom:7px;position:absolute;font-size:150%;display:none;z-index:20}.card-grid--wide .card .record:before{content:"\e7da";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .record:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--wide .card .dropdown{top:5px;right:0;position:absolute}.card-grid--wide .card .dropdown i{display:table;width:1.5em;text-align:center;cursor:pointer;z-index:20;font-size:180%;display:none}.card-grid--wide .card .dropdown i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .dropdown i:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--wide .card .actions{top:10px;right:35px;position:absolute;display:table;display:none}.card-grid--wide .card .actions .thumbs{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--wide .card .actions .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--wide .card .actions .thumbs:before{display:table-cell;vertical-align:middle;height:1.5em}.disable-thumbs .card-grid--wide .card .actions .thumbs,.card-grid--wide .disable-thumbs .card .actions .thumbs{display:none}.card-grid--wide .card .actions li{float:left;margin-left:3px}.card-grid--wide .card .actions li:before{display:table-cell !important}.card-grid--wide .card:hover .artwork .thumb:after{opacity:1}.card-grid--wide .card:hover .actions,.card-grid--wide .card:hover .dropdown i,.card-grid--wide .card:hover .play{display:table}.card-grid--wide .card:hover .record{display:table}.card-grid--wide .selected.card{outline:2px solid #12b2e7;box-shadow:0 0 10px 1px rgba(18,178,231,0.5);position:relative}.active-player-local .card-grid--wide .selected.card,.card-grid--wide .active-player-local .selected.card{outline:2px solid #db2464;box-shadow:0 0 10px 1px rgba(219,36,100,0.5)}.active-player-local .card-grid--wide .selected.card:before,.card-grid--wide .active-player-local .selected.card:before{border-color:#db2464}.card-grid--wide .selected.card:before{right:-10px;bottom:-10px;position:absolute;transform:rotate(-45deg);content:'';width:0;height:0;border:10px solid transparent;border-top-color:#12b2e7}.card-grid--wide .selected.card .current-progress{display:none}.card-grid--wide .card .dropdown-menu{left:auto;right:0px;top:-7px}.card-grid--wide .thumbs-up.card .actions .thumbs{color:#12b2e7}.card-grid--episode .card{color:#888;width:275px;height:196px;margin:5px;background:#fff;position:relative;overflow:hidden}.card-grid--episode .card a{color:#888}.card-grid--episode .card .title a{color:#2b2f30}.card-grid--episode .card .subtitle{font-size:85%;margin-top:5px}.card-grid--episode .card .dropdown i,.card-grid--episode .card .actions li,.card-grid--episode .card .play{color:rgba(255,255,255,0.8)}.card-grid--episode .card .dropdown i:hover,.card-grid--episode .card .actions li:hover,.card-grid--episode .card .play:hover{color:#fff}.card-grid--episode .card .record{color:rgba(255,255,255,0.8)}.card-grid--episode .card .record:hover{color:#bf0a07}.card-grid--episode .ph.card{opacity:0.1;-webkit-box-shadow:none;box-shadow:none}.card-grid--episode .card .artwork{background:transparent;overflow:hidden;letter-spacing:-0.31em;width:275px;height:138px;position:relative;background:#ccc 50% 50% no-repeat;background-size:cover}.card-grid--episode .card .artwork img{display:block;vertical-align:middle;width:275px;margin-top:0}.card-grid--episode .card .artwork .thumb{width:275px;height:138px;background-position:50% 0;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.card-grid--episode .card .artwork a{display:block}.card-grid--episode .card .artwork .thumb:after{content:"";top:0;right:0;left:0;position:absolute;height:196px;background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;opacity:0;-webkit-transition:0.1s all linear;-o-transition:0.1s all linear;transition:0.1s all linear}.card-grid--episode .card .entity-progress{right:0;bottom:0;left:0;position:absolute;top:auto;z-index:20}.card-grid--episode .card .entity-progress .current-progress{height:2px;background:#12b2e7}.card-grid--episode .card .watched-tick{color:#12b2e7;right:10px;bottom:3px;position:absolute;font-size:125%;display:none}.card-grid--episode .card .watched-tick:before{content:"\e899";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .watched{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--episode .card .watched:before{content:"\e8e2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .watched:before{display:table-cell;vertical-align:middle;height:1.5em}.thumbs-page .card-grid--episode .card .watched,.card-grid--episode .thumbs-page .card .watched{display:none}.card-grid--episode .is-watched.card .watched{color:#12b2e7}.card-grid--episode .is-watched.card .watched:before{content:"\e8e1";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .thumb{display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.card-grid--episode .card .meta{position:relative;padding:8px 10px;width:275px}.card-grid--episode .card .meta .title{position:relative;white-space:nowrap;overflow:hidden}.card-grid--episode .card .meta .title:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--episode .card .meta .subtitle{position:relative;white-space:nowrap;overflow:hidden}.card-grid--episode .card .meta .subtitle:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--episode .card .play{display:table;width:1.5em;text-align:center;cursor:pointer;bottom:0;left:0;position:absolute;font-size:220%;display:none;z-index:20}.card-grid--episode .card .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .play:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--episode .card .record{display:table;width:1.5em;text-align:center;cursor:pointer;right:10px;bottom:7px;position:absolute;font-size:150%;display:none;z-index:20}.card-grid--episode .card .record:before{content:"\e7da";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .record:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--episode .card .dropdown{top:5px;right:0;position:absolute}.card-grid--episode .card .dropdown i{display:table;width:1.5em;text-align:center;cursor:pointer;z-index:20;font-size:180%;display:none}.card-grid--episode .card .dropdown i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .dropdown i:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--episode .card .actions{top:10px;right:35px;position:absolute;display:table;display:none}.card-grid--episode .card .actions .thumbs{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--episode .card .actions .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--episode .card .actions .thumbs:before{display:table-cell;vertical-align:middle;height:1.5em}.disable-thumbs .card-grid--episode .card .actions .thumbs,.card-grid--episode .disable-thumbs .card .actions .thumbs{display:none}.card-grid--episode .card .actions li{float:left;margin-left:3px}.card-grid--episode .card .actions li:before{display:table-cell !important}.card-grid--episode .card:hover .artwork .thumb:after{opacity:1}.card-grid--episode .card:hover .actions,.card-grid--episode .card:hover .dropdown i,.card-grid--episode .card:hover .play{display:table}.card-grid--episode .card:hover .record{display:table}.card-grid--episode .selected.card{outline:2px solid #12b2e7;box-shadow:0 0 10px 1px rgba(18,178,231,0.5);position:relative}.active-player-local .card-grid--episode .selected.card,.card-grid--episode .active-player-local .selected.card{outline:2px solid #db2464;box-shadow:0 0 10px 1px rgba(219,36,100,0.5)}.active-player-local .card-grid--episode .selected.card:before,.card-grid--episode .active-player-local .selected.card:before{border-color:#db2464}.card-grid--episode .selected.card:before{right:-10px;bottom:-10px;position:absolute;transform:rotate(-45deg);content:'';width:0;height:0;border:10px solid transparent;border-top-color:#12b2e7}.card-grid--episode .selected.card .current-progress{display:none}.card-grid--episode .card .dropdown-menu{left:auto;right:0px;top:-7px}.card-grid--episode .thumbs-up.card .actions .thumbs{color:#12b2e7}.card-grid--tall .card{color:#888;width:159px;height:300px;margin:5px;background:#fff;position:relative;overflow:hidden}.card-grid--tall .card a{color:#888}.card-grid--tall .card .title a{color:#2b2f30}.card-grid--tall .card .subtitle{font-size:85%;margin-top:5px}.card-grid--tall .card .dropdown i,.card-grid--tall .card .actions li,.card-grid--tall .card .play{color:rgba(255,255,255,0.8)}.card-grid--tall .card .dropdown i:hover,.card-grid--tall .card .actions li:hover,.card-grid--tall .card .play:hover{color:#fff}.card-grid--tall .card .record{color:rgba(255,255,255,0.8)}.card-grid--tall .card .record:hover{color:#bf0a07}.card-grid--tall .ph.card{opacity:0.1;-webkit-box-shadow:none;box-shadow:none}.card-grid--tall .card .artwork{background:transparent;overflow:hidden;letter-spacing:-0.31em;width:159px;height:235px;position:relative;background:#ccc 50% 50% no-repeat;background-size:cover}.card-grid--tall .card .artwork img{display:block;vertical-align:middle;width:159px;margin-top:0}.card-grid--tall .card .artwork .thumb{width:159px;height:235px;background-position:50% 0;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.card-grid--tall .card .artwork a{display:block}.card-grid--tall .card .artwork .thumb:after{content:"";top:0;right:0;left:0;position:absolute;height:300px;background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;opacity:0;-webkit-transition:0.1s all linear;-o-transition:0.1s all linear;transition:0.1s all linear}.card-grid--tall .card .entity-progress{right:0;bottom:0;left:0;position:absolute;top:auto;z-index:20}.card-grid--tall .card .entity-progress .current-progress{height:2px;background:#12b2e7}.card-grid--tall .card .watched-tick{color:#12b2e7;right:10px;bottom:3px;position:absolute;font-size:125%;display:none}.card-grid--tall .card .watched-tick:before{content:"\e899";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .watched{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--tall .card .watched:before{content:"\e8e2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .watched:before{display:table-cell;vertical-align:middle;height:1.5em}.thumbs-page .card-grid--tall .card .watched,.card-grid--tall .thumbs-page .card .watched{display:none}.card-grid--tall .is-watched.card .watched{color:#12b2e7}.card-grid--tall .is-watched.card .watched:before{content:"\e8e1";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .thumb{display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.card-grid--tall .card .meta{position:relative;padding:8px 10px;width:159px}.card-grid--tall .card .meta .title{position:relative;white-space:nowrap;overflow:hidden}.card-grid--tall .card .meta .title:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--tall .card .meta .subtitle{position:relative;white-space:nowrap;overflow:hidden}.card-grid--tall .card .meta .subtitle:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-grid--tall .card .play{display:table;width:1.5em;text-align:center;cursor:pointer;bottom:0;left:0;position:absolute;font-size:220%;display:none;z-index:20}.card-grid--tall .card .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .play:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--tall .card .record{display:table;width:1.5em;text-align:center;cursor:pointer;right:10px;bottom:7px;position:absolute;font-size:150%;display:none;z-index:20}.card-grid--tall .card .record:before{content:"\e7da";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .record:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--tall .card .dropdown{top:5px;right:0;position:absolute}.card-grid--tall .card .dropdown i{display:table;width:1.5em;text-align:center;cursor:pointer;z-index:20;font-size:180%;display:none}.card-grid--tall .card .dropdown i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .dropdown i:before{display:table-cell;vertical-align:middle;height:1.5em}.card-grid--tall .card .actions{top:10px;right:35px;position:absolute;display:table;display:none}.card-grid--tall .card .actions .thumbs{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-grid--tall .card .actions .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-grid--tall .card .actions .thumbs:before{display:table-cell;vertical-align:middle;height:1.5em}.disable-thumbs .card-grid--tall .card .actions .thumbs,.card-grid--tall .disable-thumbs .card .actions .thumbs{display:none}.card-grid--tall .card .actions li{float:left;margin-left:3px}.card-grid--tall .card .actions li:before{display:table-cell !important}.card-grid--tall .card:hover .artwork .thumb:after{opacity:1}.card-grid--tall .card:hover .actions,.card-grid--tall .card:hover .dropdown i,.card-grid--tall .card:hover .play{display:table}.card-grid--tall .card:hover .record{display:table}.card-grid--tall .selected.card{outline:2px solid #12b2e7;box-shadow:0 0 10px 1px rgba(18,178,231,0.5);position:relative}.active-player-local .card-grid--tall .selected.card,.card-grid--tall .active-player-local .selected.card{outline:2px solid #db2464;box-shadow:0 0 10px 1px rgba(219,36,100,0.5)}.active-player-local .card-grid--tall .selected.card:before,.card-grid--tall .active-player-local .selected.card:before{border-color:#db2464}.card-grid--tall .selected.card:before{right:-10px;bottom:-10px;position:absolute;transform:rotate(-45deg);content:'';width:0;height:0;border:10px solid transparent;border-top-color:#12b2e7}.card-grid--tall .selected.card .current-progress{display:none}.card-grid--tall .card .dropdown-menu{left:auto;right:0px;top:-7px}.card-grid--tall .thumbs-up.card .actions .thumbs{color:#12b2e7}.card-grid--square .card,.card-grid--wide .card,.card-grid--episode .card,.card-grid--tall .card{display:inline-block}body{background:#fff}*{box-sizing:border-box}img{width:100%;max-width:auto;height:auto}ul,ol{margin:0;padding:0}ul li,ol li{margin:0;padding:0;list-style:none}a{color:#12b2e7;cursor:pointer}.hidden{display:none}input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:inherit}.form-control-wrapper textarea,.form-control-wrapper textarea.form-control,textarea,textarea.form-control{resize:vertical;height:auto !important}@font-face{font-family:"Material-Design-Icons";src:url("../fonts/material/Material-Design-Icons.eot");src:url("../fonts/material/Material-Design-Icons.eot?#iefix") format("embedded-opentype"),url("../fonts/material/Material-Design-Icons.woff") format("woff"),url("../fonts/material/Material-Design-Icons.ttf") format("truetype");font-weight:normal;font-style:normal}.mdi-action-3d-rotation:before{content:"\e600"}.mdi-action-accessibility:before{content:"\e601"}.mdi-action-account-balance:before{content:"\e602"}.mdi-action-account-balance-wallet:before{content:"\e603"}.mdi-action-account-box:before{content:"\e604"}.mdi-action-account-child:before{content:"\e605"}.mdi-action-account-circle:before{content:"\e606"}.mdi-action-add-shopping-cart:before{content:"\e607"}.mdi-action-alarm:before{content:"\e608"}.mdi-action-alarm-add:before{content:"\e609"}.mdi-action-alarm-off:before{content:"\e60a"}.mdi-action-alarm-on:before{content:"\e60b"}.mdi-action-android:before{content:"\e60c"}.mdi-action-announcement:before{content:"\e60d"}.mdi-action-aspect-ratio:before{content:"\e60e"}.mdi-action-assessment:before{content:"\e60f"}.mdi-action-assignment:before{content:"\e610"}.mdi-action-assignment-ind:before{content:"\e611"}.mdi-action-assignment-late:before{content:"\e612"}.mdi-action-assignment-return:before{content:"\e613"}.mdi-action-assignment-returned:before{content:"\e614"}.mdi-action-assignment-turned-in:before{content:"\e615"}.mdi-action-autorenew:before{content:"\e616"}.mdi-action-backup:before{content:"\e617"}.mdi-action-book:before{content:"\e618"}.mdi-action-bookmark:before{content:"\e619"}.mdi-action-bookmark-outline:before{content:"\e61a"}.mdi-action-bug-report:before{content:"\e61b"}.mdi-action-cached:before{content:"\e61c"}.mdi-action-class:before{content:"\e61d"}.mdi-action-credit-card:before{content:"\e61e"}.mdi-action-dashboard:before{content:"\e61f"}.mdi-action-delete:before{content:"\e620"}.mdi-action-description:before{content:"\e621"}.mdi-action-dns:before{content:"\e622"}.mdi-action-done:before{content:"\e623"}.mdi-action-done-all:before{content:"\e624"}.mdi-action-event:before{content:"\e625"}.mdi-action-exit-to-app:before{content:"\e626"}.mdi-action-explore:before{content:"\e627"}.mdi-action-extension:before{content:"\e628"}.mdi-action-face-unlock:before{content:"\e629"}.mdi-action-favorite:before{content:"\e62a"}.mdi-action-favorite-outline:before{content:"\e62b"}.mdi-action-find-in-page:before{content:"\e62c"}.mdi-action-find-replace:before{content:"\e62d"}.mdi-action-flip-to-back:before{content:"\e62e"}.mdi-action-flip-to-front:before{content:"\e62f"}.mdi-action-get-app:before{content:"\e630"}.mdi-action-grade:before{content:"\e631"}.mdi-action-group-work:before{content:"\e632"}.mdi-action-help:before{content:"\e633"}.mdi-action-highlight-remove:before{content:"\e634"}.mdi-action-history:before{content:"\e635"}.mdi-action-home:before{content:"\e636"}.mdi-action-https:before{content:"\e637"}.mdi-action-info:before{content:"\e638"}.mdi-action-info-outline:before{content:"\e639"}.mdi-action-input:before{content:"\e63a"}.mdi-action-invert-colors:before{content:"\e63b"}.mdi-action-label:before{content:"\e63c"}.mdi-action-label-outline:before{content:"\e63d"}.mdi-action-language:before{content:"\e63e"}.mdi-action-launch:before{content:"\e63f"}.mdi-action-list:before{content:"\e640"}.mdi-action-lock:before{content:"\e641"}.mdi-action-lock-open:before{content:"\e642"}.mdi-action-lock-outline:before{content:"\e643"}.mdi-action-loyalty:before{content:"\e644"}.mdi-action-markunread-mailbox:before{content:"\e645"}.mdi-action-note-add:before{content:"\e646"}.mdi-action-open-in-browser:before{content:"\e647"}.mdi-action-open-in-new:before{content:"\e648"}.mdi-action-open-with:before{content:"\e649"}.mdi-action-pageview:before{content:"\e64a"}.mdi-action-payment:before{content:"\e64b"}.mdi-action-perm-camera-mic:before{content:"\e64c"}.mdi-action-perm-contact-cal:before{content:"\e64d"}.mdi-action-perm-data-setting:before{content:"\e64e"}.mdi-action-perm-device-info:before{content:"\e64f"}.mdi-action-perm-identity:before{content:"\e650"}.mdi-action-perm-media:before{content:"\e651"}.mdi-action-perm-phone-msg:before{content:"\e652"}.mdi-action-perm-scan-wifi:before{content:"\e653"}.mdi-action-picture-in-picture:before{content:"\e654"}.mdi-action-polymer:before{content:"\e655"}.mdi-action-print:before{content:"\e656"}.mdi-action-query-builder:before{content:"\e657"}.mdi-action-question-answer:before{content:"\e658"}.mdi-action-receipt:before{content:"\e659"}.mdi-action-redeem:before{content:"\e65a"}.mdi-action-report-problem:before{content:"\e65b"}.mdi-action-restore:before{content:"\e65c"}.mdi-action-room:before{content:"\e65d"}.mdi-action-schedule:before{content:"\e65e"}.mdi-action-search:before{content:"\e65f"}.mdi-action-settings:before{content:"\e660"}.mdi-action-settings-applications:before{content:"\e661"}.mdi-action-settings-backup-restore:before{content:"\e662"}.mdi-action-settings-bluetooth:before{content:"\e663"}.mdi-action-settings-cell:before{content:"\e664"}.mdi-action-settings-display:before{content:"\e665"}.mdi-action-settings-ethernet:before{content:"\e666"}.mdi-action-settings-input-antenna:before{content:"\e667"}.mdi-action-settings-input-component:before{content:"\e668"}.mdi-action-settings-input-composite:before{content:"\e669"}.mdi-action-settings-input-hdmi:before{content:"\e66a"}.mdi-action-settings-input-svideo:before{content:"\e66b"}.mdi-action-settings-overscan:before{content:"\e66c"}.mdi-action-settings-phone:before{content:"\e66d"}.mdi-action-settings-power:before{content:"\e66e"}.mdi-action-settings-remote:before{content:"\e66f"}.mdi-action-settings-voice:before{content:"\e670"}.mdi-action-shop:before{content:"\e671"}.mdi-action-shopping-basket:before{content:"\e672"}.mdi-action-shopping-cart:before{content:"\e673"}.mdi-action-shop-two:before{content:"\e674"}.mdi-action-speaker-notes:before{content:"\e675"}.mdi-action-spellcheck:before{content:"\e676"}.mdi-action-star-rate:before{content:"\e677"}.mdi-action-stars:before{content:"\e678"}.mdi-action-store:before{content:"\e679"}.mdi-action-subject:before{content:"\e67a"}.mdi-action-swap-horiz:before{content:"\e67b"}.mdi-action-swap-vert:before{content:"\e67c"}.mdi-action-swap-vert-circle:before{content:"\e67d"}.mdi-action-system-update-tv:before{content:"\e67e"}.mdi-action-tab:before{content:"\e67f"}.mdi-action-tab-unselected:before{content:"\e680"}.mdi-action-theaters:before{content:"\e681"}.mdi-action-thumb-down:before{content:"\e682"}.mdi-action-thumbs-up-down:before{content:"\e683"}.mdi-action-thumb-up:before{content:"\e684"}.mdi-action-toc:before{content:"\e685"}.mdi-action-today:before{content:"\e686"}.mdi-action-track-changes:before{content:"\e687"}.mdi-action-translate:before{content:"\e688"}.mdi-action-trending-down:before{content:"\e689"}.mdi-action-trending-neutral:before{content:"\e68a"}.mdi-action-trending-up:before{content:"\e68b"}.mdi-action-turned-in:before{content:"\e68c"}.mdi-action-turned-in-not:before{content:"\e68d"}.mdi-action-verified-user:before{content:"\e68e"}.mdi-action-view-agenda:before{content:"\e68f"}.mdi-action-view-array:before{content:"\e690"}.mdi-action-view-carousel:before{content:"\e691"}.mdi-action-view-column:before{content:"\e692"}.mdi-action-view-day:before{content:"\e693"}.mdi-action-view-headline:before{content:"\e694"}.mdi-action-view-list:before{content:"\e695"}.mdi-action-view-module:before{content:"\e696"}.mdi-action-view-quilt:before{content:"\e697"}.mdi-action-view-stream:before{content:"\e698"}.mdi-action-view-week:before{content:"\e699"}.mdi-action-visibility:before{content:"\e69a"}.mdi-action-visibility-off:before{content:"\e69b"}.mdi-action-wallet-giftcard:before{content:"\e69c"}.mdi-action-wallet-membership:before{content:"\e69d"}.mdi-action-wallet-travel:before{content:"\e69e"}.mdi-action-work:before{content:"\e69f"}.mdi-alert-error:before{content:"\e6a0"}.mdi-alert-warning:before{content:"\e6a1"}.mdi-av-album:before{content:"\e6a2"}.mdi-av-timer:before{content:"\e6a3"}.mdi-av-closed-caption:before{content:"\e6a4"}.mdi-av-equalizer:before{content:"\e6a5"}.mdi-av-explicit:before{content:"\e6a6"}.mdi-av-fast-forward:before{content:"\e6a7"}.mdi-av-fast-rewind:before{content:"\e6a8"}.mdi-av-games:before{content:"\e6a9"}.mdi-av-hearing:before{content:"\e6aa"}.mdi-av-high-quality:before{content:"\e6ab"}.mdi-av-loop:before{content:"\e6ac"}.mdi-av-mic:before{content:"\e6ad"}.mdi-av-mic-none:before{content:"\e6ae"}.mdi-av-mic-off:before{content:"\e6af"}.mdi-av-movie:before{content:"\e6b0"}.mdi-av-my-library-add:before{content:"\e6b1"}.mdi-av-my-library-books:before{content:"\e6b2"}.mdi-av-my-library-music:before{content:"\e6b3"}.mdi-av-new-releases:before{content:"\e6b4"}.mdi-av-not-interested:before{content:"\e6b5"}.mdi-av-pause:before{content:"\e6b6"}.mdi-av-pause-circle-fill:before{content:"\e6b7"}.mdi-av-pause-circle-outline:before{content:"\e6b8"}.mdi-av-play-arrow:before{content:"\e6b9"}.mdi-av-play-circle-fill:before{content:"\e6ba"}.mdi-av-play-circle-outline:before{content:"\e6bb"}.mdi-av-playlist-add:before{content:"\e6bc"}.mdi-av-play-shopping-bag:before{content:"\e6bd"}.mdi-av-queue:before{content:"\e6be"}.mdi-av-queue-music:before{content:"\e6bf"}.mdi-av-radio:before{content:"\e6c0"}.mdi-av-recent-actors:before{content:"\e6c1"}.mdi-av-repeat:before{content:"\e6c2"}.mdi-av-repeat-one:before{content:"\e6c3"}.mdi-av-replay:before{content:"\e6c4"}.mdi-av-shuffle:before{content:"\e6c5"}.mdi-av-skip-next:before{content:"\e6c6"}.mdi-av-skip-previous:before{content:"\e6c7"}.mdi-av-snooze:before{content:"\e6c8"}.mdi-av-stop:before{content:"\e6c9"}.mdi-av-subtitles:before{content:"\e6ca"}.mdi-av-surround-sound:before{content:"\e6cb"}.mdi-av-videocam:before{content:"\e6cc"}.mdi-av-videocam-off:before{content:"\e6cd"}.mdi-av-video-collection:before{content:"\e6ce"}.mdi-av-volume-down:before{content:"\e6cf"}.mdi-av-volume-mute:before{content:"\e6d0"}.mdi-av-volume-off:before{content:"\e6d1"}.mdi-av-volume-up:before{content:"\e6d2"}.mdi-av-web:before{content:"\e6d3"}.mdi-communication-business:before{content:"\e6d4"}.mdi-communication-call:before{content:"\e6d5"}.mdi-communication-call-end:before{content:"\e6d6"}.mdi-communication-call-made:before{content:"\e6d7"}.mdi-communication-call-merge:before{content:"\e6d8"}.mdi-communication-call-missed:before{content:"\e6d9"}.mdi-communication-call-received:before{content:"\e6da"}.mdi-communication-call-split:before{content:"\e6db"}.mdi-communication-chat:before{content:"\e6dc"}.mdi-communication-clear-all:before{content:"\e6dd"}.mdi-communication-comment:before{content:"\e6de"}.mdi-communication-contacts:before{content:"\e6df"}.mdi-communication-dialer-sip:before{content:"\e6e0"}.mdi-communication-dialpad:before{content:"\e6e1"}.mdi-communication-dnd-on:before{content:"\e6e2"}.mdi-communication-email:before{content:"\e6e3"}.mdi-communication-forum:before{content:"\e6e4"}.mdi-communication-import-export:before{content:"\e6e5"}.mdi-communication-invert-colors-off:before{content:"\e6e6"}.mdi-communication-invert-colors-on:before{content:"\e6e7"}.mdi-communication-live-help:before{content:"\e6e8"}.mdi-communication-location-off:before{content:"\e6e9"}.mdi-communication-location-on:before{content:"\e6ea"}.mdi-communication-message:before{content:"\e6eb"}.mdi-communication-messenger:before{content:"\e6ec"}.mdi-communication-no-sim:before{content:"\e6ed"}.mdi-communication-phone:before{content:"\e6ee"}.mdi-communication-portable-wifi-off:before{content:"\e6ef"}.mdi-communication-quick-contacts-dialer:before{content:"\e6f0"}.mdi-communication-quick-contacts-mail:before{content:"\e6f1"}.mdi-communication-ring-volume:before{content:"\e6f2"}.mdi-communication-stay-current-landscape:before{content:"\e6f3"}.mdi-communication-stay-current-portrait:before{content:"\e6f4"}.mdi-communication-stay-primary-landscape:before{content:"\e6f5"}.mdi-communication-stay-primary-portrait:before{content:"\e6f6"}.mdi-communication-swap-calls:before{content:"\e6f7"}.mdi-communication-textsms:before{content:"\e6f8"}.mdi-communication-voicemail:before{content:"\e6f9"}.mdi-communication-vpn-key:before{content:"\e6fa"}.mdi-content-add:before{content:"\e6fb"}.mdi-content-add-box:before{content:"\e6fc"}.mdi-content-add-circle:before{content:"\e6fd"}.mdi-content-add-circle-outline:before{content:"\e6fe"}.mdi-content-archive:before{content:"\e6ff"}.mdi-content-backspace:before{content:"\e700"}.mdi-content-block:before{content:"\e701"}.mdi-content-clear:before{content:"\e702"}.mdi-content-content-copy:before{content:"\e703"}.mdi-content-content-cut:before{content:"\e704"}.mdi-content-content-paste:before{content:"\e705"}.mdi-content-create:before{content:"\e706"}.mdi-content-drafts:before{content:"\e707"}.mdi-content-filter-list:before{content:"\e708"}.mdi-content-flag:before{content:"\e709"}.mdi-content-forward:before{content:"\e70a"}.mdi-content-gesture:before{content:"\e70b"}.mdi-content-inbox:before{content:"\e70c"}.mdi-content-link:before{content:"\e70d"}.mdi-content-mail:before{content:"\e70e"}.mdi-content-markunread:before{content:"\e70f"}.mdi-content-redo:before{content:"\e710"}.mdi-content-remove:before{content:"\e711"}.mdi-content-remove-circle:before{content:"\e712"}.mdi-content-remove-circle-outline:before{content:"\e713"}.mdi-content-reply:before{content:"\e714"}.mdi-content-reply-all:before{content:"\e715"}.mdi-content-report:before{content:"\e716"}.mdi-content-save:before{content:"\e717"}.mdi-content-select-all:before{content:"\e718"}.mdi-content-send:before{content:"\e719"}.mdi-content-sort:before{content:"\e71a"}.mdi-content-text-format:before{content:"\e71b"}.mdi-content-undo:before{content:"\e71c"}.mdi-device-access-alarm:before{content:"\e71d"}.mdi-device-access-alarms:before{content:"\e71e"}.mdi-device-access-time:before{content:"\e71f"}.mdi-device-add-alarm:before{content:"\e720"}.mdi-device-airplanemode-off:before{content:"\e721"}.mdi-device-airplanemode-on:before{content:"\e722"}.mdi-device-battery-20:before{content:"\e723"}.mdi-device-battery-30:before{content:"\e724"}.mdi-device-battery-50:before{content:"\e725"}.mdi-device-battery-60:before{content:"\e726"}.mdi-device-battery-80:before{content:"\e727"}.mdi-device-battery-90:before{content:"\e728"}.mdi-device-battery-alert:before{content:"\e729"}.mdi-device-battery-charging-20:before{content:"\e72a"}.mdi-device-battery-charging-30:before{content:"\e72b"}.mdi-device-battery-charging-50:before{content:"\e72c"}.mdi-device-battery-charging-60:before{content:"\e72d"}.mdi-device-battery-charging-80:before{content:"\e72e"}.mdi-device-battery-charging-90:before{content:"\e72f"}.mdi-device-battery-charging-full:before{content:"\e730"}.mdi-device-battery-full:before{content:"\e731"}.mdi-device-battery-std:before{content:"\e732"}.mdi-device-battery-unknown:before{content:"\e733"}.mdi-device-bluetooth:before{content:"\e734"}.mdi-device-bluetooth-connected:before{content:"\e735"}.mdi-device-bluetooth-disabled:before{content:"\e736"}.mdi-device-bluetooth-searching:before{content:"\e737"}.mdi-device-brightness-auto:before{content:"\e738"}.mdi-device-brightness-high:before{content:"\e739"}.mdi-device-brightness-low:before{content:"\e73a"}.mdi-device-brightness-medium:before{content:"\e73b"}.mdi-device-data-usage:before{content:"\e73c"}.mdi-device-developer-mode:before{content:"\e73d"}.mdi-device-devices:before{content:"\e73e"}.mdi-device-dvr:before{content:"\e73f"}.mdi-device-gps-fixed:before{content:"\e740"}.mdi-device-gps-not-fixed:before{content:"\e741"}.mdi-device-gps-off:before{content:"\e742"}.mdi-device-location-disabled:before{content:"\e743"}.mdi-device-location-searching:before{content:"\e744"}.mdi-device-multitrack-audio:before{content:"\e745"}.mdi-device-network-cell:before{content:"\e746"}.mdi-device-network-wifi:before{content:"\e747"}.mdi-device-nfc:before{content:"\e748"}.mdi-device-now-wallpaper:before{content:"\e749"}.mdi-device-now-widgets:before{content:"\e74a"}.mdi-device-screen-lock-landscape:before{content:"\e74b"}.mdi-device-screen-lock-portrait:before{content:"\e74c"}.mdi-device-screen-lock-rotation:before{content:"\e74d"}.mdi-device-screen-rotation:before{content:"\e74e"}.mdi-device-sd-storage:before{content:"\e74f"}.mdi-device-settings-system-daydream:before{content:"\e750"}.mdi-device-signal-cellular-0-bar:before{content:"\e751"}.mdi-device-signal-cellular-1-bar:before{content:"\e752"}.mdi-device-signal-cellular-2-bar:before{content:"\e753"}.mdi-device-signal-cellular-3-bar:before{content:"\e754"}.mdi-device-signal-cellular-4-bar:before{content:"\e755"}.mdi-device-signal-cellular-connected-no-internet-0-bar:before{content:"\e756"}.mdi-device-signal-cellular-connected-no-internet-1-bar:before{content:"\e757"}.mdi-device-signal-cellular-connected-no-internet-2-bar:before{content:"\e758"}.mdi-device-signal-cellular-connected-no-internet-3-bar:before{content:"\e759"}.mdi-device-signal-cellular-connected-no-internet-4-bar:before{content:"\e75a"}.mdi-device-signal-cellular-no-sim:before{content:"\e75b"}.mdi-device-signal-cellular-null:before{content:"\e75c"}.mdi-device-signal-cellular-off:before{content:"\e75d"}.mdi-device-signal-wifi-0-bar:before{content:"\e75e"}.mdi-device-signal-wifi-1-bar:before{content:"\e75f"}.mdi-device-signal-wifi-2-bar:before{content:"\e760"}.mdi-device-signal-wifi-3-bar:before{content:"\e761"}.mdi-device-signal-wifi-4-bar:before{content:"\e762"}.mdi-device-signal-wifi-off:before{content:"\e763"}.mdi-device-storage:before{content:"\e764"}.mdi-device-usb:before{content:"\e765"}.mdi-device-wifi-lock:before{content:"\e766"}.mdi-device-wifi-tethering:before{content:"\e767"}.mdi-editor-attach-file:before{content:"\e768"}.mdi-editor-attach-money:before{content:"\e769"}.mdi-editor-border-all:before{content:"\e76a"}.mdi-editor-border-bottom:before{content:"\e76b"}.mdi-editor-border-clear:before{content:"\e76c"}.mdi-editor-border-color:before{content:"\e76d"}.mdi-editor-border-horizontal:before{content:"\e76e"}.mdi-editor-border-inner:before{content:"\e76f"}.mdi-editor-border-left:before{content:"\e770"}.mdi-editor-border-outer:before{content:"\e771"}.mdi-editor-border-right:before{content:"\e772"}.mdi-editor-border-style:before{content:"\e773"}.mdi-editor-border-top:before{content:"\e774"}.mdi-editor-border-vertical:before{content:"\e775"}.mdi-editor-format-align-center:before{content:"\e776"}.mdi-editor-format-align-justify:before{content:"\e777"}.mdi-editor-format-align-left:before{content:"\e778"}.mdi-editor-format-align-right:before{content:"\e779"}.mdi-editor-format-bold:before{content:"\e77a"}.mdi-editor-format-clear:before{content:"\e77b"}.mdi-editor-format-color-fill:before{content:"\e77c"}.mdi-editor-format-color-reset:before{content:"\e77d"}.mdi-editor-format-color-text:before{content:"\e77e"}.mdi-editor-format-indent-decrease:before{content:"\e77f"}.mdi-editor-format-indent-increase:before{content:"\e780"}.mdi-editor-format-italic:before{content:"\e781"}.mdi-editor-format-line-spacing:before{content:"\e782"}.mdi-editor-format-list-bulleted:before{content:"\e783"}.mdi-editor-format-list-numbered:before{content:"\e784"}.mdi-editor-format-paint:before{content:"\e785"}.mdi-editor-format-quote:before{content:"\e786"}.mdi-editor-format-size:before{content:"\e787"}.mdi-editor-format-strikethrough:before{content:"\e788"}.mdi-editor-format-textdirection-l-to-r:before{content:"\e789"}.mdi-editor-format-textdirection-r-to-l:before{content:"\e78a"}.mdi-editor-format-underline:before{content:"\e78b"}.mdi-editor-functions:before{content:"\e78c"}.mdi-editor-insert-chart:before{content:"\e78d"}.mdi-editor-insert-comment:before{content:"\e78e"}.mdi-editor-insert-drive-file:before{content:"\e78f"}.mdi-editor-insert-emoticon:before{content:"\e790"}.mdi-editor-insert-invitation:before{content:"\e791"}.mdi-editor-insert-link:before{content:"\e792"}.mdi-editor-insert-photo:before{content:"\e793"}.mdi-editor-merge-type:before{content:"\e794"}.mdi-editor-mode-comment:before{content:"\e795"}.mdi-editor-mode-edit:before{content:"\e796"}.mdi-editor-publish:before{content:"\e797"}.mdi-editor-vertical-align-bottom:before{content:"\e798"}.mdi-editor-vertical-align-center:before{content:"\e799"}.mdi-editor-vertical-align-top:before{content:"\e79a"}.mdi-editor-wrap-text:before{content:"\e79b"}.mdi-file-attachment:before{content:"\e79c"}.mdi-file-cloud:before{content:"\e79d"}.mdi-file-cloud-circle:before{content:"\e79e"}.mdi-file-cloud-done:before{content:"\e79f"}.mdi-file-cloud-download:before{content:"\e7a0"}.mdi-file-cloud-off:before{content:"\e7a1"}.mdi-file-cloud-queue:before{content:"\e7a2"}.mdi-file-cloud-upload:before{content:"\e7a3"}.mdi-file-file-download:before{content:"\e7a4"}.mdi-file-file-upload:before{content:"\e7a5"}.mdi-file-folder:before{content:"\e7a6"}.mdi-file-folder-open:before{content:"\e7a7"}.mdi-file-folder-shared:before{content:"\e7a8"}.mdi-hardware-cast:before{content:"\e7a9"}.mdi-hardware-cast-connected:before{content:"\e7aa"}.mdi-hardware-computer:before{content:"\e7ab"}.mdi-hardware-desktop-mac:before{content:"\e7ac"}.mdi-hardware-desktop-windows:before{content:"\e7ad"}.mdi-hardware-dock:before{content:"\e7ae"}.mdi-hardware-gamepad:before{content:"\e7af"}.mdi-hardware-headset:before{content:"\e7b0"}.mdi-hardware-headset-mic:before{content:"\e7b1"}.mdi-hardware-keyboard:before{content:"\e7b2"}.mdi-hardware-keyboard-alt:before{content:"\e7b3"}.mdi-hardware-keyboard-arrow-down:before{content:"\e7b4"}.mdi-hardware-keyboard-arrow-left:before{content:"\e7b5"}.mdi-hardware-keyboard-arrow-right:before{content:"\e7b6"}.mdi-hardware-keyboard-arrow-up:before{content:"\e7b7"}.mdi-hardware-keyboard-backspace:before{content:"\e7b8"}.mdi-hardware-keyboard-capslock:before{content:"\e7b9"}.mdi-hardware-keyboard-control:before{content:"\e7ba"}.mdi-hardware-keyboard-hide:before{content:"\e7bb"}.mdi-hardware-keyboard-return:before{content:"\e7bc"}.mdi-hardware-keyboard-tab:before{content:"\e7bd"}.mdi-hardware-keyboard-voice:before{content:"\e7be"}.mdi-hardware-laptop:before{content:"\e7bf"}.mdi-hardware-laptop-chromebook:before{content:"\e7c0"}.mdi-hardware-laptop-mac:before{content:"\e7c1"}.mdi-hardware-laptop-windows:before{content:"\e7c2"}.mdi-hardware-memory:before{content:"\e7c3"}.mdi-hardware-mouse:before{content:"\e7c4"}.mdi-hardware-phone-android:before{content:"\e7c5"}.mdi-hardware-phone-iphone:before{content:"\e7c6"}.mdi-hardware-phonelink:before{content:"\e7c7"}.mdi-hardware-phonelink-off:before{content:"\e7c8"}.mdi-hardware-security:before{content:"\e7c9"}.mdi-hardware-sim-card:before{content:"\e7ca"}.mdi-hardware-smartphone:before{content:"\e7cb"}.mdi-hardware-speaker:before{content:"\e7cc"}.mdi-hardware-tablet:before{content:"\e7cd"}.mdi-hardware-tablet-android:before{content:"\e7ce"}.mdi-hardware-tablet-mac:before{content:"\e7cf"}.mdi-hardware-tv:before{content:"\e7d0"}.mdi-hardware-watch:before{content:"\e7d1"}.mdi-image-add-to-photos:before{content:"\e7d2"}.mdi-image-adjust:before{content:"\e7d3"}.mdi-image-assistant-photo:before{content:"\e7d4"}.mdi-image-audiotrack:before{content:"\e7d5"}.mdi-image-blur-circular:before{content:"\e7d6"}.mdi-image-blur-linear:before{content:"\e7d7"}.mdi-image-blur-off:before{content:"\e7d8"}.mdi-image-blur-on:before{content:"\e7d9"}.mdi-image-brightness-1:before{content:"\e7da"}.mdi-image-brightness-2:before{content:"\e7db"}.mdi-image-brightness-3:before{content:"\e7dc"}.mdi-image-brightness-4:before{content:"\e7dd"}.mdi-image-brightness-5:before{content:"\e7de"}.mdi-image-brightness-6:before{content:"\e7df"}.mdi-image-brightness-7:before{content:"\e7e0"}.mdi-image-brush:before{content:"\e7e1"}.mdi-image-camera:before{content:"\e7e2"}.mdi-image-camera-alt:before{content:"\e7e3"}.mdi-image-camera-front:before{content:"\e7e4"}.mdi-image-camera-rear:before{content:"\e7e5"}.mdi-image-camera-roll:before{content:"\e7e6"}.mdi-image-center-focus-strong:before{content:"\e7e7"}.mdi-image-center-focus-weak:before{content:"\e7e8"}.mdi-image-collections:before{content:"\e7e9"}.mdi-image-colorize:before{content:"\e7ea"}.mdi-image-color-lens:before{content:"\e7eb"}.mdi-image-compare:before{content:"\e7ec"}.mdi-image-control-point:before{content:"\e7ed"}.mdi-image-control-point-duplicate:before{content:"\e7ee"}.mdi-image-crop:before{content:"\e7ef"}.mdi-image-crop-3-2:before{content:"\e7f0"}.mdi-image-crop-5-4:before{content:"\e7f1"}.mdi-image-crop-7-5:before{content:"\e7f2"}.mdi-image-crop-16-9:before{content:"\e7f3"}.mdi-image-crop-din:before{content:"\e7f4"}.mdi-image-crop-free:before{content:"\e7f5"}.mdi-image-crop-landscape:before{content:"\e7f6"}.mdi-image-crop-original:before{content:"\e7f7"}.mdi-image-crop-portrait:before{content:"\e7f8"}.mdi-image-crop-square:before{content:"\e7f9"}.mdi-image-dehaze:before{content:"\e7fa"}.mdi-image-details:before{content:"\e7fb"}.mdi-image-edit:before{content:"\e7fc"}.mdi-image-exposure:before{content:"\e7fd"}.mdi-image-exposure-minus-1:before{content:"\e7fe"}.mdi-image-exposure-minus-2:before{content:"\e7ff"}.mdi-image-exposure-plus-1:before{content:"\e800"}.mdi-image-exposure-plus-2:before{content:"\e801"}.mdi-image-exposure-zero:before{content:"\e802"}.mdi-image-filter:before{content:"\e803"}.mdi-image-filter-1:before{content:"\e804"}.mdi-image-filter-2:before{content:"\e805"}.mdi-image-filter-3:before{content:"\e806"}.mdi-image-filter-4:before{content:"\e807"}.mdi-image-filter-5:before{content:"\e808"}.mdi-image-filter-6:before{content:"\e809"}.mdi-image-filter-7:before{content:"\e80a"}.mdi-image-filter-8:before{content:"\e80b"}.mdi-image-filter-9:before{content:"\e80c"}.mdi-image-filter-9-plus:before{content:"\e80d"}.mdi-image-filter-b-and-w:before{content:"\e80e"}.mdi-image-filter-center-focus:before{content:"\e80f"}.mdi-image-filter-drama:before{content:"\e810"}.mdi-image-filter-frames:before{content:"\e811"}.mdi-image-filter-hdr:before{content:"\e812"}.mdi-image-filter-none:before{content:"\e813"}.mdi-image-filter-tilt-shift:before{content:"\e814"}.mdi-image-filter-vintage:before{content:"\e815"}.mdi-image-flare:before{content:"\e816"}.mdi-image-flash-auto:before{content:"\e817"}.mdi-image-flash-off:before{content:"\e818"}.mdi-image-flash-on:before{content:"\e819"}.mdi-image-flip:before{content:"\e81a"}.mdi-image-gradient:before{content:"\e81b"}.mdi-image-grain:before{content:"\e81c"}.mdi-image-grid-off:before{content:"\e81d"}.mdi-image-grid-on:before{content:"\e81e"}.mdi-image-hdr-off:before{content:"\e81f"}.mdi-image-hdr-on:before{content:"\e820"}.mdi-image-hdr-strong:before{content:"\e821"}.mdi-image-hdr-weak:before{content:"\e822"}.mdi-image-healing:before{content:"\e823"}.mdi-image-image:before{content:"\e824"}.mdi-image-image-aspect-ratio:before{content:"\e825"}.mdi-image-iso:before{content:"\e826"}.mdi-image-landscape:before{content:"\e827"}.mdi-image-leak-add:before{content:"\e828"}.mdi-image-leak-remove:before{content:"\e829"}.mdi-image-lens:before{content:"\e82a"}.mdi-image-looks:before{content:"\e82b"}.mdi-image-looks-3:before{content:"\e82c"}.mdi-image-looks-4:before{content:"\e82d"}.mdi-image-looks-5:before{content:"\e82e"}.mdi-image-looks-6:before{content:"\e82f"}.mdi-image-looks-one:before{content:"\e830"}.mdi-image-looks-two:before{content:"\e831"}.mdi-image-loupe:before{content:"\e832"}.mdi-image-movie-creation:before{content:"\e833"}.mdi-image-nature:before{content:"\e834"}.mdi-image-nature-people:before{content:"\e835"}.mdi-image-navigate-:before{content:"\e836"}.mdi-image-navigate-next:before{content:"\e837"}.mdi-image-palette:before{content:"\e838"}.mdi-image-panorama:before{content:"\e839"}.mdi-image-panorama-fisheye:before{content:"\e83a"}.mdi-image-panorama-horizontal:before{content:"\e83b"}.mdi-image-panorama-vertical:before{content:"\e83c"}.mdi-image-panorama-wide-angle:before{content:"\e83d"}.mdi-image-photo:before{content:"\e83e"}.mdi-image-photo-album:before{content:"\e83f"}.mdi-image-photo-camera:before{content:"\e840"}.mdi-image-photo-library:before{content:"\e841"}.mdi-image-portrait:before{content:"\e842"}.mdi-image-remove-red-eye:before{content:"\e843"}.mdi-image-rotate-left:before{content:"\e844"}.mdi-image-rotate-right:before{content:"\e845"}.mdi-image-slideshow:before{content:"\e846"}.mdi-image-straighten:before{content:"\e847"}.mdi-image-style:before{content:"\e848"}.mdi-image-switch-camera:before{content:"\e849"}.mdi-image-switch-video:before{content:"\e84a"}.mdi-image-tag-faces:before{content:"\e84b"}.mdi-image-texture:before{content:"\e84c"}.mdi-image-timelapse:before{content:"\e84d"}.mdi-image-timer:before{content:"\e84e"}.mdi-image-timer-3:before{content:"\e84f"}.mdi-image-timer-10:before{content:"\e850"}.mdi-image-timer-auto:before{content:"\e851"}.mdi-image-timer-off:before{content:"\e852"}.mdi-image-tonality:before{content:"\e853"}.mdi-image-transform:before{content:"\e854"}.mdi-image-tune:before{content:"\e855"}.mdi-image-wb-auto:before{content:"\e856"}.mdi-image-wb-cloudy:before{content:"\e857"}.mdi-image-wb-incandescent:before{content:"\e858"}.mdi-image-wb-iridescent:before{content:"\e859"}.mdi-image-wb-sunny:before{content:"\e85a"}.mdi-maps-beenhere:before{content:"\e85b"}.mdi-maps-directions:before{content:"\e85c"}.mdi-maps-directions-bike:before{content:"\e85d"}.mdi-maps-directions-bus:before{content:"\e85e"}.mdi-maps-directions-car:before{content:"\e85f"}.mdi-maps-directions-ferry:before{content:"\e860"}.mdi-maps-directions-subway:before{content:"\e861"}.mdi-maps-directions-train:before{content:"\e862"}.mdi-maps-directions-transit:before{content:"\e863"}.mdi-maps-directions-walk:before{content:"\e864"}.mdi-maps-flight:before{content:"\e865"}.mdi-maps-hotel:before{content:"\e866"}.mdi-maps-layers:before{content:"\e867"}.mdi-maps-layers-clear:before{content:"\e868"}.mdi-maps-local-airport:before{content:"\e869"}.mdi-maps-local-atm:before{content:"\e86a"}.mdi-maps-local-attraction:before{content:"\e86b"}.mdi-maps-local-bar:before{content:"\e86c"}.mdi-maps-local-cafe:before{content:"\e86d"}.mdi-maps-local-car-wash:before{content:"\e86e"}.mdi-maps-local-convenience-store:before{content:"\e86f"}.mdi-maps-local-drink:before{content:"\e870"}.mdi-maps-local-florist:before{content:"\e871"}.mdi-maps-local-gas-station:before{content:"\e872"}.mdi-maps-local-grocery-store:before{content:"\e873"}.mdi-maps-local-hospital:before{content:"\e874"}.mdi-maps-local-hotel:before{content:"\e875"}.mdi-maps-local-laundry-service:before{content:"\e876"}.mdi-maps-local-library:before{content:"\e877"}.mdi-maps-local-mall:before{content:"\e878"}.mdi-maps-local-movies:before{content:"\e879"}.mdi-maps-local-offer:before{content:"\e87a"}.mdi-maps-local-parking:before{content:"\e87b"}.mdi-maps-local-pharmacy:before{content:"\e87c"}.mdi-maps-local-phone:before{content:"\e87d"}.mdi-maps-local-pizza:before{content:"\e87e"}.mdi-maps-local-play:before{content:"\e87f"}.mdi-maps-local-post-office:before{content:"\e880"}.mdi-maps-local-print-shop:before{content:"\e881"}.mdi-maps-local-restaurant:before{content:"\e882"}.mdi-maps-local-see:before{content:"\e883"}.mdi-maps-local-shipping:before{content:"\e884"}.mdi-maps-local-taxi:before{content:"\e885"}.mdi-maps-location-history:before{content:"\e886"}.mdi-maps-map:before{content:"\e887"}.mdi-maps-my-location:before{content:"\e888"}.mdi-maps-navigation:before{content:"\e889"}.mdi-maps-pin-drop:before{content:"\e88a"}.mdi-maps-place:before{content:"\e88b"}.mdi-maps-rate-review:before{content:"\e88c"}.mdi-maps-restaurant-menu:before{content:"\e88d"}.mdi-maps-satellite:before{content:"\e88e"}.mdi-maps-store-mall-directory:before{content:"\e88f"}.mdi-maps-terrain:before{content:"\e890"}.mdi-maps-traffic:before{content:"\e891"}.mdi-navigation-apps:before{content:"\e892"}.mdi-navigation-arrow-back:before{content:"\e893"}.mdi-navigation-arrow-drop-down:before{content:"\e894"}.mdi-navigation-arrow-drop-down-circle:before{content:"\e895"}.mdi-navigation-arrow-drop-up:before{content:"\e896"}.mdi-navigation-arrow-forward:before{content:"\e897"}.mdi-navigation-cancel:before{content:"\e898"}.mdi-navigation-check:before{content:"\e899"}.mdi-navigation-chevron-left:before{content:"\e89a"}.mdi-navigation-chevron-right:before{content:"\e89b"}.mdi-navigation-close:before{content:"\e89c"}.mdi-navigation-expand-less:before{content:"\e89d"}.mdi-navigation-expand-more:before{content:"\e89e"}.mdi-navigation-fullscreen:before{content:"\e89f"}.mdi-navigation-fullscreen-exit:before{content:"\e8a0"}.mdi-navigation-menu:before{content:"\e8a1"}.mdi-navigation-more-horiz:before{content:"\e8a2"}.mdi-navigation-more-vert:before{content:"\e8a3"}.mdi-navigation-refresh:before{content:"\e8a4"}.mdi-navigation-unfold-less:before{content:"\e8a5"}.mdi-navigation-unfold-more:before{content:"\e8a6"}.mdi-notification-adb:before{content:"\e8a7"}.mdi-notification-bluetooth-audio:before{content:"\e8a8"}.mdi-notification-disc-full:before{content:"\e8a9"}.mdi-notification-dnd-forwardslash:before{content:"\e8aa"}.mdi-notification-do-not-disturb:before{content:"\e8ab"}.mdi-notification-drive-eta:before{content:"\e8ac"}.mdi-notification-event-available:before{content:"\e8ad"}.mdi-notification-event-busy:before{content:"\e8ae"}.mdi-notification-event-note:before{content:"\e8af"}.mdi-notification-folder-special:before{content:"\e8b0"}.mdi-notification-mms:before{content:"\e8b1"}.mdi-notification-more:before{content:"\e8b2"}.mdi-notification-network-locked:before{content:"\e8b3"}.mdi-notification-phone-bluetooth-speaker:before{content:"\e8b4"}.mdi-notification-phone-forwarded:before{content:"\e8b5"}.mdi-notification-phone-in-talk:before{content:"\e8b6"}.mdi-notification-phone-locked:before{content:"\e8b7"}.mdi-notification-phone-missed:before{content:"\e8b8"}.mdi-notification-phone-paused:before{content:"\e8b9"}.mdi-notification-play-download:before{content:"\e8ba"}.mdi-notification-play-install:before{content:"\e8bb"}.mdi-notification-sd-card:before{content:"\e8bc"}.mdi-notification-sim-card-alert:before{content:"\e8bd"}.mdi-notification-sms:before{content:"\e8be"}.mdi-notification-sms-failed:before{content:"\e8bf"}.mdi-notification-sync:before{content:"\e8c0"}.mdi-notification-sync-disabled:before{content:"\e8c1"}.mdi-notification-sync-problem:before{content:"\e8c2"}.mdi-notification-system-update:before{content:"\e8c3"}.mdi-notification-tap-and-play:before{content:"\e8c4"}.mdi-notification-time-to-leave:before{content:"\e8c5"}.mdi-notification-vibration:before{content:"\e8c6"}.mdi-notification-voice-chat:before{content:"\e8c7"}.mdi-notification-vpn-lock:before{content:"\e8c8"}.mdi-social-cake:before{content:"\e8c9"}.mdi-social-domain:before{content:"\e8ca"}.mdi-social-group:before{content:"\e8cb"}.mdi-social-group-add:before{content:"\e8cc"}.mdi-social-location-city:before{content:"\e8cd"}.mdi-social-mood:before{content:"\e8ce"}.mdi-social-notifications:before{content:"\e8cf"}.mdi-social-notifications-none:before{content:"\e8d0"}.mdi-social-notifications-off:before{content:"\e8d1"}.mdi-social-notifications-on:before{content:"\e8d2"}.mdi-social-notifications-paused:before{content:"\e8d3"}.mdi-social-pages:before{content:"\e8d4"}.mdi-social-party-mode:before{content:"\e8d5"}.mdi-social-people:before{content:"\e8d6"}.mdi-social-people-outline:before{content:"\e8d7"}.mdi-social-person:before{content:"\e8d8"}.mdi-social-person-add:before{content:"\e8d9"}.mdi-social-person-outline:before{content:"\e8da"}.mdi-social-plus-one:before{content:"\e8db"}.mdi-social-poll:before{content:"\e8dc"}.mdi-social-public:before{content:"\e8dd"}.mdi-social-school:before{content:"\e8de"}.mdi-social-share:before{content:"\e8df"}.mdi-social-whatshot:before{content:"\e8e0"}.mdi-toggle-check-box:before{content:"\e8e1"}.mdi-toggle-check-box-outline-blank:before{content:"\e8e2"}.mdi-toggle-radio-button-off:before{content:"\e8e3"}.mdi-toggle-radio-button-on:before{content:"\e8e4"}[class^="mdi-"],[class*=" mdi-"],.mdi{display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.player .control{display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}@font-face{font-family:"icomoon";src:url("../fonts/icomoon/fonts/icomoon.eot");src:url("../fonts/icomoon/fonts/icomoon.eot?#iefix") format("embedded-opentype"),url("../fonts/icomoon/fonts/icomoon.woff") format("woff"),url("../fonts/icomoon/fonts/icomoon.ttf") format("truetype");font-weight:normal;font-style:normal}.icomoon-google:before{content:"\e900"}.icomoon-home:before{content:"\e607"}.icomoon-pencil:before{content:"\e608"}.icomoon-image:before{content:"\e609"}.icomoon-music2:before{content:"\e60a"}.icomoon-headphones:before{content:"\e60b"}.icomoon-play:before{content:"\e60c"}.icomoon-film:before{content:"\e60d"}.icomoon-camera:before{content:"\e60e"}.icomoon-pacman:before{content:"\e60f"}.icomoon-tag:before{content:"\e610"}.icomoon-tags:before{content:"\e611"}.icomoon-location:before{content:"\e612"}.icomoon-screen:before{content:"\e613"}.icomoon-mobile:before{content:"\e614"}.icomoon-tv:before{content:"\e615"}.icomoon-bubble:before{content:"\e616"}.icomoon-bubbles:before{content:"\e617"}.icomoon-user:before{content:"\e618"}.icomoon-spinner:before{content:"\e619"}.icomoon-search:before{content:"\e61a"}.icomoon-key:before{content:"\e61b"}.icomoon-settings:before{content:"\e61c"}.icomoon-cog:before{content:"\e61d"}.icomoon-stats:before{content:"\e61e"}.icomoon-switch:before{content:"\e61f"}.icomoon-tree:before{content:"\e620"}.icomoon-cloud:before{content:"\e621"}.icomoon-earth:before{content:"\e622"}.icomoon-link:before{content:"\e623"}.icomoon-attachment:before{content:"\e624"}.icomoon-star:before{content:"\e625"}.icomoon-star2:before{content:"\e626"}.icomoon-heart:before{content:"\e627"}.icomoon-heart2:before{content:"\e628"}.icomoon-smiley:before{content:"\e629"}.icomoon-smiley2:before{content:"\e62a"}.icomoon-info:before{content:"\e62b"}.icomoon-checkmark:before{content:"\e62c"}.icomoon-arrow-right:before{content:"\e62d"}.icomoon-arrow-left:before{content:"\e62e"}.icomoon-arrow-right2:before{content:"\e62f"}.icomoon-arrow-left2:before{content:"\e630"}.icomoon-share:before{content:"\e631"}.icomoon-googleplus:before{content:"\e632"}.icomoon-facebook:before{content:"\e633"}.icomoon-twitter:before{content:"\e634"}.icomoon-feed:before{content:"\e635"}.icomoon-feed2:before{content:"\e636"}.icomoon-youtube:before{content:"\e637"}.icomoon-picasa:before{content:"\e638"}.icomoon-github:before{content:"\e639"}.icomoon-github2:before{content:"\e63a"}.icomoon-github3:before{content:"\e63b"}.icomoon-tux:before{content:"\e63c"}.icomoon-apple:before{content:"\e63d"}.icomoon-android:before{content:"\e63e"}.icomoon-windows8:before{content:"\e63f"}.icomoon-paypal:before{content:"\e640"}.icomoon-file-zip:before{content:"\e641"}.icomoon-file-css:before{content:"\e642"}.icomoon-imdb:before{content:"\e901"}.icomoon-flatscreen:before{content:"\e600"}.icomoon-clapperboard:before{content:"\e601"}.icomoon-kodi-symbol:before{content:"\e602"}.icomoon-kodi-text:before{content:"\e603"}.icomoon-linux:before{content:"\e604"}.icomoon-music:before{content:"\e605"}.icomoon-pi:before{content:"\e606"}.icomoon-network:before{content:"\e643"}.icomoon-rss:before{content:"\e644"}.icomoon-statistics:before{content:"\e645"}.icomoon-pie:before{content:"\e646"}.icomoon-minus:before{content:"\e647"}.icomoon-plus:before{content:"\e648"}.icomoon-info2:before{content:"\e649"}.icomoon-question:before{content:"\e64a"}.icomoon-help:before{content:"\e64b"}.icomoon-warning:before{content:"\e64c"}.icomoon-list:before{content:"\e64d"}.icomoon-flow-tree:before{content:"\e64e"}.icomoon-arrow-left3:before{content:"\e64f"}.icomoon-arrow-right3:before{content:"\e650"}.icomoon-arrow-left4:before{content:"\e651"}.icomoon-arrow-right4:before{content:"\e652"}.icomoon-arrow-left5:before{content:"\e653"}.icomoon-uniE654:before{content:"\e654"}[class^="icomoon-"],[class*=" icomoon-"],.icomoon{display:inline-block;font-family:"icomoon";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}#logo{display:inline-block;font-family:"icomoon";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.table-hover>tbody>tr:hover,.songs-table tr.song.menu-open,.songs-table tr.song:hover{background-color:rgba(255,255,255,0.3)}.table-hover>tbody>tr:hover .crop,.songs-table tr.song.menu-open .crop,.songs-table tr.song:hover .crop{position:relative;white-space:nowrap;overflow:hidden}.table-hover>tbody>tr:hover .crop:after,.songs-table tr.song.menu-open .crop:after,.songs-table tr.song:hover .crop:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00E7E7E7', endColorstr='#FFE7E7E7');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U3ZTdlNyIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlN2U3ZTciLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(231,231,231,0)),color-stop(100%, #e7e7e7));background-image:-moz-linear-gradient(left, rgba(231,231,231,0) 0%,#e7e7e7 100%);background-image:-webkit-linear-gradient(left, rgba(231,231,231,0) 0%,#e7e7e7 100%);background-image:linear-gradient(to right, rgba(231,231,231,0) 0%,#e7e7e7 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.shadow-z-1,.card,.snackbar,.landing-page .region-content h3,.landing-page h3.set-header,.card,.snackbar{box-shadow:0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.05)}.shadow-z-2-hover,.btn:hover:not(.btn-link),.btn:hover:not(.btn-link){box-shadow:0 3px 6px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.13)}.table-striped>tbody>tr:nth-child(odd){background-color:rgba(255,255,255,0.5)}.table-striped>tbody>tr>td{border:0}.table>tbody>tr>td{border-top:none}.options-list{padding-bottom:0.5em}.options-list>li{border-bottom:1px solid #ddd}.options-list>li:last-child{border:0}.options-list>li>span,.options-list>li>a{display:block;padding:0.5em 1em;cursor:pointer}.options-list>li>span:hover,.options-list>li>a:hover{background:#12b2e7;color:#fff}.options-list>li>span:hover small,.options-list>li>a:hover small{display:inline}.options-list small{font-size:70%;opacity:0.7;display:none}@media (min-width: 57em){.modal.style-options .modal-dialog{width:300px}}.modal.style-options .modal-footer{display:none}.page-padding,.settings-form .form-content-region,.section-lab .page,.api-method--execute{padding:1em}@media (min-width: 57em){.page-padding,.settings-form .form-content-region,.section-lab .page,.api-method--execute{padding:2em;padding-left:3em}}
+.page,.page-secondary,.api-method--execute,.help--page .region-content-wrapper .region-content,.settings-form{max-width:58em;margin-left:0;background:#fff}.page-secondary,.api-method--execute{background:rgba(255,255,255,0.5)}.page-wrapper,.help--page .region-content-wrapper{padding:0;margin-bottom:4em}.page-wrapper .region-content,.help--page .region-content-wrapper .region-content{padding:0}.addon-list .region-first,.browser-page .region-first,.category-list .region-first,.filter-pane,.help--page .region-first,.landing-page .region-first,.local-playlist-list .region-first,.pvr-page .region-first,.epg-page .region-first,.search-page-layout .region-first,.settings-page .region-first{padding:1em 1.5em}.sidebar-section h3,.browser-page .region-first h3,.filters-container h3,.local-playlist-list .region-first h3,.modal .playlist-selection-list h3,.region-first .nav-sub h3{font-size:15px;text-transform:uppercase;margin:1em 0;color:#888;font-weight:bold}.sidebar-section,.browser-page .region-first .source-set,.filters-container .nav-list,.filters-container .selection-list,.filters-container .active-list,.region-first .nav-sub{margin-bottom:2em}.sidebar-section ul,.filters-container .nav-list,.filters-container .selection-list,.local-playlist-list .region-first .lists,.modal .playlist-selection-list .lists,.region-first .nav-sub .items{padding-left:1em}.sidebar-section ul li,.filters-container .nav-list li,.filters-container .selection-list li,.local-playlist-list .region-first .lists li,.modal .playlist-selection-list .lists li,.region-first .nav-sub .items li{padding-bottom:0.5em;position:relative;white-space:nowrap;overflow:hidden;cursor:pointer}.sidebar-section ul li:after,.filters-container .nav-list li:after,.filters-container .selection-list li:after,.local-playlist-list .region-first .lists li:after,.modal .playlist-selection-list .lists li:after,.region-first .nav-sub .items li:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00F2F2F2', endColorstr='#FFF2F2F2');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2YyZjJmMiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMmYyZjIiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(242,242,242,0)),color-stop(100%, #f2f2f2));background-image:-moz-linear-gradient(left, rgba(242,242,242,0) 0%,#f2f2f2 100%);background-image:-webkit-linear-gradient(left, rgba(242,242,242,0) 0%,#f2f2f2 100%);background-image:linear-gradient(to right, rgba(242,242,242,0) 0%,#f2f2f2 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.sidebar-section ul li:hover,.filters-container .nav-list li:hover,.filters-container .selection-list li:hover,.local-playlist-list .region-first .lists li:hover,.modal .playlist-selection-list .lists li:hover,.region-first .nav-sub .items li:hover{color:#12b2e7}.sidebar-section ul li a,.filters-container .nav-list li a,.filters-container .selection-list li a,.local-playlist-list .region-first .lists li a,.modal .playlist-selection-list .lists li a,.region-first .nav-sub .items li a{color:#2b2f30}.sidebar-section ul li a.active,.filters-container .nav-list li a.active,.filters-container .selection-list li a.active,.local-playlist-list .region-first .lists li a.active,.modal .playlist-selection-list .lists li a.active,.region-first .nav-sub .items li a.active{color:#12b2e7;font-weight:bold}.active-player-local .sidebar-section ul li a.active,.sidebar-section .active-player-local ul li a.active,.active-player-local .filters-container .nav-list li a.active,.filters-container .active-player-local .nav-list li a.active,.active-player-local .filters-container .selection-list li a.active,.filters-container .active-player-local .selection-list li a.active,.active-player-local .local-playlist-list .region-first .lists li a.active,.local-playlist-list .region-first .active-player-local .lists li a.active,.active-player-local .modal .playlist-selection-list .lists li a.active,.modal .playlist-selection-list .active-player-local .lists li a.active,.active-player-local .region-first .nav-sub .items li a.active,.region-first .nav-sub .active-player-local .items li a.active{color:#db2464}.browser-page .region-first .sources{padding-left:1em;padding-left:0.5em}.browser-page .region-first .sources li{padding-bottom:0.5em;position:relative;white-space:nowrap;overflow:hidden;cursor:pointer}.browser-page .region-first .sources li:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00F2F2F2', endColorstr='#FFF2F2F2');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2YyZjJmMiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMmYyZjIiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(242,242,242,0)),color-stop(100%, #f2f2f2));background-image:-moz-linear-gradient(left, rgba(242,242,242,0) 0%,#f2f2f2 100%);background-image:-webkit-linear-gradient(left, rgba(242,242,242,0) 0%,#f2f2f2 100%);background-image:linear-gradient(to right, rgba(242,242,242,0) 0%,#f2f2f2 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.browser-page .region-first .sources li:hover{color:#12b2e7}.browser-page .region-first .sources li a{color:#2b2f30}.browser-page .region-first .sources li a.active{color:#12b2e7;font-weight:bold}.active-player-local .browser-page .region-first .sources li a.active,.browser-page .region-first .active-player-local .sources li a.active{color:#db2464}.browser-page .region-first .sources li>div{display:inline-block;padding-left:0.5em}.browser-page .region-first .sources li:before{display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none;opacity:0.3;content:"";font-size:0.9em}@font-face{font-family:"opensans-light";src:url("../fonts/opensans/opensans-light-webfont.eot");src:url("../fonts/opensans/opensans-light-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-light-webfont.woff") format("woff"),url("../fonts/opensans/opensans-light-webfont.ttf") format("truetype");font-weight:"normal";font-style:normal}@font-face{font-family:"opensans";src:url("../fonts/opensans/opensans-regular-webfont.eot");src:url("../fonts/opensans/opensans-regular-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-regular-webfont.woff") format("woff"),url("../fonts/opensans/opensans-regular-webfont.ttf") format("truetype");font-weight:"normal";font-style:normal}html,body{font-family:"opensans",Helvetica,Arial,sans-serif}body{zoom:0.75}@media (min-width: 25em){body{zoom:0.85}}@media (min-width: 37em){body{zoom:0.95}}@media (min-width: 45em){body{zoom:1}}
+a{-webkit-transition:all 0.3s linear;-o-transition:all 0.3s linear;transition:all 0.3s linear}a:focus,a:hover{text-decoration:none;outline:none}h1,h2,h3,h4{font-family:"opensans-light",Helvetica,Arial,sans-serif}.inline-links{margin-top:1.5em}.inline-links>li{display:inline-block;margin-right:0.5em}.addon-list .nav-sub li{text-transform:capitalize}.addon-list .card .play{display:none !important}.addon-list .card .subtitle{text-transform:capitalize}.album--with-songs{position:relative;margin-bottom:20px}@media (min-width: 57em){.album--with-songs .region-album-side{position:absolute}}@media (min-width: 57em) and (min-width: 45em){.album--with-songs .region-album-side{width:190px}}@media (min-width: 57em) and (min-width: 75em){.album--with-songs .region-album-side{width:280px}}@media (min-width: 57em){.album--with-songs .region-album-content{max-width:1100px;padding:0 20px 0 0}}@media (min-width: 57em) and (min-width: 45em){.artist-show .album--with-songs .region-album-content{margin-left:190px}}@media (min-width: 57em) and (min-width: 75em){.artist-show .album--with-songs .region-album-content{margin-left:280px}}@media (min-width: 57em) and (min-width: 45em){.album--with-songs .region-album-content{min-height:190px}}@media (min-width: 57em) and (min-width: 75em){.album--with-songs .region-album-content{min-height:280px}}@media (min-width: 57em){.album--with-songs .card-minimal{padding:0 22px 0 0px}}
+.dropdown-menu{padding:0.5em 0;background:#1b1c1d;color:#999;border-radius:0}.dropdown-menu li{padding:0.25em 1em}.dropdown-menu li:hover{background:rgba(255,255,255,0.1);color:#fff;cursor:pointer}.dropdown-menu li:hover.divider{cursor:none;background:none}.dropdown-menu li.divider{padding:0;margin:0.25em 0}.dropdown-menu li.dropdown-submenu{position:relative;overflow:visible}.dropdown-menu li.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-4px;white-space:nowrap}.dropdown-menu li.dropdown-submenu:hover>.dropdown-menu{display:block}.browser-page .region-first .sources li.type-source:before{content:"\e73e"}.browser-page .region-first .sources li.type-addon:before{content:"\e6b1"}.browser-page .region-first .sources li.type-playlist:before{content:"\e610"}.browser-page .region-content{padding:0}.browser-page .actions{top:1px;right:10px;position:absolute}.browser-page .actions .sort-toggle,.browser-page .actions .context-toggle{display:table;width:30px;text-align:center;cursor:pointer;font-size:1.5em;opacity:0.6}.browser-page .actions .sort-toggle:before,.browser-page .actions .context-toggle:before{content:"\e71a";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.browser-page .actions .sort-toggle:before,.browser-page .actions .context-toggle:before{display:table-cell;vertical-align:middle;height:39px}.browser-page .actions .sort-toggle:hover,.browser-page .actions .context-toggle:hover{opacity:1}.browser-page .actions .context-toggle:before{content:"\e8a3"}.browser-page .actions>li{display:inline-block}.browser-page .actions .dropdown-menu{text-transform:capitalize}.browser-page .sort-wrapper li i:after{content:"\e89e";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.browser-page .sort-wrapper li.order-descending i:after{content:"\e89d";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.browser-page .sort-wrapper li.active{color:#fff}.folder-layout .loading-bar,.folder-layout .path{height:3em;padding-right:5em;background:rgba(0,0,0,0.05)}.loading .folder-layout .loading-bar,.loading .folder-layout .path{display:none}.folder-layout .loading-bar ul,.folder-layout .path ul{display:table}.folder-layout .loading-bar ul li,.folder-layout .path ul li{display:table-cell;vertical-align:middle;height:3em;padding:0 1em;cursor:pointer;border-right:1px dotted rgba(0,0,0,0.05);max-width:300px;overflow:hidden;white-space:nowrap}.folder-layout .loading-bar ul li:last-child,.folder-layout .path ul li:last-child{border:none;font-weight:bold}.folder-layout .loading-bar ul li:last-child:hover,.folder-layout .path ul li:last-child:hover{background:none}.folder-layout .loading-bar ul li:hover,.folder-layout .path ul li:hover{background:rgba(0,0,0,0.05)}.folder-layout .loading-bar{display:none}.loading .folder-layout .loading-bar{display:block}.folder-layout .loading-bar .inner{display:table}.folder-layout .loading-bar .inner span{display:table-cell;vertical-align:middle;height:3em;padding:0 1em}.folder-layout .loading-bar .loader-small-inline{margin:0.7em 0 0 0.7em}.folder-layout .folder-container .folders-pane,.folder-layout .folder-container .files{padding:1em}.folder-layout .folder-container .folders-pane{background:#f9f9f9}@media (min-width: 75em){.folder-layout .folder-container .folders-pane{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:41.6666666667%;float:left}.folder-layout .folder-container .files{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:58.3333333333%;float:right}}
+.folder-layout .folder,.folder-layout .file,.folder-layout .back-button,.browser-file-list .folder,.browser-file-list .file,.browser-file-list .back-button,.browser-folder-list .folder,.browser-folder-list .file,.browser-folder-list .back-button{height:42px;position:relative;border-bottom:1px solid #eee}.folder-layout .folder .thumb,.folder-layout .file .thumb,.folder-layout .back-button .thumb,.browser-file-list .folder .thumb,.browser-file-list .file .thumb,.browser-file-list .back-button .thumb,.browser-folder-list .folder .thumb,.browser-folder-list .file .thumb,.browser-folder-list .back-button .thumb{width:40px;height:40px;background-position:50% 50%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.folder-layout .folder .thumb,.folder-layout .file .thumb,.folder-layout .back-button .thumb,.browser-file-list .folder .thumb,.browser-file-list .file .thumb,.browser-file-list .back-button .thumb,.browser-folder-list .folder .thumb,.browser-folder-list .file .thumb,.browser-folder-list .back-button .thumb{top:1px;bottom:1px;left:0;position:absolute;z-index:20}.folder-layout .folder .thumb:hover .play,.folder-layout .file .thumb:hover .play,.folder-layout .back-button .thumb:hover .play,.browser-file-list .folder .thumb:hover .play,.browser-file-list .file .thumb:hover .play,.browser-file-list .back-button .thumb:hover .play,.browser-folder-list .folder .thumb:hover .play,.browser-folder-list .file .thumb:hover .play,.browser-folder-list .back-button .thumb:hover .play{display:table}.folder-layout .folder .title,.folder-layout .file .title,.folder-layout .back-button .title,.browser-file-list .folder .title,.browser-file-list .file .title,.browser-file-list .back-button .title,.browser-folder-list .folder .title,.browser-folder-list .file .title,.browser-folder-list .back-button .title{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:0 7px;padding-left:50px;cursor:pointer;line-height:40px}.folder-layout .folder .play,.folder-layout .file .play,.folder-layout .back-button .play,.browser-file-list .folder .play,.browser-file-list .file .play,.browser-file-list .back-button .play,.browser-folder-list .folder .play,.browser-folder-list .file .play,.browser-folder-list .back-button .play{background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;display:table;width:40px;text-align:center;cursor:pointer;display:none;color:#fff;font-size:150%}.folder-layout .folder .play:before,.folder-layout .file .play:before,.folder-layout .back-button .play:before,.browser-file-list .folder .play:before,.browser-file-list .file .play:before,.browser-file-list .back-button .play:before,.browser-folder-list .folder .play:before,.browser-folder-list .file .play:before,.browser-folder-list .back-button .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.folder-layout .folder .play:before,.folder-layout .file .play:before,.folder-layout .back-button .play:before,.browser-file-list .folder .play:before,.browser-file-list .file .play:before,.browser-file-list .back-button .play:before,.browser-folder-list .folder .play:before,.browser-folder-list .file .play:before,.browser-folder-list .back-button .play:before{display:table-cell;vertical-align:middle;height:40px}.folder-layout .folder .play:before,.folder-layout .file .play:before,.folder-layout .back-button .play:before,.browser-file-list .folder .play:before,.browser-file-list .file .play:before,.browser-file-list .back-button .play:before,.browser-folder-list .folder .play:before,.browser-folder-list .file .play:before,.browser-folder-list .back-button .play:before{padding-right:5px}.folder-layout .file .title,.browser-file-list .file .title,.browser-folder-list .file .title{position:relative;white-space:nowrap;overflow:hidden;margin-right:3em}.folder-layout .file .title:after,.browser-file-list .file .title:after,.browser-folder-list .file .title:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00E0DFDF', endColorstr='#FFE0DFDF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2UwZGZkZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMGRmZGYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(224,223,223,0)),color-stop(100%, #e0dfdf));background-image:-moz-linear-gradient(left, rgba(224,223,223,0) 0%,#e0dfdf 100%);background-image:-webkit-linear-gradient(left, rgba(224,223,223,0) 0%,#e0dfdf 100%);background-image:linear-gradient(to right, rgba(224,223,223,0) 0%,#e0dfdf 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.folder-layout .folder,.browser-file-list .folder,.browser-folder-list .folder{position:relative;white-space:nowrap;overflow:hidden}.folder-layout .folder:after,.browser-file-list .folder:after,.browser-folder-list .folder:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00F9F9F9', endColorstr='#FFF9F9F9');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y5ZjlmOSIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmOWY5ZjkiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(249,249,249,0)),color-stop(100%, #f9f9f9));background-image:-moz-linear-gradient(left, rgba(249,249,249,0) 0%,#f9f9f9 100%);background-image:-webkit-linear-gradient(left, rgba(249,249,249,0) 0%,#f9f9f9 100%);background-image:linear-gradient(to right, rgba(249,249,249,0) 0%,#f9f9f9 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.folder-layout .file .menu i,.folder-layout .folder .menu i,.browser-file-list .file .menu i,.browser-file-list .folder .menu i,.browser-folder-list .file .menu i,.browser-folder-list .folder .menu i{font-size:150%}.folder-layout .file .menu i:before,.folder-layout .folder .menu i:before,.browser-file-list .file .menu i:before,.browser-file-list .folder .menu i:before,.browser-folder-list .file .menu i:before,.browser-folder-list .folder .menu i:before{content:"\e8a2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.folder-layout .file .menu .dropdown-menu,.folder-layout .folder .menu .dropdown-menu,.browser-file-list .file .menu .dropdown-menu,.browser-file-list .folder .menu .dropdown-menu,.browser-folder-list .file .menu .dropdown-menu,.browser-folder-list .folder .menu .dropdown-menu{top:0}.folder-layout .file .actions,.folder-layout .folder .actions,.browser-file-list .file .actions,.browser-file-list .folder .actions,.browser-folder-list .file .actions,.browser-folder-list .folder .actions{top:0;right:0px;bottom:0;position:absolute;display:none;width:30px;display:block;z-index:50}.folder-layout .file .actions>li,.folder-layout .folder .actions>li,.browser-file-list .file .actions>li,.browser-file-list .folder .actions>li,.browser-folder-list .file .actions>li,.browser-folder-list .folder .actions>li{width:30px;text-align:center;float:left}.folder-layout .file .actions>li i:before,.folder-layout .file .actions>li:before,.folder-layout .folder .actions>li i:before,.folder-layout .folder .actions>li:before,.browser-file-list .file .actions>li i:before,.browser-file-list .file .actions>li:before,.browser-file-list .folder .actions>li i:before,.browser-file-list .folder .actions>li:before,.browser-folder-list .file .actions>li i:before,.browser-folder-list .file .actions>li:before,.browser-folder-list .folder .actions>li i:before,.browser-folder-list .folder .actions>li:before{display:table-cell;vertical-align:middle;width:30px;height:40px;color:#999;cursor:pointer}.folder-layout .file .actions>li>i,.folder-layout .folder .actions>li>i,.browser-file-list .file .actions>li>i,.browser-file-list .folder .actions>li>i,.browser-folder-list .file .actions>li>i,.browser-folder-list .folder .actions>li>i{opacity:0.4}.folder-layout .back-button i,.browser-file-list .back-button i,.browser-folder-list .back-button i{display:table;width:39px;text-align:center;cursor:pointer}.folder-layout .back-button i:before,.browser-file-list .back-button i:before,.browser-folder-list .back-button i:before{content:"\e89a";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.folder-layout .back-button i:before,.browser-file-list .back-button i:before,.browser-folder-list .back-button i:before{display:table-cell;vertical-align:middle;height:39px}.folder-layout .back-button i:before,.browser-file-list .back-button i:before,.browser-folder-list .back-button i:before{background:#DBDBDB;font-size:150%;color:#B5B5B5;width:40px}.card-detail{position:relative}.card-detail .entity-progress{display:none}.card-detail .meta{display:none}.card-detail .card-album,.card-detail .card-artist{width:158px}.card-detail .card-album .artwork,.card-detail .card-album .artwork .thumb,.card-detail .card-artist .artwork,.card-detail .card-artist .artwork .thumb{width:158px;height:158px}@media (min-width: 75em){.card-detail .card-album,.card-detail .card-artist{width:238px}.card-detail .card-album .artwork,.card-detail .card-album .artwork .thumb,.card-detail .card-artist .artwork,.card-detail .card-artist .artwork .thumb{width:238px;height:238px}}.card-detail .card-movie,.card-detail .card-tvshow,.card-detail .card-season{width:158px}.card-detail .card-movie .artwork,.card-detail .card-movie .artwork .thumb,.card-detail .card-tvshow .artwork,.card-detail .card-tvshow .artwork .thumb,.card-detail .card-season .artwork,.card-detail .card-season .artwork .thumb{width:158px;height:236px}@media (min-width: 75em){.card-detail .card-movie,.card-detail .card-tvshow,.card-detail .card-season{width:238px}.card-detail .card-movie .artwork,.card-detail .card-movie .artwork .thumb,.card-detail .card-tvshow .artwork,.card-detail .card-tvshow .artwork .thumb,.card-detail .card-season .artwork,.card-detail .card-season .artwork .thumb{width:238px;height:357px}}.card-detail .card-episode{width:158px}.card-detail .card-episode .artwork,.card-detail .card-episode .artwork .thumb{width:158px;height:99px}@media (min-width: 75em){.card-detail .card-episode{width:238px}.card-detail .card-episode .artwork,.card-detail .card-episode .artwork .thumb{width:238px;height:150px}}.card-detail .actions{top:10px;right:10px;position:absolute;z-index:50}.card-detail .thumbs{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:200%;color:rgba(255,255,255,0.8);display:none;text-shadow:1px 1px 5px rgba(0,0,0,0.3)}.card-detail .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-detail .thumbs:before{display:table-cell;vertical-align:middle;height:1.5em}.disable-thumbs .card-detail .thumbs{display:none !important}.card-detail.thumbs-up .thumbs{color:rgba(255,255,255,0.6);opacity:1;display:table}.card-detail:hover .thumbs{display:table}.card-detail:hover.thumbs-up .thumbs{color:#12b2e7}.card-minimal{color:#888;width:199px;height:auto;margin:5px;background:#fff;position:relative;overflow:hidden;width:47px;height:auto;width:100%;margin:2em 0 0.5em;padding:0;overflow:visible}.card-minimal a{color:#888}.card-minimal .title a{color:#2b2f30}.card-minimal .subtitle{font-size:85%;margin-top:5px}.card-minimal .dropdown i,.card-minimal .actions li,.card-minimal .play{color:rgba(255,255,255,0.8)}.card-minimal .dropdown i:hover,.card-minimal .actions li:hover,.card-minimal .play:hover{color:#fff}.card-minimal .record{color:rgba(255,255,255,0.8)}.card-minimal .record:hover{color:#bf0a07}.card-minimal.ph{opacity:0.1;-webkit-box-shadow:none;box-shadow:none}.card-minimal .artwork{background:transparent;overflow:hidden;letter-spacing:-0.31em;width:199px;height:199px;position:relative;background:#ccc 50% 50% no-repeat;background-size:cover}.card-minimal .artwork img{display:block;vertical-align:middle;width:199px;margin-top:0}.card-minimal .artwork .thumb{width:199px;height:199px;background-position:50% 0;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.card-minimal .artwork a{display:block}.card-minimal .artwork .thumb:after{content:"";top:0;right:0;left:0;position:absolute;height:auto;background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;opacity:0;-webkit-transition:0.1s all linear;-o-transition:0.1s all linear;transition:0.1s all linear}.card-minimal .entity-progress{right:0;bottom:0;left:0;position:absolute;top:auto;z-index:20}.card-minimal .entity-progress .current-progress{height:2px;background:#12b2e7}.card-minimal .watched-tick{color:#12b2e7;right:10px;bottom:3px;position:absolute;font-size:125%;display:none}.card-minimal .watched-tick:before{content:"\e899";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .watched{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-minimal .watched:before{content:"\e8e2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .watched:before{display:table-cell;vertical-align:middle;height:1.5em}.thumbs-page .card-minimal .watched{display:none}.card-minimal.is-watched .watched{color:#12b2e7}.card-minimal.is-watched .watched:before{content:"\e8e1";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .thumb{display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.card-minimal .meta{position:relative;padding:8px 10px;width:199px}.card-minimal .meta .title{position:relative;white-space:nowrap;overflow:hidden}.card-minimal .meta .title:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-minimal .meta .subtitle{position:relative;white-space:nowrap;overflow:hidden}.card-minimal .meta .subtitle:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card-minimal .play{display:table;width:1.5em;text-align:center;cursor:pointer;bottom:0;left:0;position:absolute;font-size:220%;display:none;z-index:20}.card-minimal .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .play:before{display:table-cell;vertical-align:middle;height:1.5em}.card-minimal .record{display:table;width:1.5em;text-align:center;cursor:pointer;right:10px;bottom:7px;position:absolute;font-size:150%;display:none;z-index:20}.card-minimal .record:before{content:"\e7da";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .record:before{display:table-cell;vertical-align:middle;height:1.5em}.card-minimal .dropdown{top:5px;right:0;position:absolute}.card-minimal .dropdown i{display:table;width:1.5em;text-align:center;cursor:pointer;z-index:20;font-size:180%;display:none}.card-minimal .dropdown i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .dropdown i:before{display:table-cell;vertical-align:middle;height:1.5em}.card-minimal .actions{top:10px;right:35px;position:absolute;display:table;display:none}.card-minimal .actions .thumbs{display:table;width:1.5em;text-align:center;cursor:pointer;font-size:135%}.card-minimal .actions .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.card-minimal .actions .thumbs:before{display:table-cell;vertical-align:middle;height:1.5em}.disable-thumbs .card-minimal .actions .thumbs{display:none}.card-minimal .actions li{float:left;margin-left:3px}.card-minimal .actions li:before{display:table-cell !important}.card-minimal:hover .artwork .thumb:after{opacity:1}.card-minimal:hover .actions,.card-minimal:hover .dropdown i,.card-minimal:hover .play{display:table}.card-minimal:hover .record{display:table}.card-minimal.selected{outline:2px solid #12b2e7;box-shadow:0 0 10px 1px rgba(18,178,231,0.5);position:relative}.active-player-local .card-minimal.selected{outline:2px solid #db2464;box-shadow:0 0 10px 1px rgba(219,36,100,0.5)}.active-player-local .card-minimal.selected:before{border-color:#db2464}.card-minimal.selected:before{right:-10px;bottom:-10px;position:absolute;transform:rotate(-45deg);content:'';width:0;height:0;border:10px solid transparent;border-top-color:#12b2e7}.card-minimal.selected .current-progress{display:none}.card-minimal .dropdown-menu{left:auto;right:0px;top:-7px}.card-minimal.thumbs-up .actions .thumbs{color:#12b2e7}.card-minimal .artwork,.card-minimal .artwork .thumb{width:47px;height:47px}@media (min-width: 75em){.card-minimal{width:70px}.card-minimal .artwork,.card-minimal .artwork .thumb{width:70px;height:70px}}.card-minimal .artwork{float:left}.card-minimal .dropdown i,.card-minimal ul.actions>li{color:#ddd}.card-minimal .dropdown i:hover,.card-minimal ul.actions>li:hover{color:#b0b0b0}.card-minimal .meta{padding:4px 0 4px 60px}.card-minimal .meta .title:after,.card-minimal .meta .subtitle:after{display:none}@media (min-width: 57em){.card-minimal{width:238px;margin:0;width:158px;background:none}.card-minimal .artwork,.card-minimal .artwork .thumb{width:158px;height:158px}}@media (min-width: 57em) and (min-width: 75em){.card-minimal{width:238px}.card-minimal .artwork,.card-minimal .artwork .thumb{width:238px;height:238px}}@media (min-width: 57em){.card-minimal .artwork{float:none}.card-minimal .meta{padding:0.5em 0}}
+.card.category{height:50px;width:185px}.card.category a{padding:1em 0.5em;display:block;position:relative;white-space:nowrap;overflow:hidden}.card.category a:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.card.category:hover{background:#e5e5e5}.card.category:hover a{position:relative;white-space:nowrap;overflow:hidden}.card.category:hover a:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00E5E5E5', endColorstr='#FFE5E5E5');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZTVlNSIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlNWU1ZTUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(229,229,229,0)),color-stop(100%, #e5e5e5));background-image:-moz-linear-gradient(left, rgba(229,229,229,0) 0%,#e5e5e5 100%);background-image:-webkit-linear-gradient(left, rgba(229,229,229,0) 0%,#e5e5e5 100%);background-image:linear-gradient(to right, rgba(229,229,229,0) 0%,#e5e5e5 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}@media (min-width: 45em){.edit-form .form-tabs,.edit-form.with-tabs .form-groups{height:420px;overflow-y:auto}}
+.edit-form .form-item{*zoom:1;margin-bottom:1em}.edit-form .form-item:after{content:"";display:table;clear:both}.edit-form label{color:#666}.edit-form .form-control{padding:7px;background:#fafafa;height:auto !important;border-bottom-color:#ddd}.edit-form .form-control:focus{border-bottom-color:#12b2e7;background:#f0fafe}.edit-form .form-control[type="date"]{padding-bottom:5px}.edit-form .form-groups{padding:1em}.edit-form.with-tabs .group-title{display:none}@media (min-width: 45em){.edit-form.with-tabs .form-tabs{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:28.5714285714%;float:left;-webkit-box-shadow:inset 1px 1px 8px 0 rgba(43,47,48,0.1);box-shadow:inset 1px 1px 8px 0 rgba(43,47,48,0.1);padding:1em 0 1em 0.5em;margin-bottom:0}.edit-form.with-tabs .form-tabs li{float:none}.edit-form.with-tabs .form-tabs li.active{-webkit-box-shadow:1px 1px 8px 0 rgba(43,47,48,0.1);box-shadow:1px 1px 8px 0 rgba(43,47,48,0.1)}.edit-form.with-tabs .form-groups{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:71.4285714286%;float:right;padding-bottom:0}}.edit-form textarea{min-height:115px}.edit-form .form-edit-file textarea{padding:0.5em;border:none}#modal-window.style-edit-form .modal-body{padding:0}#modal-window.style-edit-form form footer{margin-top:0}#modal-window.style-edit-form form footer .inline-list{padding:0 2em}#modal-window.style-edit-form .modal-title span{color:rgba(255,255,255,0.5)}#modal-window.style-edit-form .modal-title span:after{content:": "}@media (min-width: 45em){#modal-window.style-edit-form .modal-dialog{width:700px}}
+.form-imageselect__tabs{margin:-1em -1em 1em;background:#e5e5e5;padding-left:1em}.form-imageselect__panes .pane{display:none}.form-imageselect__panes .pane.active{display:block}.form-imageselect__thumbs li{float:left;margin:0 0.5em 0.5em 0;cursor:pointer;width:106px;overflow:hidden}.form-imageselect__thumbs li.selected{outline:2px solid #12b2e7;box-shadow:0 0 10px 1px rgba(18,178,231,0.5);position:relative}.active-player-local .form-imageselect__thumbs li.selected{outline:2px solid #db2464;box-shadow:0 0 10px 1px rgba(219,36,100,0.5)}.active-player-local .form-imageselect__thumbs li.selected:before{border-color:#db2464}.form-imageselect__thumbs li.selected:before{right:-10px;bottom:-10px;position:absolute;transform:rotate(-45deg);content:'';width:0;height:0;border:10px solid transparent;border-top-color:#12b2e7}.form-imageselect__thumbs li.selected .current-progress{display:none}.form-edit-fanart .form-imageselect__thumbs li{width:222px}.form-imageselect__thumbs img{height:160px;width:auto}.form-edit-fanart .form-imageselect__thumbs img{height:125px}.form-imageselect__loader{display:none;margin:1em 0;border-radius:3px;padding:0.5em;color:#999}.form-imageselect__loader .loader-small-inline{margin-right:0.5em;float:left}.form-imageselect__loader span{display:inline-block;line-height:20px;height:20px}.images-loading .form-imageselect__loader{display:block}.empty-result{text-align:center}.empty-result .empty-actions{margin-top:1em;font-size:120%}.youtube-list .thumb{width:120px;float:left;margin-right:1em}.youtube-list li{margin-bottom:0.5em}.youtube-list h3{font-size:18px;padding-top:0.25em;margin-bottom:1em}.youtube-list .flat-btn{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#bac1c8;padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;margin-right:0.5em;display:inline-block;padding:0.3em 1em}.youtube-list .flat-btn .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.youtube-list .flat-btn .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00BAC1C8', endColorstr='#FFBAC1C8');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2JhYzFjOCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNiYWMxYzgiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(186,193,200,0)),color-stop(100%, #bac1c8));background-image:-moz-linear-gradient(left, rgba(186,193,200,0) 0%,#bac1c8 100%);background-image:-webkit-linear-gradient(left, rgba(186,193,200,0) 0%,#bac1c8 100%);background-image:linear-gradient(to right, rgba(186,193,200,0) 0%,#bac1c8 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.youtube-list .flat-btn:hover{color:#fff}.with-filters .layout-container>.region-first{overflow:hidden}.filters-loading .with-filters .region-content-wrapper .region-content{opacity:0.3}.filters-container .nav-list a,.filters-container .nav-list .option,.filters-container .selection-list a,.filters-container .selection-list .option{color:#2b2f30;cursor:pointer}.filters-container .nav-list a.active,.filters-container .nav-list .option.active,.filters-container .selection-list a.active,.filters-container .selection-list .option.active{color:#12b2e7;font-weight:bold}.active-player-local .filters-container .nav-list a.active,.active-player-local .filters-container .nav-list .option.active,.active-player-local .filters-container .selection-list a.active,.active-player-local .filters-container .selection-list .option.active{color:#db2464}.filters-container .selection-list a,.filters-container .selection-list .option{text-transform:capitalize}.filters-container .sortable.active{position:relative}.filters-container .sortable.active.order-asc:after{content:"\e89e";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .sortable.active.order-desc:after{content:"\e89d";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .sortable.active:after{font-size:130%;padding-left:0.25em;position:absolute;margin-top:1px}.filters-container .filter-btn{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#12b2e7;padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em;display:block}.filters-container .filter-btn .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.filters-container .filter-btn .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#0012B2E7', endColorstr='#FF12B2E7');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzEyYjJlNyIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxMmIyZTciLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(18,178,231,0)),color-stop(100%, #12b2e7));background-image:-moz-linear-gradient(left, rgba(18,178,231,0) 0%,#12b2e7 100%);background-image:-webkit-linear-gradient(left, rgba(18,178,231,0) 0%,#12b2e7 100%);background-image:linear-gradient(to right, rgba(18,178,231,0) 0%,#12b2e7 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.filters-container .filter-btn:hover{color:#fff}.filters-container .filter-btn:before{content:"\e898";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .filter-btn:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.filters-container .filter-btn:hover:before{color:#fff}.filters-container .filter-btn.filterable-add{display:inline-block;background-color:#a8a7a6}.filters-container .filter-btn.filterable-add:hover{background-color:#12b2e7}.active-player-local .filters-container .filter-btn.filterable-add:hover{background-color:#db2464}.filters-container .filter-btn.filterable-add:before{content:"\e6fd";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .filters-page h3,.filters-container .filters-options h3{cursor:pointer;padding-left:1em;position:relative}.filters-container .filters-page h3:before,.filters-container .filters-options h3:before{content:"\e89a";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .filters-page h3:before,.filters-container .filters-options h3:before{font-size:140%;position:absolute;left:-12px;top:-3px}.filters-container .filters-page h3:hover:before,.filters-container .filters-options h3:hover:before{color:#12b2e7}.active-player-local .filters-container .filters-page h3:hover:before,.active-player-local .filters-container .filters-options h3:hover:before{color:#db2464}.filters-container .open-filters{position:relative}.filters-container .open-filters i{top:-3px;right:3px;position:absolute;cursor:pointer;font-size:150%;display:none}.filters-container .open-filters i:before{content:"\e6fb";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-container .open-filters:hover i{color:#2b2f30}.filters-container .deselect-all{margin:0 0 0.5em 1em;cursor:pointer}.filters-active-bar{-webkit-box-shadow:0 3px 6px -4px rgba(0,0,0,0.15);box-shadow:0 3px 6px -4px rgba(0,0,0,0.15);position:fixed;margin-left:0;left:0;top:50px;right:0;background:#fff;padding:0.75em;text-align:center;z-index:20;display:none}@media (min-width: 57em){.filters-active-bar{margin-left:50px}}@media (min-width: 57em){.filters-active-bar{left:190px}}@media (min-width: 75em){.filters-active-bar{left:250px}}.shell-playlist-closed .filters-active-bar{right:0}@media (min-width: 57em){.filters-active-bar{right:310px}.shell-playlist-closed .filters-active-bar{right:50px}}@media (min-width: 75em){.filters-active-bar{right:400px}.shell-playlist-closed .filters-active-bar{right:50px}}.shell-playlist-closed .filters-active-bar{right:0}@media (min-width: 57em){.shell-playlist-closed .filters-active-bar{right:50px}}@media (min-width: 75em){.shell-playlist-closed .filters-active-bar{right:50px}}.filters-active-bar .remove{top:0;right:0;bottom:0;position:absolute;display:table;width:2em;text-align:center;cursor:pointer;font-size:150%;opacity:0.5}.filters-active-bar .remove:before{content:"\e702";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.filters-active-bar .remove:before{display:table-cell;vertical-align:middle;height:2em}.filters-active-bar .remove:hover{opacity:1}.filters-active-bar .filters-active-all{display:block;margin:0 2em;position:relative;white-space:nowrap;overflow:hidden;text-transform:capitalize}.filters-active-bar .filters-active-all:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.layout-container.filters-active .filters-active-bar{display:block}.layout-container.filters-active .region-content{padding-top:3.5em}.layout-container.filters-active .filters-container .open-filters i{display:block}.is-loading{opacity:0.5}.filter-pane{top:0;right:0;bottom:0;left:0;position:absolute;-webkit-transition:0.2s all ease-out;-o-transition:0.2s all ease-out;transition:0.2s all ease-out;overflow-y:auto}.filter-pane.filters-current{-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);-webkit-transform:translate(0, 0);transform:translate(0, 0)}.show-filters .filter-pane.filters-current{-moz-transform:translate(-240px, 0);-ms-transform:translate(-240px, 0);-webkit-transform:translate(-240px, 0);transform:translate(-240px, 0)}.show-options .filter-pane.filters-current{-moz-transform:translate(-480px, 0);-ms-transform:translate(-480px, 0);-webkit-transform:translate(-480px, 0);transform:translate(-480px, 0)}.filter-pane.filters-page{-moz-transform:translate(240px, 0);-ms-transform:translate(240px, 0);-webkit-transform:translate(240px, 0);transform:translate(240px, 0)}.show-filters .filter-pane.filters-page{-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);-webkit-transform:translate(0, 0);transform:translate(0, 0)}.show-options .filter-pane.filters-page{-moz-transform:translate(-240px, 0);-ms-transform:translate(-240px, 0);-webkit-transform:translate(-240px, 0);transform:translate(-240px, 0)}.filter-pane.filters-options{-moz-transform:translate(480px, 0);-ms-transform:translate(480px, 0);-webkit-transform:translate(480px, 0);transform:translate(480px, 0)}.show-filters .filter-pane.filters-options{-moz-transform:translate(240px, 0);-ms-transform:translate(240px, 0);-webkit-transform:translate(240px, 0);transform:translate(240px, 0)}.show-options .filter-pane.filters-options{-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);-webkit-transform:translate(0, 0);transform:translate(0, 0)}form .form-control-wrapper .form-control:focus,form .form-control-wrapper .form-control{padding:0.5em 0.25em;height:auto;margin-bottom:0.5em}.help-block{margin-top:8px;font-size:90%;color:#C0C0C0}.form-type-hidden{display:none}form .inline-list li{display:inline-block;margin-right:2em;float:left}form .inline-list .response{padding-top:18px}.form-type-hide{display:none}.form-item-half-width{width:50%;float:left;padding-right:0.5em}.active-player-kodi #header{background:#1e2122}.active-player-kodi #logo{color:#12b2e7;background:#1e2122}.active-player-local #header{background:#313233}.active-player-local #logo{color:#db2464;background:#313233}#header{color:rgba(255,255,255,0.6);position:fixed;top:0;left:0;right:0;height:50px;z-index:51;right:0}.shell-playlist-closed #header{right:0}@media (min-width: 57em){#header{right:310px}.shell-playlist-closed #header{right:50px}}@media (min-width: 75em){#header{right:400px}.shell-playlist-closed #header{right:50px}}.shell-playlist-closed #header{right:0}@media (min-width: 57em){.shell-playlist-closed #header{right:50px}}@media (min-width: 75em){.shell-playlist-closed #header{right:50px}}#header .search-toggle{position:absolute}#header .search-toggle i{display:table;width:50px;text-align:center;cursor:pointer}#header .search-toggle i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}#header .search-toggle i:before{display:table-cell;vertical-align:middle;height:50px}#selected-region{display:none;position:absolute;top:0;height:50px;right:100%}@media (min-width: 57em){#selected-region{right:200px}}#selected-region .menu-toggle{font-size:150%;display:table;width:50px;text-align:center;cursor:pointer;float:right}#selected-region .menu-toggle:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}#selected-region .menu-toggle:before{display:table-cell;vertical-align:middle;height:50px}#selected-region .dropdown-menu{margin:0}#selected-region .selected-text{display:inline-block;height:50px;line-height:50px}#selected-region.media-video .selected-watched,#selected-region.media-video .selected-unwatched{display:block}#selected-region.media-video .selected-localadd{display:none}#selected-region.media-audio .selected-watched,#selected-region.media-audio .selected-unwatched{display:none}#selected-region.media-audio .selected-localadd{display:block}#page-title{margin:0;line-height:50px;font-size:1.3em}#page-title .context a,#page-title .title{padding:0 0 0 0.5em}#search-region{top:50px;right:0;left:0;position:absolute;display:none}body.section-search #search-region{display:block}@media (min-width: 57em){#search-region{top:0;left:auto}}
.mobile-menu{top:0;right:0;position:absolute}.mobile-menu li{display:inline-block;margin:0;width:50px;height:50px}.mobile-menu i{display:table;width:50px;text-align:center;cursor:pointer;color:rgba(255,255,255,0.6);font-size:120%}.mobile-menu i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.mobile-menu i:before{display:table-cell;vertical-align:middle;height:50px}@media (min-width: 57em){.mobile-menu{display:none}}
.mobile-menu--link__remote i:before{content:"\e66f"}.section-remote .mobile-menu--link__remote i:before{color:#fff}.mobile-menu--link__search i:before{content:"\e65f"}.section-search .mobile-menu--link__search i:before{color:#fff}.mobile-menu--link__playlist i:before{content:"\e783"}.section-playlist .mobile-menu--link__playlist i:before{color:#fff}.help--page .region-content-wrapper .region-content{padding:1em}@media (min-width: 57em){.help--page .region-content-wrapper .region-content{padding:2em;padding-left:3em}}.help--page .help--overview--report ul{margin:0;padding:0}.help--page .help--overview--report ul li{margin:0;padding:0;list-style:none}.help--page .help--overview--report ul li:nth-child(even){background:#f5f5f5}.help--page .help--overview--report ul li.warning{background:#ffeacc}.help--page .help--overview--report ul strong,.help--page .help--overview--report ul span{padding:0.5em;display:block;width:50%;float:left}@media (min-width: 57em){.help--page .help--overview--report ul span{width:70%}.help--page .help--overview--report ul strong{width:30%}}
-.landing-page .landing-section{padding-bottom:10px}.landing-page .region-content{padding:0}.landing-page .region-content h3{background:#fff;padding:1em 1em;margin:0;font-size:18px}.active-player-kodi .details-header{background:#323537}.active-player-kodi .details-header .gradient{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzMyMzUzNyIvPjxzdG9wIG9mZnNldD0iMzAlIiBzdG9wLWNvbG9yPSIjMzIzNTM3IiBzdG9wLW9wYWNpdHk9IjAuOSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzMyMzUzNyIgc3RvcC1vcGFjaXR5PSIwLjAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #323537),color-stop(30%, rgba(50,53,55,0.9)),color-stop(100%, rgba(50,53,55,0)));background-image:-moz-linear-gradient(left, #323537 0%,rgba(50,53,55,0.9) 30%,rgba(50,53,55,0) 100%);background-image:-webkit-linear-gradient(left, #323537 0%,rgba(50,53,55,0.9) 30%,rgba(50,53,55,0) 100%);background-image:linear-gradient(to right, #323537 0%,rgba(50,53,55,0.9) 30%,rgba(50,53,55,0) 100%)}.active-player-local .details-header{background:#222425}.active-player-local .details-header .gradient{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzIyMjQyNSIvPjxzdG9wIG9mZnNldD0iMzAlIiBzdG9wLWNvbG9yPSIjMjIyNDI1IiBzdG9wLW9wYWNpdHk9IjAuOSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzIyMjQyNSIgc3RvcC1vcGFjaXR5PSIwLjAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #222425),color-stop(30%, rgba(34,36,37,0.9)),color-stop(100%, rgba(34,36,37,0)));background-image:-moz-linear-gradient(left, #222425 0%,rgba(34,36,37,0.9) 30%,rgba(34,36,37,0) 100%);background-image:-webkit-linear-gradient(left, #222425 0%,rgba(34,36,37,0.9) 30%,rgba(34,36,37,0) 100%);background-image:linear-gradient(to right, #222425 0%,rgba(34,36,37,0.9) 30%,rgba(34,36,37,0) 100%)}.details-header{*zoom:1;position:relative;min-height:283px;padding-bottom:2em}.details-header:after{content:"";display:table;clear:both}.details-header a{color:rgba(255,255,255,0.6)}.details-header a:hover{color:rgba(255,255,255,0.9)}.details-header .region-details-side{padding:0.5em 0 0.5em 0.5em;display:none}@media (min-width: 45em){.details-header .region-details-side{width:190px}}@media (min-width: 75em){.details-header .region-details-side{width:280px}}@media (min-width: 45em){.details-header .region-details-side{display:block;padding:1.5em;position:absolute}}.details-header .region-details-meta-wrapper{padding:0.5em 2em;color:rgba(255,255,255,0.9);position:relative;z-index:20}@media (min-width: 45em){.details-header .region-details-meta-wrapper{margin-left:190px}}@media (min-width: 75em){.details-header .region-details-meta-wrapper{margin-left:280px}}@media (min-width: 45em){.details-header .region-details-meta-wrapper{padding:0.5em 1em 0 0.5em}}@media (min-width: 75em){.details-header .region-details-meta-wrapper{padding-top:1em}}@media (min-width: 90em){.details-header .region-details-meta-wrapper{margin-right:300px;color:rgba(255,255,255,0.9)}.shell-playlist-closed .details-header .region-details-meta-wrapper{margin-right:500px}}.details-header .region-details-title{color:rgba(255,255,255,0.95);margin-bottom:0.5em}.details-header .region-details-title .sub{font-weight:normal;font-size:14px;color:rgba(255,255,255,0.4)}.details-header .region-details-rating{width:73px;font-size:170%;color:rgba(255,255,255,0.7);white-space:nowrap;margin-top:0.8em;padding-right:2em;position:relative;text-align:right}.details-header .region-details-rating i{font-size:150%;top:-5px;right:0;position:absolute}.details-header .region-details-rating i:before{content:"\e631";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.details-header .region-details-subtext{color:rgba(255,255,255,0.6);*zoom:1}.details-header .region-details-subtext:after{content:"";display:table;clear:both}.details-header .region-details-fanart{background-size:cover;background-position:50% 50%;width:100%;top:0;right:0;bottom:0;left:0;position:absolute;z-index:10;opacity:0.3}@media (min-width: 57em){.details-header .region-details-fanart{width:600px;margin-left:50px}}@media (min-width: 75em){.details-header .region-details-fanart{left:auto}}.details-header .region-details-fanart .gradient{content:"";top:0;bottom:0;left:0;position:absolute;width:60%}@media (min-width: 90em){.details-header .region-details-fanart{opacity:0.8}}.details-header .region-details-meta-below{height:146px;overflow:hidden}.details-header .description{margin-top:0.5em}.details-header .meta{margin:1em 0}.details-header .meta span{color:rgba(255,255,255,0.6)}.details-header .meta label{text-transform:capitalize}.details-header .runtime{font-size:120%;margin-bottom:0.5em;float:left}.details-header .genres{float:right}.details-header .streams span{color:rgba(255,255,255,0.6);text-transform:uppercase}.details-header .card-detail .artwork{position:relative;z-index:20}.details-header .card-detail .play{top:0;right:0;bottom:0;left:0;position:absolute;background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;z-index:20;cursor:pointer;opacity:0}.details-header .card-detail .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.details-header .card-detail .play:before{font-size:400%;color:rgba(255,255,255,0.8);top:0;right:0;bottom:0;left:0;position:absolute;margin:auto;width:55px;height:55px}.details-header .card-detail:hover .play{opacity:1}.details-header label{font-weight:normal}.details-header .dropdown>span{cursor:pointer}.tvshow-show .details-header,.season-details .details-header,.movie-show .details-header{min-height:315px}@media (min-width: 75em){.tvshow-show .details-header,.season-details .details-header,.movie-show .details-header{min-height:405px}}.section-movie .details-header .region-details-meta-below,.section-tvshow .details-header .region-details-meta-below{height:auto;overflow:initial}@media (min-width: 45em){.section-movie .details-header .region-details-title,.section-tvshow .details-header .region-details-title{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:75%;float:left}.section-movie .details-header .region-details-rating,.section-tvshow .details-header .region-details-rating{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:25%;float:right}}
-.layout-container.with-sidebar-first>.region-first{background:#f2f2f2;position:fixed;bottom:70px;top:50px;left:0;width:0;width:250px;left:-100%;-webkit-box-shadow:1px 0 3px 0 rgba(134,134,134,0.3);box-shadow:1px 0 3px 0 rgba(134,134,134,0.3);-webkit-transition:all 0.3s linear;-o-transition:all 0.3s linear;transition:all 0.3s linear;overflow-y:auto;z-index:25}@media (min-width: 57em){.layout-container.with-sidebar-first>.region-first{bottom:70px}}@media (min-width: 57em){.layout-container.with-sidebar-first>.region-first{left:50px}}@media (min-width: 57em){.layout-container.with-sidebar-first>.region-first{width:250px}}@media (min-width: 57em){.layout-container.with-sidebar-first>.region-first{display:block;-webkit-box-shadow:1px 0 3px 0 rgba(134,134,134,0.05);box-shadow:1px 0 3px 0 rgba(134,134,134,0.05);left:50px}}.region-first-open .layout-container.with-sidebar-first>.region-first{left:0}@media (min-width: 57em){.region-first-open .layout-container.with-sidebar-first>.region-first{left:50px}}.layout-container.with-sidebar-first>.region-content-wrapper{margin-left:0;margin-left:0}@media (min-width: 57em){.layout-container.with-sidebar-first>.region-content-wrapper{margin-left:250px}}.layout-container.with-header>.region-content-wrapper{position:relative}.layout-container.with-header>.region-content-wrapper>.region-content,.layout-container.with-header>.region-content{background:#f5f5f5;padding-top:2em;min-height:500px}.region-first-toggle{top:0;left:50px;position:fixed;display:table;width:50px;text-align:center;cursor:pointer;color:rgba(255,255,255,0.6);z-index:100;font-size:150%;opacity:0.5}.region-first-toggle:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.region-first-toggle:before{display:table-cell;vertical-align:middle;height:50px}@media (min-width: 57em){.region-first-toggle{display:none}}.region-first-open .region-first-toggle{color:#fff}.region-first-open .region-first-toggle:before{content:"\e89a"}.content-container.with-sidebar .content-container-first{float:left;padding-right:2em;display:none}@media (min-width: 45em){.content-container.with-sidebar .content-container-first{width:190px}}@media (min-width: 75em){.content-container.with-sidebar .content-container-first{width:280px}}@media (min-width: 45em){.content-container.with-sidebar .content-container-content-wrapper{margin-left:190px}}@media (min-width: 75em){.content-container.with-sidebar .content-container-content-wrapper{margin-left:280px}}
-.section-content{border-bottom:1px solid #ddd;max-width:1100px;margin-bottom:2em;padding-bottom:2em}.section-content h2{margin-bottom:1em}.content-sections>.section-content:last-child{border:none}#loading-page{top:0;right:0;bottom:150px;left:0;position:fixed;left:0;right:0}@media (min-width: 57em){#loading-page{left:50px}}.shell-playlist-closed #loading-page{right:0}@media (min-width: 57em){#loading-page{right:310px}.shell-playlist-closed #loading-page{right:50px}}@media (min-width: 75em){#loading-page{right:400px}.shell-playlist-closed #loading-page{right:50px}}#loading-page.init{left:0 !important;right:0 !important}.shell-playlist-closed #loading-page{right:0}@media (min-width: 57em){.shell-playlist-closed #loading-page{right:50px}}@media (min-width: 75em){.shell-playlist-closed #loading-page{right:50px}}#loading-page h2{text-align:center;margin-top:18rem;font-size:1.5em;color:#a8a7a6}@media (min-width: 57em){#loading-page h2{margin-top:33rem}}
-.loader{position:absolute;margin:5rem auto 3rem auto;overflow:hidden}.loader>div{position:absolute;top:0;left:0;height:100%;width:100%}.orbit{height:20rem;width:20rem;top:0;left:0;bottom:0;right:0;margin:auto;overflow:visible;background-color:#ddd;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.orbit>div{top:2.5rem;left:2.5rem;font-size:1rem;height:15rem;width:15rem;-webkit-transform-origin:center center;-moz-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}.orbit>div::before{position:absolute;left:calc(50% - .5em);display:block;content:'';height:1em;width:1em;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-moz-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1)}.orbit>div:nth-child(1)::before{background-color:#a8a7a6}.orbit>div:nth-child(2)::before{background-color:#a8a7a6}.orbit>div:nth-child(3)::before{background-color:#a8a7a6}.orbit>div:nth-child(4)::before{background-color:#a8a7a6}@-moz-keyframes loading-orbit{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-orbit{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-orbit{0%{-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes loading-orbit-before{0%{height:1em;width:1em;-moz-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:5}5%{height:1.25em;width:1.25em}25%{height:2em;width:2em;z-index:10;background-color:#12b2e7}50%{-moz-transform:translate3d(1rem, 15rem, 0);transform:translate3d(1rem, 15rem, 0);z-index:0;height:1em;width:1em}100%{-moz-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:0;height:1em;width:1em}}@-webkit-keyframes loading-orbit-before{0%{height:1em;width:1em;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:5}5%{height:1.25em;width:1.25em}25%{height:2em;width:2em;z-index:10;background-color:#12b2e7}50%{-webkit-transform:translate3d(1rem, 15rem, 0);transform:translate3d(1rem, 15rem, 0);z-index:0;height:1em;width:1em}100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:0;height:1em;width:1em}}@keyframes loading-orbit-before{0%{height:1em;width:1em;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:5}5%{height:1.25em;width:1.25em}25%{height:2em;width:2em;z-index:10;background-color:#12b2e7}50%{-moz-transform:translate3d(1rem, 15rem, 0);-ms-transform:translate3d(1rem, 15rem, 0);-webkit-transform:translate3d(1rem, 15rem, 0);transform:translate3d(1rem, 15rem, 0);z-index:0;height:1em;width:1em}100%{-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:0;height:1em;width:1em}}.loader.orbit>div{-webkit-animation:loading-orbit 6s infinite linear;-o-animation:loading-orbit 6s infinite linear;animation:loading-orbit 6s infinite linear}.loader.orbit>div::before{-webkit-animation:loading-orbit-before 2s infinite ease-in-out;-o-animation:loading-orbit-before 2s infinite ease-in-out;animation:loading-orbit-before 2s infinite ease-in-out}.loader.orbit>div:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}.loader.orbit>div:nth-child(2){-webkit-animation-delay:-0.75s;animation-delay:-0.75s}.loader.orbit>div:nth-child(3){-webkit-animation-delay:-1.5s;animation-delay:-1.5s}.loader.orbit>div:nth-child(4){-webkit-animation-delay:-2.25s;animation-delay:-2.25s}.loader.orbit>div:nth-child(1)::before{-webkit-animation-delay:0s;animation-delay:0s}.loader.orbit>div:nth-child(2)::before{-webkit-animation-delay:-0.5s;animation-delay:-0.5s}.loader.orbit>div:nth-child(3)::before{-webkit-animation-delay:-1s;animation-delay:-1s}.loader.orbit>div:nth-child(4)::before{-webkit-animation-delay:-1.5s;animation-delay:-1.5s}.spinner-double-section-far,.spinner-double-section{top:20em;right:0;bottom:0;left:0;position:absolute;margin:auto;width:80px;height:80px;border-radius:50%;border:4px solid rgba(170,170,170,0.2);-webkit-animation:spinner 3s linear infinite;-o-animation:spinner 3s linear infinite;animation:spinner 3s linear infinite}@-moz-keyframes spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@-webkit-keyframes spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.spinner-double-section-far,.spinner-double-section{position:relative}.spinner-double-section-far:before,.spinner-double-section-far:after,.spinner-double-section:before,.spinner-double-section:after{content:'';position:absolute;top:-20px;left:-20px;display:block;width:80px;height:80px;border-radius:50%;border:4px solid transparent;border-top-color:#12b2e7}.spinner-double-section-far:after,.spinner-double-section:after{border-top-color:transparent;border-bottom-color:#12b2e7}.spinner-double-section-far{top:11em}.spinner-double-section-far:before,.spinner-double-section-far:after{top:-12px;left:-12px;width:96px;height:96px}@media (min-width: 57em){.spinner-double-section-far{top:20em}}
-.local-playlist-list .region-first .new-list{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#a8a7a6;padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em;margin:2em 0}.local-playlist-list .region-first .new-list .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.local-playlist-list .region-first .new-list .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00A8A7A6', endColorstr='#FFA8A7A6');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2E4YTdhNiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNhOGE3YTYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(168,167,166,0)),color-stop(100%, #a8a7a6));background-image:-moz-linear-gradient(left, rgba(168,167,166,0) 0%,#a8a7a6 100%);background-image:-webkit-linear-gradient(left, rgba(168,167,166,0) 0%,#a8a7a6 100%);background-image:linear-gradient(to right, rgba(168,167,166,0) 0%,#a8a7a6 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.local-playlist-list .region-first .new-list:hover{color:#fff}.local-playlist-list .region-first .new-list:before{content:"\e6fd";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.local-playlist-list .region-first .new-list:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.local-playlist-list .region-first .new-list:hover:before{color:#fff}.local-playlist-list .region-content{padding:0}.modal .playlist-selection-list .lists li:after{display:none}.local-playlist .local-playlist-header{position:relative;background:#fff;padding:1em}.local-playlist .local-playlist-header h2{margin:0;font-size:18px;color:#888}.local-playlist .local-playlist-header .dropdown{position:absolute;right:1em;top:0.5em}.local-playlist .local-playlist-header .dropdown i{color:#888;display:table;width:1.5em;text-align:center;cursor:pointer;font-size:150%}.local-playlist .local-playlist-header .dropdown i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.local-playlist .local-playlist-header .dropdown i:before{display:table-cell;vertical-align:middle;height:1.5em}.local-playlist .local-playlist-header .dropdown ul{left:auto;right:0}.local-playlist .item-container{margin:1em}.local-playlist .empty-content{color:#888;text-align:center;font-size:150%;margin:2em}#nav-bar{background:rgba(255,255,255,0.9);width:50px;padding:0;top:0;left:0;position:fixed;margin:0;padding:0;-webkit-transition:all 0.3s linear;-o-transition:all 0.3s linear;transition:all 0.3s linear;z-index:50;-webkit-box-shadow:1px 0 3px 0 rgba(134,134,134,0.05);box-shadow:1px 0 3px 0 rgba(134,134,134,0.05);display:none}#nav-bar #nav-header{height:50px;background:#1e2122 url('../images/logo.png?1423030648') 0 0 no-repeat}.section-home #nav-bar{display:block}@media (min-width: 57em){#nav-bar{display:block}}#nav-bar nav{padding:1em 0}#nav-bar nav ul{margin:0;padding:0}#nav-bar nav ul li{margin:0;padding:0;list-style:none}#nav-bar nav ul a{display:block;padding:0.5em 0;color:#2b2f30;top:0;bottom:0;left:0;position:absolute;white-space:nowrap;-webkit-transition:none;-o-transition:none;transition:none}#nav-bar nav ul a span{display:none;padding-right:1em;font-weight:bold;padding-top:2px}#nav-bar nav ul a i{font-size:130%;width:50px;text-align:center}#nav-bar nav ul a i:before{top:10px;left:16px;position:absolute}#nav-bar nav ul ul{display:none}#nav-bar nav ul li{position:relative;height:38px}#nav-bar nav ul li:hover{white-space:nowrap}#nav-bar nav ul li:hover a{background:#12b2e7;color:#fff}#nav-bar nav ul li:hover a span{display:inline-block}.active-player-local #nav-bar nav ul li:hover a{background:#db2464}#player-wrapper{right:0;bottom:0;left:0;position:fixed;height:70px;background:#18191a;z-index:501}@media (min-width: 57em){#player-wrapper{height:70px}}
-#player-local{display:none}.active-player-local #player-local{display:block}#player-kodi{display:block}.active-player-local #player-kodi{display:none}#player-kodi .playing-thumb:hover .remote-toggle{display:table}.player .controls-primary,.player .controls-secondary{background:rgba(255,255,255,0.05);height:70px}@media (min-width: 57em){.player .controls-primary,.player .controls-secondary{height:70px}}.player .controls-primary .control,.player .controls-secondary .control{cursor:pointer;height:70px;display:table;font-size:40px;color:rgba(255,255,255,0.5)}@media (min-width: 57em){.player .controls-primary .control,.player .controls-secondary .control{height:70px}}.player .controls-primary .control:hover,.player .controls-secondary .control:hover{color:#fff}.player .control{text-align:center}.player .control:before{display:table-cell;vertical-align:middle}.player .controls-primary{display:none;width:100%}@media (min-width: 57em){.player .controls-primary{width:300px}}.player .controls-primary .control{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:33.33%;float:left}@media (min-width: 57em){.player .controls-primary{float:left;display:block}}.player .controls-secondary{display:none;width:100%}@media (min-width: 57em){.player .controls-secondary{width:300px}}.player .controls-secondary .control{margin-top:-9px;font-size:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:25%;float:left}@media (min-width: 57em){.player .controls-secondary{float:right;display:block}}.player .now-playing{height:70px;position:relative;font-size:12px;font-weight:bold;color:#bac1c8}@media (min-width: 57em){.player .now-playing{height:70px}}.player .now-playing a{color:#bac1c8}@media (min-width: 57em){.player .now-playing{margin-right:300px;margin-left:300px}}.player .thumb{width:70px;height:70px;background-position:50% 50%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.player .playing-thumb{top:0;bottom:0;left:0;position:absolute;width:70px;height:70px;z-index:10;overflow:hidden;background-color:rgba(255,255,255,0.2);background-size:cover;background-position:50% 50%}@media (min-width: 57em){.player .playing-thumb{width:70px}}@media (min-width: 57em){.player .playing-thumb{height:70px}}.player .remote-toggle{background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;display:table;width:100px;text-align:center;cursor:pointer;display:none;color:#fff;font-size:200%;text-align:center;height:70px;width:70px;font-size:300%;opacity:0.8}.player .remote-toggle:before{content:"\e66f";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.player .remote-toggle:before{display:table-cell;vertical-align:middle;height:100px}.player .remote-toggle:before{padding-right:5px}@media (min-width: 57em){.player .remote-toggle{height:70px}}@media (min-width: 57em){.player .remote-toggle{width:70px}}.player .remote-toggle:before{display:table-cell;vertical-align:middle;height:70px;width:70px;padding:0}@media (min-width: 57em){.player .remote-toggle:before{height:70px}}@media (min-width: 57em){.player .remote-toggle:before{width:70px}}.player .playing-info{margin-left:70px}@media (min-width: 57em){.player .playing-info{margin-left:70px}}.player .playing-time{right:0;bottom:0;position:absolute;top:20px;margin:7px 10px 0 0;text-align:right}.player .playing-meta{margin:7px 0 0 10px}.player .playing-title a,.player .playing-time-current{color:#fff;font-size:14px}.player .slider-bar{height:20px;background:rgba(255,255,255,0.1);border-top:4px solid rgba(255,255,255,0);margin:0;cursor:pointer}.player .slider-bar .noUi-base,.player .slider-bar .noUi-handle,.player .slider-bar .noUi-origin{height:20px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;top:0;border:none}.player .slider-bar .noUi-origin{background:#1f1f20;top:-4px}.player .slider-bar .noUi-handle{background:none;width:7px;left:-5px}.player .slider-bar:hover .noUi-handle{background:#6B6B6B}.player .volume{background:#36393a}.control-prev:before{content:"\e6a8"}.control-play:before{content:"\e6b9";font-size:150%}.control-next:before{content:"\e6a7"}.control-mute:before{content:"\e6d2"}.control-repeat:before{content:"\e6c2"}.control-shuffle:before{content:"\e6c5"}.control-menu:before{content:"\e8a3"}.player-menu-wrapper{right:0;position:fixed;width:100%;bottom:70px;z-index:50}@media (min-width: 57em){.player-menu-wrapper{width:300px}}@media (min-width: 57em){.player-menu-wrapper{bottom:70px}}.player-menu-wrapper ul{background:#fff;-webkit-box-shadow:-1px -1px 8px rgba(0,0,0,0.1);box-shadow:-1px -1px 8px rgba(0,0,0,0.1);height:0;-webkit-transition:height 0.5s ease-in;-o-transition:height 0.5s ease-in;transition:height 0.5s ease-in}.player-menu-wrapper ul li{padding:7px 13px;cursor:pointer}.player-menu-wrapper ul li:hover{background:rgba(0,0,0,0.1)}.player-menu-wrapper.opened ul{height:auto}#player-kodi{background:#18191a}.kodi-playing #player-kodi .control-play:before{content:"\e6b6"}.kodi-playing #player-kodi .playing-progress{border-top-color:#12b2e7}.kodi-paused #player-kodi .control-play:before{content:"\e6b9"}.kodi-mute-on #player-kodi .control-mute:hover{color:#12b2e7}.kodi-mute-on #player-kodi .control-mute:before{content:"\e6d0"}.kodi-repeat-one #player-kodi .control-repeat{color:#fff}.kodi-repeat-one #player-kodi .control-repeat:before{content:"\e6c3"}.kodi-repeat-one #player-kodi .control-repeat:hover{color:#12b2e7}.kodi-repeat-all #player-kodi .control-repeat{color:#fff}.kodi-repeat-all #player-kodi .control-repeat:hover{color:#12b2e7}.kodi-shuffled-on #player-kodi .control-shuffle{color:#fff}.kodi-shuffled-on #player-kodi .control-shuffle:hover{color:#12b2e7}#player-kodi .slider-bar{background:#2a2b2c}#player-kodi .slider-bar .noUi-origin{background:#151617}#player-local{background:#313233}.local-playing #player-local .control-play:before{content:"\e6b6"}.local-playing #player-local .playing-progress{border-top-color:#db2464}.local-paused #player-local .control-play:before{content:"\e6b9"}.local-mute-on #player-local .control-mute:hover{color:#db2464}.local-mute-on #player-local .control-mute:before{content:"\e6d0"}.local-repeat-one #player-local .control-repeat{color:#fff}.local-repeat-one #player-local .control-repeat:before{content:"\e6c3"}.local-repeat-one #player-local .control-repeat:hover{color:#db2464}.local-repeat-all #player-local .control-repeat{color:#fff}.local-repeat-all #player-local .control-repeat:hover{color:#db2464}.local-shuffled-on #player-local .control-shuffle{color:#fff}.local-shuffled-on #player-local .control-shuffle:hover{color:#db2464}#player-local .slider-bar{background:#414243}#player-local .slider-bar .noUi-origin{background:#2c2d2d}.playlist-items li{border-bottom:1px solid rgba(255,255,255,0.1);height:34px;position:relative;color:#999}.playlist-items li a{color:#999}.playlist-items li.sortable-ghost,.playlist-items li.row-playing,.playlist-items li.row-paused,.playlist-items li:hover{height:51px;background-color:#0b0c0c}.playlist-items li.sortable-ghost .thumb,.playlist-items li.row-playing .thumb,.playlist-items li.row-paused .thumb,.playlist-items li:hover .thumb{width:50px;height:50px;background-position:50% 50%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.playlist-items li.sortable-ghost .subtitle,.playlist-items li.sortable-ghost .thumb,.playlist-items li.row-playing .subtitle,.playlist-items li.row-playing .thumb,.playlist-items li.row-paused .subtitle,.playlist-items li.row-paused .thumb,.playlist-items li:hover .subtitle,.playlist-items li:hover .thumb{display:block}.playlist-items li.sortable-ghost .title a,.playlist-items li.row-playing .title a,.playlist-items li.row-paused .title a,.playlist-items li:hover .title a{color:rgba(255,255,255,0.95)}.playlist-items li.row-playing,.playlist-items li.row-paused{height:80px;background-image:url('../images/row-playing-white.gif?1423213071');background-repeat:no-repeat;background-position:2px 1px}.playlist-items li.row-playing .remove,.playlist-items li.row-paused .remove{display:none !important}.playlist-items li.row-playing .thumb,.playlist-items li.row-paused .thumb{width:80px;height:80px;background-position:50% 50%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.playlist-items li.row-playing .thumb,.playlist-items li.row-paused .thumb{top:0;right:0;bottom:0;position:absolute;margin:0}.playlist-items li.row-playing .thumb .play,.playlist-items li.row-paused .thumb .play{display:none !important}.playlist-items li.row-playing .meta,.playlist-items li.row-paused .meta{margin-right:90px;margin-left:27px}.playlist-items li.row-playing .meta .title,.playlist-items li.row-paused .meta .title{margin-top:5px;font-size:110%}.playlist-items li.row-paused{background-image:url('../images/row-pause-white.png?1423213243')}.playlist-items li.sortable-ghost{height:50px;background:rgba(255,255,255,0.3);opacity:0.5}.playlist-items .thumb{background:transparent;overflow:hidden;letter-spacing:-0.31em;width:50px;height:50px;float:left;margin-right:10px;display:none;position:relative}.playlist-items .thumb img{display:block;vertical-align:middle;width:50px;margin-top:50%}.playlist-items .thumb .thumb{width:50px;height:50px;background-position:50% 50%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.playlist-items .thumb:hover .play{display:table}.playlist-items .play{background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;display:table;width:50px;text-align:center;cursor:pointer;display:none;color:#fff;font-size:200%}.playlist-items .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.playlist-items .play:before{display:table-cell;vertical-align:middle;height:50px}.playlist-items .play:before{padding-right:5px}.playlist-items .meta{margin:0 30px 0 0px;padding:9px 10px 5px 15px}.playlist-items .title,.playlist-items .subtitle{display:block;overflow:hidden;white-space:nowrap}.playlist-items .title,.playlist-items .title a{color:#bdc1c2}.playlist-items .subtitle{display:none;font-size:95%;margin-top:2px}.playlist-items .remove{top:0;right:0;bottom:0;position:absolute;display:table;width:34px;text-align:center;cursor:pointer;display:none}.playlist-items .remove:before{content:"\e89c";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.playlist-items .remove:before{display:table-cell;vertical-align:middle;height:50px}.playlist-items .remove:hover{font-size:120%;color:darkred}.playlist-items li:hover .remove{display:table}.playlists-wrapper{padding:1em;font-size:85%;overflow-y:auto;right:0;bottom:0;left:0;position:absolute;top:50px;z-index:500}.media-toggle{*zoom:1;background:rgba(255,255,255,0.1);margin-bottom:0.5em}.media-toggle:after{content:"";display:table;clear:both}.media-toggle li{float:left;padding:5px 15px;color:#999;cursor:pointer}.playlist-bar.media-audio .media-toggle li.audio{color:#fff;background:rgba(255,255,255,0.1)}.playlist-bar.media-video .media-toggle li.video{color:#fff;background:rgba(255,255,255,0.1)}.playlist-header{background:#313233;height:50px}.playlist-header .player-toggle{display:table}.playlist-header .player-toggle li{height:50px;display:table-cell;vertical-align:middle;padding:0 2em 0 2em;color:rgba(255,255,255,0.8);cursor:pointer}.playlist-header .player-toggle li:before{margin-right:0.5em;font-size:90%}.playlist-header .player-toggle li.kodi:before{content:"\e602";display:inline-block;font-family:"icomoon";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.playlist-header .player-toggle li.local:before{content:"\e7b0";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.active-player-kodi .playlist-header .player-toggle li.kodi{color:#12b2e7;background:#1b1c1d}.active-player-local .playlist-header .player-toggle li.local{color:#db2464;background:#1b1c1d}.playlist-header .playlist-menu{top:0;right:0;position:absolute}.playlist-header .playlist-menu .menu-toggle{display:table;width:50px;text-align:center;cursor:pointer;color:rgba(255,255,255,0.5);font-size:150%}.playlist-header .playlist-menu .menu-toggle:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.playlist-header .playlist-menu .menu-toggle:before{display:table-cell;vertical-align:middle;height:50px}.playlist-header .playlist-menu .menu-toggle:hover{color:#fff}@media (min-width: 57em){.playlist-header .playlist-menu{right:50px}}.playlist-header .playlist-menu .dropdown-menu{background:#fff;padding:0;top:50px;margin-top:-5px}.playlist-header .playlist-menu .dropdown-menu li{padding:0;font-size:12px}.playlist-header .playlist-menu .dropdown-menu li.dropdown-header{background:rgba(0,0,0,0.1);color:rgba(0,0,0,0.6)}.playlist-header .playlist-menu .dropdown-menu li.dropdown-header,.playlist-header .playlist-menu .dropdown-menu li a{padding:0.6em 1em}.playlist-header .playlist-menu .dropdown-menu li a{color:rgba(0,0,0,0.5)}.playlist-header .playlist-menu .dropdown-menu li .party-mode i{display:none}.kodi-partymode-on .playlist-header .playlist-menu .dropdown-menu li .party-mode i{display:inline-block}.active-player-kodi .kodi-playlists{display:block}.active-player-kodi .local-playlists{display:none}.active-player-local .kodi-playlists{display:none}.active-player-local .local-playlists{display:block}.playlist-page__empty{text-align:right;margin-right:1em}.playlist-page__empty h3{margin-bottom:1em}.epg-page .programmes{background-color:#f9f9f9}.epg-page .programme{border-bottom:2px solid #eee;padding:5px}.epg-page .aired{background-color:rgba(130,130,130,0.5)}.epg-page .programme-progress{background-color:#ddd}.epg-page .programme-progress .current-progress{height:4px;background:#12b2e7}.epg-page .hastimer{color:#12b2e7;font-size:110%;margin-left:3px;display:inline}.epg-page .hastimer:before{content:"\e65e";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}#remote{display:none;position:fixed;top:0;right:0;left:0;bottom:70px;top:50px;right:0;background-color:#18191a;z-index:500;background-size:cover}.section-remote #remote{display:block}@media (min-width: 57em){#remote{bottom:70px}}.shell-playlist-closed #remote{right:0}@media (min-width: 57em){#remote{right:310px}.shell-playlist-closed #remote{right:50px}}@media (min-width: 75em){#remote{right:400px}.shell-playlist-closed #remote{right:50px}}
+.landing-page .landing-section{padding-bottom:10px}.landing-page .region-content{padding:0}.landing-page .region-content h3 a,.landing-page h3.set-header a{font-size:75%;line-height:1.4;float:right;color:#999}.landing-page .region-content h3 a:hover,.landing-page h3.set-header a:hover{color:#12b2e7}.landing-page .landing-sections{position:relative;z-index:10}.landing-loading .landing-page .landing-content{min-height:3000px}#landing-hero{display:none;background-color:#323537;background-attachment:fixed;background-repeat:no-repeat;background-size:cover;background-position:50% 50%;height:600px;position:relative;z-index:1}@media (min-width: 57em){#landing-hero{display:block}}
+.active-player-kodi .details-header{background:#323537}.active-player-kodi .details-header .gradient{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzMyMzUzNyIvPjxzdG9wIG9mZnNldD0iMzAlIiBzdG9wLWNvbG9yPSIjMzIzNTM3IiBzdG9wLW9wYWNpdHk9IjAuOSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzMyMzUzNyIgc3RvcC1vcGFjaXR5PSIwLjAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #323537),color-stop(30%, rgba(50,53,55,0.9)),color-stop(100%, rgba(50,53,55,0)));background-image:-moz-linear-gradient(left, #323537 0%,rgba(50,53,55,0.9) 30%,rgba(50,53,55,0) 100%);background-image:-webkit-linear-gradient(left, #323537 0%,rgba(50,53,55,0.9) 30%,rgba(50,53,55,0) 100%);background-image:linear-gradient(to right, #323537 0%,rgba(50,53,55,0.9) 30%,rgba(50,53,55,0) 100%)}.active-player-local .details-header{background:#222425}.active-player-local .details-header .gradient{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzIyMjQyNSIvPjxzdG9wIG9mZnNldD0iMzAlIiBzdG9wLWNvbG9yPSIjMjIyNDI1IiBzdG9wLW9wYWNpdHk9IjAuOSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzIyMjQyNSIgc3RvcC1vcGFjaXR5PSIwLjAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #222425),color-stop(30%, rgba(34,36,37,0.9)),color-stop(100%, rgba(34,36,37,0)));background-image:-moz-linear-gradient(left, #222425 0%,rgba(34,36,37,0.9) 30%,rgba(34,36,37,0) 100%);background-image:-webkit-linear-gradient(left, #222425 0%,rgba(34,36,37,0.9) 30%,rgba(34,36,37,0) 100%);background-image:linear-gradient(to right, #222425 0%,rgba(34,36,37,0.9) 30%,rgba(34,36,37,0) 100%)}.details-header{*zoom:1;position:relative;min-height:283px;padding-bottom:2em}.details-header:after{content:"";display:table;clear:both}.details-header a{color:rgba(255,255,255,0.6)}.details-header a:hover{color:rgba(255,255,255,0.9)}.details-header .region-details-side{padding:0.5em 0 0.5em 0.5em;display:none}@media (min-width: 45em){.details-header .region-details-side{width:190px}}@media (min-width: 75em){.details-header .region-details-side{width:280px}}@media (min-width: 45em){.details-header .region-details-side{display:block;padding:1.5em;position:absolute}}.details-header .region-details-meta-wrapper{padding:0.5em 2em;color:rgba(255,255,255,0.9);position:relative;z-index:20}@media (min-width: 45em){.details-header .region-details-meta-wrapper{margin-left:190px}}@media (min-width: 75em){.details-header .region-details-meta-wrapper{margin-left:280px}}@media (min-width: 45em){.details-header .region-details-meta-wrapper{padding:0.5em 1em 0 0.5em}}@media (min-width: 75em){.details-header .region-details-meta-wrapper{padding-top:1em}}@media (min-width: 90em){.details-header .region-details-meta-wrapper{margin-right:300px;color:rgba(255,255,255,0.9)}.shell-playlist-closed .details-header .region-details-meta-wrapper{margin-right:500px}}.details-header .region-details-title{color:rgba(255,255,255,0.95);margin-bottom:0.5em}.details-header .region-details-title .sub{font-weight:normal;font-size:14px;color:rgba(255,255,255,0.4)}@media (min-width: 45em){.details-header .region-details-title{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:75%;float:left}}.details-header .region-details-rating{width:73px;font-size:170%;color:rgba(255,255,255,0.7);white-space:nowrap;margin-top:0.8em;padding-right:2em;position:relative;text-align:right}.details-header .region-details-rating i{font-size:150%;top:-5px;right:0;position:absolute}.details-header .region-details-rating i:before{content:"\e631";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}@media (min-width: 45em){.details-header .region-details-rating{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:25%;float:right}}.details-header .region-details-subtext{color:rgba(255,255,255,0.6);*zoom:1}.details-header .region-details-subtext:after{content:"";display:table;clear:both}.details-header .region-details-fanart{background-size:cover;background-position:50% 50%;width:100%;top:0;right:0;bottom:0;left:0;position:absolute;z-index:10;opacity:0.3}@media (min-width: 57em){.details-header .region-details-fanart{width:600px;margin-left:50px}}@media (min-width: 75em){.details-header .region-details-fanart{left:auto}}.details-header .region-details-fanart .gradient{content:"";top:0;bottom:0;left:0;position:absolute;width:60%}@media (min-width: 90em){.details-header .region-details-fanart{opacity:0.8}}.details-header .tagline,.details-header .description{margin-bottom:0.5em;max-height:22px;overflow:hidden;cursor:pointer;color:rgba(255,255,255,0.6)}.details-header .tagline.expanded,.details-header .description.expanded{max-height:none}@media (min-width: 75em){.details-header .tagline,.details-header .description{padding-right:10%}}.details-header .tagline{max-height:none;cursor:default;color:rgba(255,255,255,0.8)}.details-header .meta{margin:1em 0}.details-header .meta span{color:rgba(255,255,255,0.6)}.details-header .meta label{text-transform:capitalize}.details-header .runtime{font-size:120%;margin-bottom:0.6em;float:left}.details-header .genres{float:right}.details-header .streams span{color:rgba(255,255,255,0.6);text-transform:uppercase}.details-header .card-detail .artwork{position:relative;z-index:20}.details-header .card-detail .play{top:0;right:0;bottom:0;left:0;position:absolute;background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;z-index:20;cursor:pointer;opacity:0}.details-header .card-detail .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.details-header .card-detail .play:before{font-size:400%;color:rgba(255,255,255,0.8);top:0;right:0;bottom:0;left:0;position:absolute;margin:auto;width:55px;height:55px}.details-header .card-detail:hover .play{opacity:1}.details-header label{font-weight:normal}.details-header .dropdown>span{cursor:pointer}.tvshow-show .details-header,.season-details .details-header,.movie-show .details-header{min-height:315px}@media (min-width: 75em){.tvshow-show .details-header,.season-details .details-header,.movie-show .details-header{min-height:405px}}.section-movie .details-header .region-details-meta-below,.section-tvshow .details-header .region-details-meta-below{height:auto;overflow:initial}.layout-container.with-sidebar-first>.region-first{background:#f2f2f2;position:fixed;bottom:70px;top:50px;left:0;width:0;width:250px;left:-100%;-webkit-box-shadow:1px 0 3px 0 rgba(134,134,134,0.3);box-shadow:1px 0 3px 0 rgba(134,134,134,0.3);-webkit-transition:all 0.3s linear;-o-transition:all 0.3s linear;transition:all 0.3s linear;overflow-y:auto;z-index:25}@media (min-width: 57em){.layout-container.with-sidebar-first>.region-first{bottom:70px}}@media (min-width: 57em){.layout-container.with-sidebar-first>.region-first{left:50px}}@media (min-width: 57em){.layout-container.with-sidebar-first>.region-first{width:190px}}@media (min-width: 75em){.layout-container.with-sidebar-first>.region-first{width:250px}}@media (min-width: 57em){.layout-container.with-sidebar-first>.region-first{display:block;-webkit-box-shadow:1px 0 3px 0 rgba(134,134,134,0.05);box-shadow:1px 0 3px 0 rgba(134,134,134,0.05);left:50px}}.region-first-open .layout-container.with-sidebar-first>.region-first{left:0}@media (min-width: 57em){.region-first-open .layout-container.with-sidebar-first>.region-first{left:50px}}.layout-container.with-sidebar-first>.region-content-wrapper{margin-left:0;margin-left:0}@media (min-width: 57em){.layout-container.with-sidebar-first>.region-content-wrapper{margin-left:190px}}@media (min-width: 75em){.layout-container.with-sidebar-first>.region-content-wrapper{margin-left:250px}}.layout-container.with-header>.region-content-wrapper{position:relative}.layout-container.with-header>.region-content-wrapper>.region-content,.layout-container.with-header>.region-content{background:#f5f5f5;padding-top:2em;min-height:500px}.region-first-toggle{top:0;left:50px;position:fixed;display:table;width:50px;text-align:center;cursor:pointer;color:rgba(255,255,255,0.6);z-index:100;font-size:150%;opacity:0.5}.region-first-toggle:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.region-first-toggle:before{display:table-cell;vertical-align:middle;height:50px}@media (min-width: 57em){.region-first-toggle{display:none}}.region-first-open .region-first-toggle{color:#fff}.region-first-open .region-first-toggle:before{content:"\e89a"}.content-container.with-sidebar .content-container-first{float:left;padding-right:2em;display:none}@media (min-width: 45em){.content-container.with-sidebar .content-container-first{width:190px}}@media (min-width: 75em){.content-container.with-sidebar .content-container-first{width:280px}}@media (min-width: 45em){.content-container.with-sidebar .content-container-content-wrapper{margin-left:190px}}@media (min-width: 75em){.content-container.with-sidebar .content-container-content-wrapper{margin-left:280px}}
+.section-content{border-bottom:1px solid #ddd;max-width:1100px;margin-bottom:2em;padding-bottom:2em}.section-content h2{margin-bottom:1em}.section-content.section-full-width{max-width:none}.content-sections>.section-content:last-child{border:none}#loading-page{top:0;right:0;bottom:150px;left:0;position:fixed;left:0;right:0}@media (min-width: 57em){#loading-page{left:50px}}.shell-playlist-closed #loading-page{right:0}@media (min-width: 57em){#loading-page{right:310px}.shell-playlist-closed #loading-page{right:50px}}@media (min-width: 75em){#loading-page{right:400px}.shell-playlist-closed #loading-page{right:50px}}#loading-page.init{left:0 !important;right:0 !important}.shell-playlist-closed #loading-page{right:0}@media (min-width: 57em){.shell-playlist-closed #loading-page{right:50px}}@media (min-width: 75em){.shell-playlist-closed #loading-page{right:50px}}#loading-page h2{text-align:center;margin-top:18rem;font-size:1.5em;color:#a8a7a6}@media (min-width: 57em){#loading-page h2{margin-top:33rem}}.loader-inline #loading-page{position:relative;bottom:0;left:0 !important;right:0 !important}.loader-inline #loading-page h2{margin-top:10rem}@media (min-width: 57em){.loader-inline #loading-page h2{margin-top:12rem}}
+.loader{position:absolute;margin:5rem auto 3rem auto;overflow:hidden}.loader>div{position:absolute;top:0;left:0;height:100%;width:100%}.orbit{height:20rem;width:20rem;top:0;left:0;bottom:0;right:0;margin:auto;overflow:visible;background-color:#ddd;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.orbit>div{top:2.5rem;left:2.5rem;font-size:1rem;height:15rem;width:15rem;-webkit-transform-origin:center center;-moz-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}.orbit>div::before{position:absolute;left:calc(50% - .5em);display:block;content:'';height:1em;width:1em;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-moz-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1)}.orbit>div:nth-child(1)::before{background-color:#a8a7a6}.orbit>div:nth-child(2)::before{background-color:#a8a7a6}.orbit>div:nth-child(3)::before{background-color:#a8a7a6}.orbit>div:nth-child(4)::before{background-color:#a8a7a6}@-moz-keyframes loading-orbit{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-orbit{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-orbit{0%{-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes loading-orbit-before{0%{height:1em;width:1em;-moz-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:5}5%{height:1.25em;width:1.25em}25%{height:2em;width:2em;z-index:10;background-color:#12b2e7}50%{-moz-transform:translate3d(1rem, 15rem, 0);transform:translate3d(1rem, 15rem, 0);z-index:0;height:1em;width:1em}100%{-moz-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:0;height:1em;width:1em}}@-webkit-keyframes loading-orbit-before{0%{height:1em;width:1em;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:5}5%{height:1.25em;width:1.25em}25%{height:2em;width:2em;z-index:10;background-color:#12b2e7}50%{-webkit-transform:translate3d(1rem, 15rem, 0);transform:translate3d(1rem, 15rem, 0);z-index:0;height:1em;width:1em}100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:0;height:1em;width:1em}}@keyframes loading-orbit-before{0%{height:1em;width:1em;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:5}5%{height:1.25em;width:1.25em}25%{height:2em;width:2em;z-index:10;background-color:#12b2e7}50%{-moz-transform:translate3d(1rem, 15rem, 0);-ms-transform:translate3d(1rem, 15rem, 0);-webkit-transform:translate3d(1rem, 15rem, 0);transform:translate3d(1rem, 15rem, 0);z-index:0;height:1em;width:1em}100%{-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:0;height:1em;width:1em}}.loader.orbit>div{-webkit-animation:loading-orbit 6s infinite linear;-o-animation:loading-orbit 6s infinite linear;animation:loading-orbit 6s infinite linear}.loader.orbit>div::before{-webkit-animation:loading-orbit-before 2s infinite ease-in-out;-o-animation:loading-orbit-before 2s infinite ease-in-out;animation:loading-orbit-before 2s infinite ease-in-out}.loader.orbit>div:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}.loader.orbit>div:nth-child(2){-webkit-animation-delay:-0.75s;animation-delay:-0.75s}.loader.orbit>div:nth-child(3){-webkit-animation-delay:-1.5s;animation-delay:-1.5s}.loader.orbit>div:nth-child(4){-webkit-animation-delay:-2.25s;animation-delay:-2.25s}.loader.orbit>div:nth-child(1)::before{-webkit-animation-delay:0s;animation-delay:0s}.loader.orbit>div:nth-child(2)::before{-webkit-animation-delay:-0.5s;animation-delay:-0.5s}.loader.orbit>div:nth-child(3)::before{-webkit-animation-delay:-1s;animation-delay:-1s}.loader.orbit>div:nth-child(4)::before{-webkit-animation-delay:-1.5s;animation-delay:-1.5s}.spinner-double-section-far,.spinner-double-section{top:20em;right:0;bottom:0;left:0;position:absolute;margin:auto;width:80px;height:80px;border-radius:50%;border:4px solid rgba(170,170,170,0.2);-webkit-animation:spinner 3s linear infinite;-o-animation:spinner 3s linear infinite;animation:spinner 3s linear infinite}.loader-inline .spinner-double-section-far,.loader-inline .spinner-double-section{top:5em}@-moz-keyframes spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@-webkit-keyframes spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.spinner-double-section-far,.spinner-double-section{position:relative}.spinner-double-section-far:before,.spinner-double-section-far:after,.spinner-double-section:before,.spinner-double-section:after{content:'';position:absolute;top:-20px;left:-20px;display:block;width:80px;height:80px;border-radius:50%;border:4px solid transparent;border-top-color:#12b2e7}.spinner-double-section-far:after,.spinner-double-section:after{border-top-color:transparent;border-bottom-color:#12b2e7}.spinner-double-section-far{top:11em}.spinner-double-section-far:before,.spinner-double-section-far:after{top:-12px;left:-12px;width:96px;height:96px}@media (min-width: 57em){.spinner-double-section-far{top:20em}}
+@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.loader-small-inline{border-radius:50%;width:20px;height:20px;border:0.25rem solid rgba(0,0,0,0.1);border-top-color:#12b2e7;animation:spin 1s infinite linear;display:inline-block}.local-playlist-list .region-first .new-list{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#a8a7a6;padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em;margin:2em 0}.local-playlist-list .region-first .new-list .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.local-playlist-list .region-first .new-list .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00A8A7A6', endColorstr='#FFA8A7A6');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2E4YTdhNiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNhOGE3YTYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(168,167,166,0)),color-stop(100%, #a8a7a6));background-image:-moz-linear-gradient(left, rgba(168,167,166,0) 0%,#a8a7a6 100%);background-image:-webkit-linear-gradient(left, rgba(168,167,166,0) 0%,#a8a7a6 100%);background-image:linear-gradient(to right, rgba(168,167,166,0) 0%,#a8a7a6 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.local-playlist-list .region-first .new-list:hover{color:#fff}.local-playlist-list .region-first .new-list:before{content:"\e6fd";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.local-playlist-list .region-first .new-list:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.local-playlist-list .region-first .new-list:hover:before{color:#fff}.local-playlist-list .region-content{padding:0}.modal .playlist-selection-list .lists li:after{display:none}.local-playlist .local-playlist-header{position:relative;background:#fff;padding:1em}.local-playlist .local-playlist-header h2{margin:0;font-size:18px;color:#888}.local-playlist .local-playlist-header .dropdown{position:absolute;right:1em;top:0.5em}.local-playlist .local-playlist-header .dropdown i{color:#888;display:table;width:1.5em;text-align:center;cursor:pointer;font-size:150%}.local-playlist .local-playlist-header .dropdown i:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.local-playlist .local-playlist-header .dropdown i:before{display:table-cell;vertical-align:middle;height:1.5em}.local-playlist .local-playlist-header .dropdown ul{left:auto;right:0}.local-playlist .item-container{margin:1em}.local-playlist .empty-content{color:#888;text-align:center;font-size:150%;margin:2em}#nav-bar{background:rgba(255,255,255,0.9);width:50px;padding:0;top:0;left:0;position:fixed;margin:0;padding:0;-webkit-transition:all 0.3s linear;-o-transition:all 0.3s linear;transition:all 0.3s linear;z-index:50;-webkit-box-shadow:1px 0 3px 0 rgba(134,134,134,0.05);box-shadow:1px 0 3px 0 rgba(134,134,134,0.05);display:none}#nav-bar #nav-header{height:50px;background:#1e2122 url('../images/logo.png?1423030648') 0 0 no-repeat}.section-home #nav-bar{display:block}@media (min-width: 57em){#nav-bar{display:block}}#nav-bar nav{padding:1em 0}#nav-bar nav ul{margin:0;padding:0}#nav-bar nav ul li{margin:0;padding:0;list-style:none}#nav-bar nav ul a{display:block;padding:0.5em 0;color:#2b2f30;top:0;bottom:0;left:0;position:absolute;white-space:nowrap;-webkit-transition:none;-o-transition:none;transition:none}#nav-bar nav ul a span{display:none;padding-right:1em;font-weight:bold;padding-top:2px}#nav-bar nav ul a i{font-size:130%;width:50px;text-align:center}#nav-bar nav ul a i:before{top:10px;left:16px;position:absolute}#nav-bar nav ul ul{display:none}#nav-bar nav ul li{position:relative;height:38px}#nav-bar nav ul li:hover{white-space:nowrap}#nav-bar nav ul li:hover a{background:#12b2e7;color:#fff}#nav-bar nav ul li:hover a span{display:inline-block}.active-player-local #nav-bar nav ul li:hover a{background:#db2464}#player-wrapper{right:0;bottom:0;left:0;position:fixed;height:70px;background:#18191a;z-index:501}@media (min-width: 57em){#player-wrapper{height:70px}}
+#player-local{display:none}.active-player-local #player-local{display:block}#player-kodi{display:block}.active-player-local #player-kodi{display:none}#player-kodi .playing-thumb:hover .remote-toggle{display:table}.player .controls-primary,.player .controls-secondary{background:rgba(255,255,255,0.05);height:70px}@media (min-width: 57em){.player .controls-primary,.player .controls-secondary{height:70px}}.player .controls-primary .control,.player .controls-secondary .control{cursor:pointer;height:70px;display:table;font-size:40px;color:rgba(255,255,255,0.5)}@media (min-width: 57em){.player .controls-primary .control,.player .controls-secondary .control{height:70px}}.player .controls-primary .control:hover,.player .controls-secondary .control:hover{color:#fff}.player .control{text-align:center}.player .control:before{display:table-cell;vertical-align:middle}.player .controls-primary{display:none;width:100%}@media (min-width: 57em){.player .controls-primary{width:300px}}.player .controls-primary .control{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:33.33%;float:left}@media (min-width: 57em){.player .controls-primary{float:left;display:block}}.player .controls-secondary{display:none;width:100%}@media (min-width: 57em){.player .controls-secondary{width:300px}}.player .controls-secondary .control{margin-top:-9px;font-size:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:25%;float:left}@media (min-width: 57em){.player .controls-secondary{float:right;display:block}}.player .now-playing{height:70px;position:relative;font-size:12px;font-weight:bold;color:#bac1c8}@media (min-width: 57em){.player .now-playing{height:70px}}.player .now-playing a{color:#bac1c8}@media (min-width: 57em){.player .now-playing{margin-right:300px;margin-left:300px}}.player .thumb{width:70px;height:70px;background-position:50% 50%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.player .playing-thumb{top:0;bottom:0;left:0;position:absolute;width:70px;height:70px;z-index:10;overflow:hidden;background-color:rgba(255,255,255,0.2);background-size:cover;background-position:50% 50%}@media (min-width: 57em){.player .playing-thumb{width:70px}}@media (min-width: 57em){.player .playing-thumb{height:70px}}.player .remote-toggle{background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;display:table;width:100px;text-align:center;cursor:pointer;display:none;color:#fff;font-size:200%;text-align:center;height:70px;width:70px;font-size:300%;opacity:0.8}.player .remote-toggle:before{content:"\e66f";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.player .remote-toggle:before{display:table-cell;vertical-align:middle;height:100px}.player .remote-toggle:before{padding-right:5px}@media (min-width: 57em){.player .remote-toggle{height:70px}}@media (min-width: 57em){.player .remote-toggle{width:70px}}.player .remote-toggle:before{display:table-cell;vertical-align:middle;height:70px;width:70px;padding:0}@media (min-width: 57em){.player .remote-toggle:before{height:70px}}@media (min-width: 57em){.player .remote-toggle:before{width:70px}}.player .playing-info{margin-left:70px}@media (min-width: 57em){.player .playing-info{margin-left:70px}}.player .playing-time{right:0;bottom:0;position:absolute;top:20px;margin:7px 10px 0 0;text-align:right}.player .playing-meta{margin:7px 0 0 10px}.player .playing-title a,.player .playing-time-current{color:#fff;font-size:14px}.player .slider-bar{height:20px;background:rgba(255,255,255,0.1);border-top:4px solid rgba(255,255,255,0);margin:0;cursor:pointer}.player .slider-bar .noUi-base,.player .slider-bar .noUi-handle,.player .slider-bar .noUi-origin{height:20px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;top:0;border:none}.player .slider-bar .noUi-origin{background:#1f1f20;top:-4px}.player .slider-bar .noUi-handle{background:none;width:7px;left:-5px}.player .slider-bar:hover .noUi-handle{background:#6B6B6B}.player .volume{background:#36393a}.control-prev:before{content:"\e6a8"}.control-play:before{content:"\e6b9";font-size:150%}.control-next:before{content:"\e6a7"}.control-mute:before{content:"\e6d2"}.control-repeat:before{content:"\e6c2"}.control-shuffle:before{content:"\e6c5"}.control-menu:before{content:"\e8a3"}.player-menu-wrapper{right:0;position:fixed;width:100%;bottom:70px;z-index:50}@media (min-width: 57em){.player-menu-wrapper{width:300px}}@media (min-width: 57em){.player-menu-wrapper{bottom:70px}}.player-menu-wrapper ul{background:#fff;-webkit-box-shadow:-1px -1px 8px rgba(0,0,0,0.1);box-shadow:-1px -1px 8px rgba(0,0,0,0.1);height:0;-webkit-transition:height 0.5s ease-in;-o-transition:height 0.5s ease-in;transition:height 0.5s ease-in}.player-menu-wrapper ul li{padding:7px 13px;cursor:pointer}.player-menu-wrapper ul li:hover{background:rgba(0,0,0,0.1)}.player-menu-wrapper.opened ul{height:auto}#player-kodi{background:#18191a}.kodi-playing #player-kodi .control-play:before{content:"\e6b6"}.kodi-playing #player-kodi .playing-progress{border-top-color:#12b2e7}.kodi-paused #player-kodi .control-play:before{content:"\e6b9"}.kodi-mute-on #player-kodi .control-mute:hover{color:#12b2e7}.kodi-mute-on #player-kodi .control-mute:before{content:"\e6d0"}.kodi-repeat-one #player-kodi .control-repeat{color:#fff}.kodi-repeat-one #player-kodi .control-repeat:before{content:"\e6c3"}.kodi-repeat-one #player-kodi .control-repeat:hover{color:#12b2e7}.kodi-repeat-all #player-kodi .control-repeat{color:#fff}.kodi-repeat-all #player-kodi .control-repeat:hover{color:#12b2e7}.kodi-shuffled-on #player-kodi .control-shuffle{color:#fff}.kodi-shuffled-on #player-kodi .control-shuffle:hover{color:#12b2e7}#player-kodi .slider-bar{background:#2a2b2c}#player-kodi .slider-bar .noUi-origin{background:#151617}#player-local{background:#313233}.local-playing #player-local .control-play:before{content:"\e6b6"}.local-playing #player-local .playing-progress{border-top-color:#db2464}.local-paused #player-local .control-play:before{content:"\e6b9"}.local-mute-on #player-local .control-mute:hover{color:#db2464}.local-mute-on #player-local .control-mute:before{content:"\e6d0"}.local-repeat-one #player-local .control-repeat{color:#fff}.local-repeat-one #player-local .control-repeat:before{content:"\e6c3"}.local-repeat-one #player-local .control-repeat:hover{color:#db2464}.local-repeat-all #player-local .control-repeat{color:#fff}.local-repeat-all #player-local .control-repeat:hover{color:#db2464}.local-shuffled-on #player-local .control-shuffle{color:#fff}.local-shuffled-on #player-local .control-shuffle:hover{color:#db2464}#player-local .slider-bar{background:#414243}#player-local .slider-bar .noUi-origin{background:#2c2d2d}.playlist-items li{border-bottom:1px solid rgba(255,255,255,0.1);height:34px;position:relative;color:#999}.playlist-items li a{color:#999}.playlist-items li.sortable-ghost,.playlist-items li.row-playing,.playlist-items li.row-paused,.playlist-items li:hover{height:51px;background-color:#0b0c0c}.playlist-items li.sortable-ghost .thumb,.playlist-items li.row-playing .thumb,.playlist-items li.row-paused .thumb,.playlist-items li:hover .thumb{width:50px;height:50px;background-position:50% 50%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.playlist-items li.sortable-ghost .subtitle,.playlist-items li.sortable-ghost .thumb,.playlist-items li.row-playing .subtitle,.playlist-items li.row-playing .thumb,.playlist-items li.row-paused .subtitle,.playlist-items li.row-paused .thumb,.playlist-items li:hover .subtitle,.playlist-items li:hover .thumb{display:block}.playlist-items li.sortable-ghost .title a,.playlist-items li.row-playing .title a,.playlist-items li.row-paused .title a,.playlist-items li:hover .title a{color:rgba(255,255,255,0.95)}.playlist-items li.row-playing,.playlist-items li.row-paused{height:80px;background-image:url('../images/row-playing-white.gif?1423213071');background-repeat:no-repeat;background-position:2px 1px}.playlist-items li.row-playing .remove,.playlist-items li.row-paused .remove{display:none !important}.playlist-items li.row-playing .thumb,.playlist-items li.row-paused .thumb{width:80px;height:80px;background-position:50% 50%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.playlist-items li.row-playing .thumb,.playlist-items li.row-paused .thumb{top:0;right:0;bottom:0;position:absolute;margin:0}.playlist-items li.row-playing .thumb .play,.playlist-items li.row-paused .thumb .play{display:none !important}.playlist-items li.row-playing .thumb .thumbs,.playlist-items li.row-paused .thumb .thumbs{background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;display:table;width:50px;text-align:center;cursor:pointer;display:none;color:#fff;font-size:200%;width:80px}.playlist-items li.row-playing .thumb .thumbs:before,.playlist-items li.row-paused .thumb .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.playlist-items li.row-playing .thumb .thumbs:before,.playlist-items li.row-paused .thumb .thumbs:before{display:table-cell;vertical-align:middle;height:50px}.playlist-items li.row-playing .thumb .thumbs:before,.playlist-items li.row-paused .thumb .thumbs:before{padding-right:5px}.playlist-items li.row-playing .thumb .thumbs:before,.playlist-items li.row-paused .thumb .thumbs:before{width:80px;height:80px}.playlist-items li.row-playing .thumb:hover .thumbs,.playlist-items li.row-paused .thumb:hover .thumbs{display:block}.playlist-items li.row-playing .meta,.playlist-items li.row-paused .meta{margin-right:90px;margin-left:27px}.playlist-items li.row-playing .meta .title,.playlist-items li.row-paused .meta .title{margin-top:5px;font-size:110%}.playlist-items li.row-paused{background-image:url('../images/row-pause-white.png?1423213243')}.playlist-items li.sortable-ghost{height:50px;background:rgba(255,255,255,0.3);opacity:0.5}.playlist-items li.thumbs-up .thumbs{color:#12b2e7 !important}.active-player-local .playlist-items li.thumbs-up .thumbs{color:#db2464 !important}.playlist-items .thumb{background:transparent;overflow:hidden;letter-spacing:-0.31em;width:50px;height:50px;float:left;margin-right:10px;display:none;position:relative}.playlist-items .thumb img{display:block;vertical-align:middle;width:50px;margin-top:50%}.playlist-items .thumb .thumb{width:50px;height:50px;background-position:50% 50%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.playlist-items .thumb:hover .play{display:table}.playlist-items .play{background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;display:table;width:50px;text-align:center;cursor:pointer;display:none;color:#fff;font-size:200%}.playlist-items .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.playlist-items .play:before{display:table-cell;vertical-align:middle;height:50px}.playlist-items .play:before{padding-right:5px}.playlist-items .meta{margin:0 30px 0 0px;padding:9px 10px 5px 15px}.playlist-items .title,.playlist-items .subtitle{display:block;overflow:hidden;white-space:nowrap}.playlist-items .title,.playlist-items .title a{color:#bdc1c2}.playlist-items .subtitle{display:none;font-size:95%;margin-top:2px}.playlist-items .remove{top:0;right:0;bottom:0;position:absolute;display:table;width:34px;text-align:center;cursor:pointer;display:none}.playlist-items .remove:before{content:"\e89c";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.playlist-items .remove:before{display:table-cell;vertical-align:middle;height:50px}.playlist-items .remove:hover{font-size:120%;color:darkred}.playlist-items li:hover .remove{display:table}.playlists-wrapper{padding:1em;font-size:85%;overflow-y:auto;right:0;bottom:0;left:0;position:absolute;top:50px;z-index:500}.media-toggle{*zoom:1;background:rgba(255,255,255,0.1);margin-bottom:0.5em}.media-toggle:after{content:"";display:table;clear:both}.media-toggle li{float:left;padding:5px 15px;color:#999;cursor:pointer}.playlist-bar.media-audio .media-toggle li.audio{color:#fff;background:rgba(255,255,255,0.1)}.playlist-bar.media-video .media-toggle li.video{color:#fff;background:rgba(255,255,255,0.1)}.playlist-header{background:#313233;height:50px}.playlist-header .player-toggle{display:table}.playlist-header .player-toggle li{height:50px;display:table-cell;vertical-align:middle;padding:0 2em 0 2em;color:rgba(255,255,255,0.8);cursor:pointer}.playlist-header .player-toggle li:before{margin-right:0.5em;font-size:90%}.playlist-header .player-toggle li.kodi:before{content:"\e602";display:inline-block;font-family:"icomoon";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.playlist-header .player-toggle li.local:before{content:"\e7b0";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.active-player-kodi .playlist-header .player-toggle li.kodi{color:#12b2e7;background:#1b1c1d}.active-player-local .playlist-header .player-toggle li.local{color:#db2464;background:#1b1c1d}.playlist-header .playlist-menu{top:0;right:0;position:absolute}.playlist-header .playlist-menu .menu-toggle{display:table;width:50px;text-align:center;cursor:pointer;color:rgba(255,255,255,0.5);font-size:150%}.playlist-header .playlist-menu .menu-toggle:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.playlist-header .playlist-menu .menu-toggle:before{display:table-cell;vertical-align:middle;height:50px}.playlist-header .playlist-menu .menu-toggle:hover{color:#fff}@media (min-width: 57em){.playlist-header .playlist-menu{right:50px}}.playlist-header .playlist-menu .dropdown-menu{background:#fff;padding:0;top:50px;margin-top:-5px}.playlist-header .playlist-menu .dropdown-menu li{padding:0;font-size:12px}.playlist-header .playlist-menu .dropdown-menu li.dropdown-header{background:rgba(0,0,0,0.1);color:rgba(0,0,0,0.6)}.playlist-header .playlist-menu .dropdown-menu li.dropdown-header,.playlist-header .playlist-menu .dropdown-menu li a{padding:0.6em 1em}.playlist-header .playlist-menu .dropdown-menu li a{color:rgba(0,0,0,0.5)}.playlist-header .playlist-menu .dropdown-menu li .party-mode i{display:none}.kodi-partymode-on .playlist-header .playlist-menu .dropdown-menu li .party-mode i{display:inline-block}.active-player-kodi .kodi-playlists{display:block}.active-player-kodi .local-playlists{display:none}.active-player-local .kodi-playlists{display:none}.active-player-local .local-playlists{display:block}.playlist-page__empty{text-align:right;margin-right:1em}.playlist-page__empty h3{margin-bottom:1em}.pvr-card{background:#fff;padding:1em;margin-bottom:0.5em;position:relative}.pvr-card.aired{background-color:#f0f0f0}.pvr-card.airing{background:#f4fcff}.pvr-card .title{margin-bottom:0.5em}.pvr-card .entity-progress{top:auto;bottom:0}.pvr-card .entity-progress .current-progress{height:4px;background:#12b2e7}.pvr-card .plot,.pvr-card .title span{color:#888;font-size:90%}.pvr-card .plot{margin-top:0.5em}.pvr-card .actions{top:0.5em;right:0.5em;position:absolute}.pvr-card .actions li{display:table;width:1.5em;text-align:center;cursor:pointer;color:rgba(0,0,0,0.3);float:left;font-size:140%}.pvr-card .actions li:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.pvr-card .actions li:before{display:table-cell;vertical-align:middle;height:1.5em}.pvr-card .actions li:hover{color:rgba(0,0,0,0.6)}.pvr-card .actions li.play{font-size:190%;margin-top:-5px}.pvr-card .actions li.record:before{content:"\e7da"}.pvr-card .actions li.toggle-timer:before{content:"\e65e"}.pvr-card.has-timer .actions li.toggle-timer,.pvr-card.has-timer .actions li.record{color:#bf0a07}#remote{display:none;position:fixed;top:0;right:0;left:0;bottom:70px;top:50px;right:0;background-color:#18191a;z-index:500;background-size:cover}.section-remote #remote{display:block}@media (min-width: 57em){#remote{bottom:70px}}.shell-playlist-closed #remote{right:0}@media (min-width: 57em){#remote{right:310px}.shell-playlist-closed #remote{right:50px}}@media (min-width: 75em){#remote{right:400px}.shell-playlist-closed #remote{right:50px}}
#remote-background{top:0;right:0;bottom:360px;left:0;position:absolute;background-color:#2b2f30;background-position:50% 50%;background-size:cover}@media (min-width: 57em){#remote-background{bottom:0;z-index:1;background-color:#f5f5f5}}
.kodi-remote{position:absolute;bottom:180px;left:0;right:0;font-size:1.7em;color:#6F7374;overflow:hidden;z-index:500;width:auto}@media (min-width: 57em){.kodi-remote{bottom:0}}@media (min-width: 57em){.kodi-remote{width:371px}}.kodi-remote .ibut{background:#222324}.kodi-remote .ibut:hover{color:#ccc;cursor:pointer}.kodi-remote .main-controls{background:#18191a;*zoom:1}.kodi-remote .main-controls:after{content:"";display:table;clear:both}.kodi-remote .direction{background:#222324;height:155px;margin-top:-12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:75%;float:left;position:relative;z-index:10}.kodi-remote .direction .pad{margin:5px auto;width:240px;position:relative;text-align:center}.kodi-remote .direction .pad .ibut{height:145px;position:absolute;top:0;left:80px;width:80px;font-size:125%}.kodi-remote .direction .pad .ibut.up,.kodi-remote .direction .pad .ibut.down,.kodi-remote .direction .pad .ibut.ok{height:48.3333333333px;line-height:48.3333333333px}.kodi-remote .direction .pad .ibut.down{top:96.6666666667px}.kodi-remote .direction .pad .ibut.ok{top:48.3333333333px;font-size:12px}.kodi-remote .direction .pad .ibut.left{bottom:0;left:0;line-height:145px;padding-left:20px}.kodi-remote .direction .pad .ibut.right{bottom:0;right:0;left:auto;line-height:145px;padding-right:20px}.kodi-remote .buttons{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:25%;float:right;padding:6px 8px 4px;margin-top:-20px}.kodi-remote .buttons .ibut{display:block;padding:11px 0;text-align:center;margin:1px 0 9px 0}.kodi-remote .alt-controls .row,.kodi-remote .secondary-controls{clear:both;background:#18191a;height:70px}.kodi-remote .alt-controls .row .ibut,.kodi-remote .secondary-controls .ibut{background:#222324;width:33%;padding:0;line-height:70px;font-size:1.5em;text-align:center;float:left;margin-bottom:12px}@media (min-width: 57em){.kodi-remote .alt-controls .row .ibut,.kodi-remote .secondary-controls .ibut{line-height:70px}}.kodi-remote .secondary-controls{height:auto}.kodi-remote .alt-controls .row{margin:8px 0}.kodi-remote .playing-area{height:150px;position:relative;font-size:15px;color:#838b8d}.kodi-remote .playing-area .not-playing,.kodi-remote .playing-area .playing{padding:10px 20px 35px;text-align:right}.kodi-remote .playing-area .playing{background:#3b3f40 0 0 no-repeat;background-size:cover;display:none}.kodi-remote .playing-area:after{content:"";position:absolute;left:0;bottom:0;right:0;height:24px;z-index:5}.section-remote .player .now-playing .remote-toggle,.section-remote .player .now-playing .thumb{height:75px;width:75px}.section-remote .player .controls-secondary,.section-remote .player .controls-secondary .control,.section-remote .player .controls-primary,.section-remote .player .controls-primary .control,.section-remote .player .now-playing,.section-remote .player .now-playing .thumb{height:75px}.section-remote #player-wrapper{height:250px}.section-remote .player .controls-secondary,.section-remote .player .controls-primary{display:block;margin-bottom:12px}.section-remote .player .now-playing{margin:10px 0 0 0}.section-remote .player .playing-info{margin-left:75px}@media (min-width: 57em){.section-remote #player-wrapper{height:70px}.section-remote .player .now-playing,.section-remote .player .controls-secondary,.section-remote .player .controls-primary{margin:0}.section-remote .player .now-playing,.section-remote .player .now-playing .control,.section-remote .player .controls-secondary,.section-remote .player .controls-secondary .control,.section-remote .player .controls-primary,.section-remote .player .controls-primary .control{height:70px}.section-remote .player .now-playing,.section-remote .player .now-playing .thumb,.section-remote .player .controls-secondary,.section-remote .player .controls-secondary .thumb,.section-remote .player .controls-primary,.section-remote .player .controls-primary .thumb{height:70px}.section-remote .player .now-playing .thumb,.section-remote .player .controls-secondary .thumb,.section-remote .player .controls-primary .thumb{width:70px}.section-remote .player .now-playing .playing-info,.section-remote .player .controls-secondary .playing-info,.section-remote .player .controls-primary .playing-info{margin-left:70px}.section-remote .player .now-playing{margin-left:300px;margin-right:300px}}
#search-region{background:rgba(255,255,255,0.9);height:50px;margin-left:0}@media (min-width: 57em){#search-region{display:block}}#search-region:after{content:"";height:3px;background:#12b2e7;opacity:0.3;bottom:0;left:0;position:absolute;width:0%}#search-region.pre-search:after{display:block;width:100%;-webkit-transition:2s all linear;-o-transition:2s all linear;transition:2s all linear}#search{background:none;border:none;height:50px;width:100%;outline:none;padding:0 0.5em 0 50px;color:rgba(0,0,0,0.4)}@media (min-width: 57em){#search{width:200px}}
-#do-search{width:50px;height:50px;display:table;top:0;left:0;position:absolute}#do-search:before{content:"\e65f";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}#do-search:before{font-size:150%;display:table-cell;vertical-align:middle;text-align:center;color:rgba(0,0,0,0.6)}.search-page{top:50px;position:relative}@media (min-width: 57em){.search-page{top:0}}@media (min-width: 57em){.search-page__empty{text-align:right}}
-.set-page{padding:0.5em 1.5em 1em}.set-page .entity-set .set-header{margin:1em 0 0.5em;text-transform:capitalize;font-size:22px}.set-page .entity-set .more a{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#12b2e7;padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.set-page .entity-set .more a .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.set-page .entity-set .more a .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#0012B2E7', endColorstr='#FF12B2E7');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzEyYjJlNyIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxMmIyZTciLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(18,178,231,0)),color-stop(100%, #12b2e7));background-image:-moz-linear-gradient(left, rgba(18,178,231,0) 0%,#12b2e7 100%);background-image:-webkit-linear-gradient(left, rgba(18,178,231,0) 0%,#12b2e7 100%);background-image:linear-gradient(to right, rgba(18,178,231,0) 0%,#12b2e7 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.set-page .entity-set .more a:hover{color:#fff}.set-page .entity-set .more a:before{content:"\e6d7";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.set-page .entity-set .more a:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.set-page .entity-set .more a:hover:before{color:#fff}.set-page .entity-set-song .set-results{padding:5px}.set-page .entity-set-loading #loading-page{left:0;right:0;position:relative}.set-page .entity-set-loading .spinner-double-section-far,.set-page .entity-set-loading h2{top:5em}.set-page .entity-set-loading h2{margin-top:5em !important}.settings-page .region-content{padding:0;padding-bottom:70px}@media (min-width: 57em){.settings-page .region-content{padding-bottom:70px}}
-.settings-form .form-group{padding-bottom:1.5em;margin-bottom:0;*zoom:1}.settings-form .form-group:after{content:"";display:table;clear:both}@media (min-width: 45em){.settings-form .form-group .control-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:42.8571428571%;float:left;padding:5px 2em 0.5em 0}.settings-form .form-group .element{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:57.1428571429%;float:right}}.settings-form .group-title{margin-top:0.5em;margin-bottom:1em;padding-bottom:0.5em;color:#12b2e7;display:inline-block}.settings-form .group-title i{color:rgba(136,136,136,0.7)}@media (min-width: 57em){.settings-form .form-items{margin:0 4em 0 2em}}.settings-form footer{color:rgba(255,255,255,0.7);border-top:1px solid #C8C8C8;background:#2B2E2F;padding:1em}@media (min-width: 57em){.settings-form footer{padding:1em 2em}}.settings-form .togglebutton{margin-top:4px}.settings-form .togglebutton label .toggle:after{top:-3px}.settings-form-draggable .form-groups .draggable-row{position:relative;border-bottom:1px solid rgba(221,221,221,0.6);padding:1em 0.5em;cursor:move}.settings-form-draggable .form-groups .draggable-row:nth-child(even){background:rgba(229,229,229,0.4)}.settings-form-draggable .form-groups .draggable-row .form-group{padding-bottom:0.5em}.settings-form-draggable .form-groups .draggable-row .control-label{cursor:move;position:relative;display:block}.settings-form-draggable .form-groups .draggable-row .control-label i{margin-left:0.5em;font-weight:normal;font-size:1.3em;position:absolute;right:0.5em;top:0.5em;opacity:0.9}.settings-form-draggable .form-groups .draggable-row .remove-item{top:0;right:0;position:absolute;padding:0 0.5em 0.25em;color:#921212;display:none;font-size:1.5em;cursor:pointer;opacity:0.5}.settings-form-draggable .form-groups .draggable-row .remove-item:hover{opacity:0.9}.settings-form-draggable .form-groups .draggable-row:hover .remove-item{display:block}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{border:#ddd}::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.2);cursor:pointer}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.4)}body,body.model-open{overflow-y:scroll}#logo{top:0;left:0;position:fixed;height:50px;width:50px;display:table;z-index:100;-webkit-perspective:1000;overflow:hidden;text-align:center;color:#12b2e7;font-size:2em}#logo:before{content:"\e602";display:inline-block;font-family:"icomoon";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.loading #logo{-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-animation:pulsate 2s linear;-o-animation:pulsate 2s linear;animation:pulsate 2s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-font-smoothing:subpixel-antialiased}#logo:before{display:table-cell;vertical-align:middle}#page-title .title{padding-left:50px;display:none}@media (min-width: 57em){#page-title .title{display:inline-block}}
+#do-search{width:50px;height:50px;display:table;top:0;left:0;position:absolute}#do-search:before{content:"\e65f";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}#do-search:before{font-size:150%;display:table-cell;vertical-align:middle;text-align:center;color:rgba(0,0,0,0.6)}.search-page{top:50px;position:relative}@media (min-width: 57em){.search-page{top:0}}@media (min-width: 57em){.search-page__empty{text-align:right}}.search-page h2.set-header{padding-left:5px}.search-page .browser-folder-list{background:rgba(255,255,255,0.7)}.search-page-layout .search-media-links a{text-transform:capitalize}.search-page-layout .region-content{padding:0}.set-page{padding:0.5em 1.5em 1em}.set-page .entity-set .set-header{margin:1em 0 0.5em;text-transform:capitalize;font-size:22px}.set-page .entity-set .more a{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#12b2e7;padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.set-page .entity-set .more a .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.set-page .entity-set .more a .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#0012B2E7', endColorstr='#FF12B2E7');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzEyYjJlNyIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxMmIyZTciLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(18,178,231,0)),color-stop(100%, #12b2e7));background-image:-moz-linear-gradient(left, rgba(18,178,231,0) 0%,#12b2e7 100%);background-image:-webkit-linear-gradient(left, rgba(18,178,231,0) 0%,#12b2e7 100%);background-image:linear-gradient(to right, rgba(18,178,231,0) 0%,#12b2e7 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.set-page .entity-set .more a:hover{color:#fff}.set-page .entity-set .more a:before{content:"\e6d7";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.set-page .entity-set .more a:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.set-page .entity-set .more a:hover:before{color:#fff}.set-page .entity-set-song .set-results{padding:5px}.set-page .entity-set-loading #loading-page{left:0;right:0;position:relative}.set-page .entity-set-loading .spinner-double-section-far,.set-page .entity-set-loading h2{top:5em}.set-page .entity-set-loading h2{margin-top:5em !important}.settings-page .region-content{padding:0;padding-bottom:70px}@media (min-width: 57em){.settings-page .region-content{padding-bottom:70px}}
+.settings-form .form-group{padding-bottom:1.5em;margin-bottom:0;*zoom:1}.settings-form .form-group:after{content:"";display:table;clear:both}@media (min-width: 45em){.settings-form .form-group .control-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:42.8571428571%;float:left;padding:5px 2em 0.5em 0}.settings-form .form-group .element{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:57.1428571429%;float:right}}.settings-form .group-title{margin-top:0.5em;margin-bottom:1em;padding-bottom:0.5em;color:#12b2e7;display:inline-block}.settings-form .group-title i{color:rgba(136,136,136,0.7)}@media (min-width: 57em){.settings-form .form-items{margin:0 4em 0 2em}}.settings-form footer{color:rgba(255,255,255,0.7);border-top:1px solid #C8C8C8;background:#2B2E2F;padding:1em}@media (min-width: 57em){.settings-form footer{padding:1em 2em}}.settings-form .togglebutton{margin-top:4px}.settings-form .togglebutton label .toggle:after{top:-3px}.settings-form-draggable .form-groups .draggable-row{position:relative;border-bottom:1px solid rgba(221,221,221,0.6);padding:1em 0.5em;cursor:move}.settings-form-draggable .form-groups .draggable-row:nth-child(even){background:rgba(229,229,229,0.2)}.settings-form-draggable .form-groups .draggable-row .form-group{padding-bottom:0.5em}.settings-form-draggable .form-groups .draggable-row .control-label{cursor:move;position:relative;display:block}.settings-form-draggable .form-groups .draggable-row .control-label i{margin-left:0.5em;font-weight:normal;font-size:1.3em;position:absolute;right:0.5em;top:0.5em;opacity:0.9}.settings-form-draggable .form-groups .draggable-row .remove-item{top:0;right:0;position:absolute;padding:0 0.5em 0.25em;color:#921212;display:none;font-size:1.5em;cursor:pointer;opacity:0.5}.settings-form-draggable .form-groups .draggable-row .remove-item:hover{opacity:0.9}.settings-form-draggable .form-groups .draggable-row:hover .remove-item{display:block}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{border:#ddd}::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.2);cursor:pointer}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.4)}body,body.model-open{overflow-y:scroll}#logo{top:0;left:0;position:fixed;height:50px;width:50px;display:table;z-index:100;-webkit-perspective:1000;overflow:hidden;text-align:center;color:#12b2e7;font-size:2em}#logo:before{content:"\e602";display:inline-block;font-family:"icomoon";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.loading #logo{-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-animation:pulsate 2s linear;-o-animation:pulsate 2s linear;animation:pulsate 2s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-font-smoothing:subpixel-antialiased}#logo:before{display:table-cell;vertical-align:middle}#page-title .title{padding-left:50px;display:none}@media (min-width: 57em){#page-title .title{display:inline-block}}
#fanart,#fanart-overlay{top:50px;bottom:0;position:fixed;bottom:70px;right:0;left:0}@media (min-width: 57em){#fanart,#fanart-overlay{bottom:70px}}.shell-playlist-closed #fanart,.shell-playlist-closed #fanart-overlay{right:0}@media (min-width: 57em){#fanart,#fanart-overlay{right:310px}.shell-playlist-closed #fanart,.shell-playlist-closed #fanart-overlay{right:50px}}@media (min-width: 75em){#fanart,#fanart-overlay{right:400px}.shell-playlist-closed #fanart,.shell-playlist-closed #fanart-overlay{right:50px}}@media (min-width: 57em){#fanart,#fanart-overlay{left:50px}}
#fanart{background-color:#e0dfdf;background-size:cover;background-position:50% 50%;z-index:-10}#fanart-overlay{z-index:-9;background-color:rgba(224,223,223,0.7)}.section-home #fanart-overlay{display:none}#main{*zoom:1;margin:50px 0 50px 0;margin-right:0;padding-bottom:70px}#main:after{content:"";display:table;clear:both}.shell-playlist-closed #main{margin-right:0}@media (min-width: 57em){#main{margin-right:310px}.shell-playlist-closed #main{margin-right:50px}}@media (min-width: 75em){#main{margin-right:400px}.shell-playlist-closed #main{margin-right:50px}}@media (min-width: 57em){#main{padding-bottom:70px}}@media (min-width: 57em){#main{margin-left:50px;margin-bottom:0}}.shell-playlist-closed #main{margin-right:0}@media (min-width: 57em){.shell-playlist-closed #main{margin-right:50px}}@media (min-width: 75em){.shell-playlist-closed #main{margin-right:50px}}
-#sidebar-two{top:0;right:0;bottom:0;left:0;position:fixed;background:#1b1c1d;z-index:50;top:50px;display:none;width:0;width:auto;bottom:70px}body.page-playlist #sidebar-two{display:block}@media (min-width: 57em){#sidebar-two{left:auto;top:0;display:block}}.shell-playlist-closed #sidebar-two{width:0}@media (min-width: 57em){#sidebar-two{width:310px}.shell-playlist-closed #sidebar-two{width:50px}}@media (min-width: 75em){#sidebar-two{width:400px}.shell-playlist-closed #sidebar-two{width:50px}}@media (min-width: 57em){#sidebar-two{bottom:70px}}#sidebar-two #playlist-summary{display:none}#sidebar-two .playlist-toggle-open{top:0;right:0;position:absolute;width:50px;height:50px;display:table;width:50px;text-align:center;cursor:pointer;display:table;cursor:pointer;display:none;text-align:center}#sidebar-two .playlist-toggle-open:before{content:"\e7b6";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}#sidebar-two .playlist-toggle-open:before{display:table-cell;vertical-align:middle;height:50px}#sidebar-two .playlist-toggle-open:before{-webkit-transition:all 0.4s linear;-o-transition:all 0.4s linear;transition:all 0.4s linear;display:table-cell;vertical-align:middle;text-align:center;font-size:150%;color:rgba(255,255,255,0.5)}@media (min-width: 57em){#sidebar-two .playlist-toggle-open{display:table}}.shell-playlist-closed #sidebar-two{width:0}.shell-playlist-closed #sidebar-two .playlist-toggle-open:before{-moz-transform:rotate(-180deg);-ms-transform:rotate(-180deg);-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}@media (min-width: 57em){.shell-playlist-closed #sidebar-two{width:50px}}@media (min-width: 75em){.shell-playlist-closed #sidebar-two{width:50px}}.shell-playlist-closed #sidebar-two #playlist-bar{display:none}.shell-playlist-closed #sidebar-two #playlist-summary{display:block}#modal-window .close,#modal-window .close:hover,#modal-window .close:focus{color:#fff}#modal-window .modal-dialog{-webkit-box-shadow:0 2px 11px 2px rgba(0,0,0,0.32);box-shadow:0 2px 11px 2px rgba(0,0,0,0.32)}@media (min-width: 45em){#modal-window .modal-dialog{min-width:500px}}#modal-window .modal-header{background:#2F3334;color:#fff}#modal-window .modal-header,#modal-window .modal-body{padding:15px 20px}@media (min-width: 57em){#modal-window.style-video .modal-dialog{width:800px}}#modal-window.style-video .modal-body{padding:0;position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}#modal-window.style-video .modal-body iframe{position:absolute;top:0;left:0;width:100%;height:100%}#modal-window.style-video .modal-footer{display:none}#modal-window.style-form .modal-footer{display:none}#modal-window.style-form footer{margin:15px -20px -15px;padding:5px 20px;background:rgba(0,0,0,0.05);*zoom:1}#modal-window.style-form footer:after{content:"";display:table;clear:both}#modal-window.style-form footer .inline-list li{margin:0 0 0 2em;float:right}#snackbar-container{position:fixed;z-index:50;right:0;bottom:70px;margin-bottom:-10px}@media (min-width: 57em){#snackbar-container{bottom:70px}}
+#sidebar-two{top:0;right:0;bottom:0;left:0;position:fixed;background:#1b1c1d;z-index:50;top:50px;display:none;width:0;width:auto;bottom:70px}body.page-playlist #sidebar-two{display:block}@media (min-width: 57em){#sidebar-two{left:auto;top:0;display:block}}.shell-playlist-closed #sidebar-two{width:0}@media (min-width: 57em){#sidebar-two{width:310px}.shell-playlist-closed #sidebar-two{width:50px}}@media (min-width: 75em){#sidebar-two{width:400px}.shell-playlist-closed #sidebar-two{width:50px}}@media (min-width: 57em){#sidebar-two{bottom:70px}}#sidebar-two #playlist-summary{display:none}#sidebar-two .playlist-toggle-open{top:0;right:0;position:absolute;width:50px;height:50px;display:table;width:50px;text-align:center;cursor:pointer;display:table;cursor:pointer;display:none;text-align:center}#sidebar-two .playlist-toggle-open:before{content:"\e7b6";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}#sidebar-two .playlist-toggle-open:before{display:table-cell;vertical-align:middle;height:50px}#sidebar-two .playlist-toggle-open:before{-webkit-transition:all 0.4s linear;-o-transition:all 0.4s linear;transition:all 0.4s linear;display:table-cell;vertical-align:middle;text-align:center;font-size:150%;color:rgba(255,255,255,0.5)}@media (min-width: 57em){#sidebar-two .playlist-toggle-open{display:table}}.shell-playlist-closed #sidebar-two{width:0}.shell-playlist-closed #sidebar-two .playlist-toggle-open:before{-moz-transform:rotate(-180deg);-ms-transform:rotate(-180deg);-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}@media (min-width: 57em){.shell-playlist-closed #sidebar-two{width:50px}}@media (min-width: 75em){.shell-playlist-closed #sidebar-two{width:50px}}.shell-playlist-closed #sidebar-two #playlist-bar{display:none}.shell-playlist-closed #sidebar-two #playlist-summary{display:block}#offscreen{display:none}#modal-window .close,#modal-window .close:hover,#modal-window .close:focus{color:#fff}#modal-window .modal-dialog{-webkit-box-shadow:0 2px 11px 2px rgba(0,0,0,0.32);box-shadow:0 2px 11px 2px rgba(0,0,0,0.32)}@media (min-width: 45em){#modal-window .modal-dialog{min-width:500px}}#modal-window .modal-header{background:#2F3334;color:#fff}#modal-window .modal-header,#modal-window .modal-body{padding:15px 20px}@media (min-width: 57em){#modal-window.style-video .modal-dialog{width:800px}}#modal-window.style-video .modal-body{padding:0;position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}#modal-window.style-video .modal-body iframe{position:absolute;top:0;left:0;width:100%;height:100%}#modal-window.style-video .modal-footer{display:none}#modal-window.style-edit-form .modal-footer,#modal-window.style-form .modal-footer{display:none}#modal-window.style-edit-form footer,#modal-window.style-form footer{margin:15px -20px -15px;padding:5px 20px;background:rgba(0,0,0,0.05);*zoom:1}#modal-window.style-edit-form footer:after,#modal-window.style-form footer:after{content:"";display:table;clear:both}#modal-window.style-edit-form footer .inline-list li,#modal-window.style-form footer .inline-list li{margin:0 0 0 2em;float:right}#snackbar-container{position:fixed;z-index:50;right:0;bottom:70px;margin-bottom:-10px}@media (min-width: 57em){#snackbar-container{bottom:70px}}
.snackbar{overflow:hidden;clear:both;cursor:pointer;opacity:0;min-width:0;max-width:600px}.shell-playlist-closed .snackbar{min-width:0}@media (min-width: 57em){.snackbar{min-width:310px}.shell-playlist-closed .snackbar{min-width:50px}}@media (min-width: 75em){.snackbar{min-width:400px}.shell-playlist-closed .snackbar{min-width:50px}}
-.snackbar.snackbar-opened{height:auto;opacity:1}@media (max-width: 767px){#snackbar-container{left:0px !important;right:0px;width:100%}#snackbar-container .snackbar{min-width:100%}#snackbar-container [class="snackbar snackbar-opened"] ~ .snackbar.toast{margin-top:20px}#snackbar-container [class="snackbar snackbar-opened"]{border-radius:0;margin-bottom:0}}.snackbar{background-color:rgba(255,255,255,0.95);color:#2b2f30;font-size:14px;border-radius:0px;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);height:0;-moz-transition:-moz-transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, padding 0 linear 0.2s, height 0 linear 0.2s;-webkit-transition:-webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, padding 0 linear 0.2s, height 0 linear 0.2s;transition:transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, padding 0 linear 0.2s, height 0 linear 0.2s;-moz-transform:translateY(200%);-webkit-transform:translateY(200%);transform:translateY(200%)}.snackbar.snackbar-opened{padding:14px 15px;margin:0 0 10px 0;height:auto;-moz-transition:-moz-transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s;-webkit-transition:-webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s;transition:transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, height 0 linear 0.2s;-moz-transform:none;-webkit-transform:none;transform:none}.songs-table tr.song{cursor:pointer;font-size:13px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.songs-table tr.song td{vertical-align:middle;position:relative;border-bottom:1px solid rgba(139,139,139,0.05)}.songs-table tr.song td.song-title{width:60%}.songs-table tr.song td.song-artist{width:40%}.songs-table tr.song .crop{position:relative;white-space:nowrap;overflow:hidden;display:block;height:18px;white-space:normal}.songs-table tr.song .crop:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00E0DFDF', endColorstr='#FFE0DFDF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2UwZGZkZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMGRmZGYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(224,223,223,0)),color-stop(100%, #e0dfdf));background-image:-moz-linear-gradient(left, rgba(224,223,223,0) 0%,#e0dfdf 100%);background-image:-webkit-linear-gradient(left, rgba(224,223,223,0) 0%,#e0dfdf 100%);background-image:linear-gradient(to right, rgba(224,223,223,0) 0%,#e0dfdf 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.region-album-songs .songs-table tr.song .crop:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00F5F5F5', endColorstr='#FFF5F5F5');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y1ZjVmNSIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(245,245,245,0)),color-stop(100%, #f5f5f5));background-image:-moz-linear-gradient(left, rgba(245,245,245,0) 0%,#f5f5f5 100%);background-image:-webkit-linear-gradient(left, rgba(245,245,245,0) 0%,#f5f5f5 100%);background-image:linear-gradient(to right, rgba(245,245,245,0) 0%,#f5f5f5 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.songs-table tr.song a{color:rgba(43,47,48,0.7)}.songs-table tr.song a:hover{color:#2b2f30}.songs-table tr.song .play,.songs-table tr.song .play:before,.songs-table tr.song .cell-first{width:40px;height:40px}.songs-table tr.song .play{top:0;left:0;position:absolute;display:table-cell;vertical-align:middle;text-align:center;cursor:pointer;display:none;font-size:200%}.songs-table tr.song .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.songs-table tr.song .play:before{display:table-cell;vertical-align:middle}.songs-table tr.song .play:hover{color:#2b2f30}.songs-table tr.song .thumb{width:39px;height:39px;background-position:50% 50%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.songs-table tr.song .thumb{top:0px;bottom:1px;left:0;position:absolute;display:none}.songs-table tr.song .add{font-size:140%}.songs-table tr.song .add:before{content:"\e6fc";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.songs-table tr.song .thumbed-up,.songs-table tr.song .thumbs{font-size:140%}.songs-table tr.song .thumbed-up:before,.songs-table tr.song .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.disable-thumbs .songs-table tr.song .thumbed-up,.disable-thumbs .songs-table tr.song .thumbs{display:none}.songs-table tr.song .thumbed-up{top:0px;right:90px;position:absolute;margin-right:-2px;display:none;opacity:0.4}.songs-table tr.song .thumbed-up:before{display:table-cell;vertical-align:middle;width:40px;height:40px}.songs-table tr.song.thumbs-up .thumbed-up{display:table}.songs-table tr.song.thumbs-up .thumbs{color:#12b2e7}.songs-table tr.song .menu i{font-size:150%}.songs-table tr.song .menu i:before{content:"\e8a2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.songs-table tr.song .menu .dropdown-menu{top:0}.songs-table tr.song .actions{top:0;right:0px;bottom:0;position:absolute;display:none;width:90px}.songs-table tr.song .actions>li{width:30px;text-align:center;float:left}.songs-table tr.song .actions>li i:before,.songs-table tr.song .actions>li:before{display:table-cell;vertical-align:middle;width:30px;height:40px;color:#999;cursor:pointer}.songs-table tr.song.menu-open .crop,.songs-table tr.song:hover .crop{white-space:normal}.songs-table tr.song.menu-open .duration,.songs-table tr.song.menu-open .track,.songs-table tr.song:hover .duration,.songs-table tr.song:hover .track{display:none}.songs-table tr.song.menu-open .play,.songs-table tr.song.menu-open .actions,.songs-table tr.song:hover .play,.songs-table tr.song:hover .actions{display:block}.songs-table tr.song.menu-open .thumbed-up,.songs-table tr.song:hover .thumbed-up{display:none}.songs-table tr.song .song-artist{display:none}@media (min-width: 57em){.songs-table tr.song .song-artist{display:table-cell}}.songs-table.verbose .track{margin-left:47px}.songs-table.verbose .play{background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;color:#fff}.songs-table.verbose tr.song .thumb{display:block}.songs-table.verbose tr.song:hover .play{width:39px;height:39px}.songs-table.verbose tr.song:hover .play:hover{color:#fff}.songs-table.verbose tr.song:hover .track{display:block}.songs-table.verbose tr.song.local-row-playing .track,.songs-table.verbose tr.song.local-row-paused .track,.songs-table.verbose tr.song.kodi-row-playing .track,.songs-table.verbose tr.song.kodi-row-paused .track{text-indent:0;background:none}.songs-table.verbose tr.song.local-row-playing .thumb,.songs-table.verbose tr.song.local-row-paused .thumb,.songs-table.verbose tr.song.kodi-row-playing .thumb,.songs-table.verbose tr.song.kodi-row-paused .thumb{background:url('../images/row-pause-blue.png?1423480412') 0 50% no-repeat !important;background-size:initial}.songs-table.verbose tr.song.local-row-playing .play,.songs-table.verbose tr.song.local-row-paused .play,.songs-table.verbose tr.song.kodi-row-playing .play,.songs-table.verbose tr.song.kodi-row-paused .play{display:none}.songs-table.verbose tr.song.kodi-row-playing .thumb{background-image:url('../images/row-playing-blue.gif?1423480525') !important}.songs-table.verbose tr.song.local-row-playing .thumb{background-image:url('../images/row-playing-pink.gif?1424158169') !important}.songs-table.verbose tr.song.local-row-paused .thumb{background-image:url('../images/row-pause-pink.png?1424158216') !important}.songs-table.basic .thumb{display:none}.songs-table .local-row-playing,.songs-table .local-row-paused,.songs-table .kodi-row-playing,.songs-table .kodi-row-paused{background:rgba(255,255,255,0.9) !important}.songs-table .local-row-playing td .crop:after,.songs-table .local-row-paused td .crop:after,.songs-table .kodi-row-playing td .crop:after,.songs-table .kodi-row-paused td .crop:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.songs-table .local-row-playing .track,.songs-table .local-row-paused .track,.songs-table .kodi-row-playing .track,.songs-table .kodi-row-paused .track{background:url('../images/row-pause-blue.png?1423480412') 50% 50% no-repeat;text-indent:-99999px}.songs-table .local-row-paused .track{background:url('../images/row-pause-pink.png?1424158216') 50% 50% no-repeat}.songs-table .local-row-playing .track,.songs-table .kodi-row-playing .track{background-image:url('../images/row-playing-blue.gif?1423480525')}.songs-table .local-row-playing .track{background-image:url('../images/row-playing-pink.gif?1424158169')}.box-loading{max-width:50em;margin-left:auto;margin-right:auto;width:95%;background:#fafafa url('../images/loading-box-bg.jpg?1390099084') 0 bottom repeat-x;-webkit-animation:wave 16s infinite linear;-o-animation:wave 16s infinite linear;animation:wave 16s infinite linear;margin-top:1em;padding:1em;text-align:center;font-size:28px}.box-loading:after{content:" ";display:block;clear:both}.table-row .cell-first{width:40px;min-width:40px;text-align:center;color:rgba(43,47,48,0.5);font-size:95%}.table-row .cell-last{width:80px;min-width:80px;text-align:right;color:rgba(43,47,48,0.5);font-size:95%}.content-tabs li{display:inline-block;padding:1em 2em}.content-tabs li.active{background:rgba(43,47,48,0.05)}.content-tabs li a{color:rgba(102,102,102,0.7)}.content-tabs li a.active{color:#2b2f30}.tab-content{background:rgba(43,47,48,0.05);padding:2em;margin-right:20%;color:#888}.tvshow-show .card-season .thumbs{display:none !important}.streams-short{text-align:center}.streams-short li{display:inline-block;font-size:170%;color:rgba(43,47,48,0.4);padding:0 0.5em}.trailer{position:relative;cursor:pointer}@media (min-width: 45em){.trailer{max-width:238px;float:left;margin-right:2em}}.trailer:hover:after{content:"Watch trailer";background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;top:0;right:0;bottom:0;left:0;position:absolute;color:#fff;text-align:center;padding-top:30%;font-size:150%}.cast-full{height:141px;white-space:nowrap;overflow-y:auto}.cast-full>li{width:80px;display:inline-block;margin:0 0.6em 0 0;position:relative}.cast-full>li a{color:#2b2f30}.cast-full>li img{-webkit-filter:grayscale(100%);filter:grayscale(100%);opacity:0.8}.cast-full>li .thumb{background:#cbcbcb;overflow:hidden;letter-spacing:-0.31em;width:80px;height:105px}.cast-full>li .thumb img{display:block;vertical-align:middle;width:80px;margin-top:0}.cast-full>li .thumb .thumb{width:80px;height:105px;background-position:50% 0;background-color:#cbcbcb;display:block;background-size:cover;background-repeat:no-repeat}.cast-full>li strong{font-weight:normal}.cast-full>li span{font-size:85%;color:#666}.cast-full>li span,.cast-full>li strong{position:relative;white-space:nowrap;overflow:hidden;display:block}.cast-full>li span:after,.cast-full>li strong:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.cast-full>li .meta{position:absolute;bottom:0;z-index:20;background:#fff;padding:4px;right:0;left:0;display:none}.cast-full>li:hover img{-webkit-filter:grayscale(0%);filter:grayscale(0%);opacity:1}.cast-full>li:hover .actions{display:block}.cast-full>li .actions{bottom:0px;left:2px;position:absolute;display:none}.cast-full>li .actions li{display:inline-block;width:20px;height:20px;margin-left:2px;opacity:0.3;cursor:pointer}.cast-full>li .actions li:hover{opacity:1}.cast-full>li .actions li.google{background:url('../images/google-ico.png?1424857667') 0 0 no-repeat}.cast-full>li .actions li.imdb{background:url('../images/imdb-ico.png?1424857650') 0 0 no-repeat}.imdblink{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,0.1);padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.imdblink .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.imdblink .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#1AFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.imdblink:hover{color:#fff}.imdblink:before{content:"\e63f";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.imdblink:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.imdblink:hover:before{color:#fff}.btn-flat-play{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#12b2e7;padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.btn-flat-play .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.btn-flat-play .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#0012B2E7', endColorstr='#FF12B2E7');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzEyYjJlNyIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxMmIyZTciLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(18,178,231,0)),color-stop(100%, #12b2e7));background-image:-moz-linear-gradient(left, rgba(18,178,231,0) 0%,#12b2e7 100%);background-image:-webkit-linear-gradient(left, rgba(18,178,231,0) 0%,#12b2e7 100%);background-image:linear-gradient(to right, rgba(18,178,231,0) 0%,#12b2e7 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.btn-flat-play:hover{color:#fff}.btn-flat-play:before{content:"\e6ba";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.btn-flat-play:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.btn-flat-play:hover:before{color:#fff}.btn-flat-add{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,0.1);padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.btn-flat-add .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.btn-flat-add .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#1AFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.btn-flat-add:hover{color:#fff}.btn-flat-add:before{content:"\e6fd";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.btn-flat-add:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.btn-flat-add:hover:before{color:#fff}.btn-flat-stream{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,0.1);padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.btn-flat-stream .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.btn-flat-stream .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#1AFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.btn-flat-stream:hover{color:#fff}.btn-flat-stream:before{content:"\e7aa";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.btn-flat-stream:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.btn-flat-stream:hover:before{color:#fff}.btn-flat-download{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,0.1);padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.btn-flat-download .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.btn-flat-download .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#1AFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.btn-flat-download:hover{color:#fff}.btn-flat-download:before{content:"\e6ff";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.btn-flat-download:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.btn-flat-download:hover:before{color:#fff}.btn-flat-watched{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,0.1);padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.btn-flat-watched .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.btn-flat-watched .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#1AFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.btn-flat-watched:hover{color:#fff}.btn-flat-watched:before{content:"\e8e1";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.btn-flat-watched:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.btn-flat-watched:hover:before{color:#fff}.btn-flat-watched .action-watched{display:inline}.btn-flat-watched .action-unwatched{display:none}.is-watched .btn-flat-watched .action-watched{display:none}.is-watched .btn-flat-watched .action-unwatched{display:inline}.entity-progress{top:-2px;right:0;left:0;position:absolute;z-index:100}.entity-progress .current-progress{-webkit-transition:width 0.3s linear;-o-transition:width 0.3s linear;transition:width 0.3s linear;height:3px;background:#12b2e7}.season-show .card .show-name,.season-show .card .ep-num{display:none}.landing-page .card .ep-num-full{display:none}.lab--items h3{margin-bottom:2em;font-size:1.3em;margin-top:0}.lab-item{padding:1em;background:rgba(0,0,0,0.05);display:block;margin-bottom:0.5em}.lab-item p{color:#2b2f30}.lab-item:hover{background:rgba(0,0,0,0.1)}.api-browser--methods{padding:1em}.api-browser--method{padding:0.5em 0 0}.api-browser--method h4{font-size:1.05em;margin:0 0 0.25em 0}.api-browser--method p{font-size:90%;opacity:0.5;height:0;overflow:hidden;margin:0 0 0.25em}.api-browser--method .api-method--item{border-bottom:1px solid #ddd;cursor:pointer}.api-browser--method:hover h4{color:#12b2e7;font-weight:700}.api-browser--method:hover p{height:100%}.api-browser--page{padding:0 0.5em;margin-bottom:2em}.api-browser--page .description{font-size:90%;opacity:0.6}.api-method--execute{max-width:58em}.api-method--execute textarea{display:block;width:100%;margin:0.5em 0;padding:0.5em;height:200px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;border:1px solid #ddd}.api-browser--content{margin:2em 0}
+.snackbar.snackbar-opened{height:auto;opacity:1}@media (max-width: 767px){#snackbar-container{left:0px !important;right:0px;width:100%}#snackbar-container .snackbar{min-width:100%}#snackbar-container [class="snackbar snackbar-opened"] ~ .snackbar.toast{margin-top:20px}#snackbar-container [class="snackbar snackbar-opened"]{border-radius:0;margin-bottom:0}}.snackbar{background-color:rgba(255,255,255,0.95);color:#2b2f30;font-size:14px;border-radius:0px;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);height:0;-moz-transition:-moz-transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, padding 0 linear 0.2s, height 0 linear 0.2s;-webkit-transition:-webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, padding 0 linear 0.2s, height 0 linear 0.2s;transition:transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, padding 0 linear 0.2s, height 0 linear 0.2s;-moz-transform:translateY(200%);-webkit-transform:translateY(200%);transform:translateY(200%)}.snackbar.snackbar-opened{padding:14px 15px;margin:0 0 10px 0;height:auto;-moz-transition:-moz-transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s;-webkit-transition:-webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s;transition:transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, height 0 linear 0.2s;-moz-transform:none;-webkit-transform:none;transform:none}.songs-table tr.song{cursor:pointer;font-size:13px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.songs-table tr.song.ph td{height:40px}.songs-table tr.song td{vertical-align:middle;position:relative;border-bottom:1px solid rgba(139,139,139,0.05)}.songs-table tr.song td.song-title{width:60%}.songs-table tr.song td.song-artist{width:40%}.songs-table tr.song .crop{position:relative;white-space:nowrap;overflow:hidden;display:block;height:18px;white-space:normal}.songs-table tr.song .crop:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00E0DFDF', endColorstr='#FFE0DFDF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2UwZGZkZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMGRmZGYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(224,223,223,0)),color-stop(100%, #e0dfdf));background-image:-moz-linear-gradient(left, rgba(224,223,223,0) 0%,#e0dfdf 100%);background-image:-webkit-linear-gradient(left, rgba(224,223,223,0) 0%,#e0dfdf 100%);background-image:linear-gradient(to right, rgba(224,223,223,0) 0%,#e0dfdf 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.region-album-songs .songs-table tr.song .crop:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00F5F5F5', endColorstr='#FFF5F5F5');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y1ZjVmNSIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(245,245,245,0)),color-stop(100%, #f5f5f5));background-image:-moz-linear-gradient(left, rgba(245,245,245,0) 0%,#f5f5f5 100%);background-image:-webkit-linear-gradient(left, rgba(245,245,245,0) 0%,#f5f5f5 100%);background-image:linear-gradient(to right, rgba(245,245,245,0) 0%,#f5f5f5 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.songs-table tr.song a{color:rgba(43,47,48,0.7)}.songs-table tr.song a:hover{color:#2b2f30}.songs-table tr.song .play,.songs-table tr.song .play:before,.songs-table tr.song .cell-first{width:40px;height:40px}.songs-table tr.song .play{top:0;left:0;position:absolute;display:table-cell;vertical-align:middle;text-align:center;cursor:pointer;display:none;font-size:200%}.songs-table tr.song .play:before{content:"\e6b9";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.songs-table tr.song .play:before{display:table-cell;vertical-align:middle}.songs-table tr.song .play:hover{color:#2b2f30}.songs-table tr.song .thumb{width:39px;height:39px;background-position:50% 50%;background-color:transparent;display:block;background-size:cover;background-repeat:no-repeat}.songs-table tr.song .thumb{top:0px;bottom:1px;left:0;position:absolute;display:none}.songs-table tr.song .add{font-size:140%}.songs-table tr.song .add:before{content:"\e6fc";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.songs-table tr.song .thumbed-up,.songs-table tr.song .thumbs{font-size:140%}.songs-table tr.song .thumbed-up:before,.songs-table tr.song .thumbs:before{content:"\e684";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.disable-thumbs .songs-table tr.song .thumbed-up,.disable-thumbs .songs-table tr.song .thumbs{display:none}.songs-table tr.song .thumbed-up{top:0px;right:90px;position:absolute;margin-right:-2px;display:none;opacity:0.4}.songs-table tr.song .thumbed-up:before{display:table-cell;vertical-align:middle;width:40px;height:40px}.songs-table tr.song.thumbs-up .thumbed-up{display:table}.songs-table tr.song.thumbs-up .thumbs{color:#12b2e7}.songs-table tr.song .menu i{font-size:150%}.songs-table tr.song .menu i:before{content:"\e8a2";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.songs-table tr.song .menu .dropdown-menu{top:0}.songs-table tr.song .actions{top:0;right:0px;bottom:0;position:absolute;display:none;width:90px}.songs-table tr.song .actions>li{width:30px;text-align:center;float:left}.songs-table tr.song .actions>li i:before,.songs-table tr.song .actions>li:before{display:table-cell;vertical-align:middle;width:30px;height:40px;color:#999;cursor:pointer}.songs-table tr.song.menu-open .crop,.songs-table tr.song:hover .crop{white-space:normal}.songs-table tr.song.menu-open .duration,.songs-table tr.song.menu-open .track,.songs-table tr.song:hover .duration,.songs-table tr.song:hover .track{display:none}.songs-table tr.song.menu-open .play,.songs-table tr.song.menu-open .actions,.songs-table tr.song:hover .play,.songs-table tr.song:hover .actions{display:block}.songs-table tr.song.menu-open .thumbed-up,.songs-table tr.song:hover .thumbed-up{display:none}.songs-table tr.song .song-artist{display:none}@media (min-width: 57em){.songs-table tr.song .song-artist{display:table-cell}}.songs-table tr.song .song-album{display:none}.songs-table tr.song.selected{border-left:1px solid #12b2e7;background:#e2f6fd}.songs-table tr.song.selected .crop:after{display:none}.active-player-local .songs-table tr.song.selected{border-left:1px solid #db2464;background:#fbe9f0}.songs-table tr.song .cell-remove{display:none;padding-top:12px;padding-bottom:0}.songs-table tr.song.sortable-ghost{height:40px;background:#ddd}.songs-table tr.song.sortable-ghost td{opacity:0}.songs-table tr.song.sortable-ghost .play{display:none}.songs-table.verbose .track{margin-left:47px}.songs-table.verbose .play{background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;color:#fff}.songs-table.verbose tr.song .thumb{display:block}.songs-table.verbose tr.song td.song-album{width:30%}@media (min-width: 57em){.songs-table.verbose tr.song td.song-album{display:table-cell}}.songs-table.verbose tr.song td.song-title{width:80%}@media (min-width: 57em){.songs-table.verbose tr.song td.song-title{width:45%}}.songs-table.verbose tr.song td.song-artist{width:25%}.songs-table.verbose tr.song:hover .play{width:39px;height:39px}.songs-table.verbose tr.song:hover .play:hover{color:#fff}.songs-table.verbose tr.song:hover .track{display:block}.local-playlist .songs-table.verbose tr.song:hover .cell-remove{opacity:1;color:darkred}.local-playlist .songs-table.verbose tr.song:hover .cell-remove i:before{content:"\e898"}.songs-table.verbose tr.song.local-row-playing .track,.songs-table.verbose tr.song.local-row-paused .track,.songs-table.verbose tr.song.kodi-row-playing .track,.songs-table.verbose tr.song.kodi-row-paused .track{text-indent:0;background:none}.songs-table.verbose tr.song.local-row-playing .thumb,.songs-table.verbose tr.song.local-row-paused .thumb,.songs-table.verbose tr.song.kodi-row-playing .thumb,.songs-table.verbose tr.song.kodi-row-paused .thumb{background:url('../images/row-pause-blue.png?1423480412') 0 50% no-repeat !important;background-size:initial}.songs-table.verbose tr.song.local-row-playing .play,.songs-table.verbose tr.song.local-row-paused .play,.songs-table.verbose tr.song.kodi-row-playing .play,.songs-table.verbose tr.song.kodi-row-paused .play{display:none}.songs-table.verbose tr.song.kodi-row-playing .thumb{background-image:url('../images/row-playing-blue.gif?1423480525') !important}.songs-table.verbose tr.song.local-row-playing .thumb{background-image:url('../images/row-playing-pink.gif?1424158169') !important}.songs-table.verbose tr.song.local-row-paused .thumb{background-image:url('../images/row-pause-pink.png?1424158216') !important}.local-playlist .songs-table.verbose tr.song .cell-remove{display:block;opacity:0.3}.songs-table.basic .thumb{display:none}.songs-table tr.song.local-row-playing,.songs-table tr.song.local-row-paused,.songs-table tr.song.kodi-row-playing,.songs-table tr.song.kodi-row-paused{background:rgba(255,255,255,0.9) !important}.songs-table tr.song.local-row-playing:hover td .crop:after,.songs-table tr.song.local-row-playing td .crop:after,.songs-table tr.song.local-row-paused:hover td .crop:after,.songs-table tr.song.local-row-paused td .crop:after,.songs-table tr.song.kodi-row-playing:hover td .crop:after,.songs-table tr.song.kodi-row-playing td .crop:after,.songs-table tr.song.kodi-row-paused:hover td .crop:after,.songs-table tr.song.kodi-row-paused td .crop:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.songs-table tr.song.local-row-playing .track,.songs-table tr.song.local-row-paused .track,.songs-table tr.song.kodi-row-playing .track,.songs-table tr.song.kodi-row-paused .track{background:url('../images/row-pause-blue.png?1423480412') 50% 50% no-repeat;text-indent:-99999px}.songs-table tr.song.local-row-paused .track{background:url('../images/row-pause-pink.png?1424158216') 50% 50% no-repeat}.songs-table tr.song.local-row-playing .track,.songs-table tr.song.kodi-row-playing .track{background-image:url('../images/row-playing-blue.gif?1423480525')}.songs-table tr.song.local-row-playing .track{background-image:url('../images/row-playing-pink.gif?1424158169')}.box-loading{max-width:50em;margin-left:auto;margin-right:auto;width:95%;background:#fafafa url('../images/loading-box-bg.jpg?1390099084') 0 bottom repeat-x;-webkit-animation:wave 16s infinite linear;-o-animation:wave 16s infinite linear;animation:wave 16s infinite linear;margin-top:1em;padding:1em;text-align:center;font-size:28px}.box-loading:after{content:" ";display:block;clear:both}.table-row .cell-first{width:40px;min-width:40px;text-align:center;color:rgba(43,47,48,0.5);font-size:95%}.table-row .cell-last{width:80px;min-width:80px;text-align:right;color:rgba(43,47,48,0.5);font-size:95%}.content-tabs li{display:inline-block;padding:1em 2em}.content-tabs li.active{background:rgba(43,47,48,0.05)}.content-tabs li a{color:rgba(102,102,102,0.7)}.content-tabs li a.active{color:#2b2f30}.tab-content{background:rgba(43,47,48,0.05);padding:2em;margin-right:20%;color:#888}.tvshow-show .card-season .thumbs{display:none !important}.streams-short{text-align:center}.streams-short li{display:inline-block;font-size:170%;color:rgba(43,47,48,0.4);padding:0 0.5em}.trailer{position:relative;cursor:pointer}@media (min-width: 45em){.trailer{max-width:238px;float:left;margin-right:2em}}.trailer:hover:after{content:"Watch trailer";background:rgba(0,0,0,0.55);top:0;right:0;bottom:0;left:0;position:absolute;top:0;right:0;bottom:0;left:0;position:absolute;color:#fff;text-align:center;padding-top:30%;font-size:150%}.cast-full{height:141px;white-space:nowrap;overflow-y:auto}.cast-full>li{width:80px;display:inline-block;margin:0 0.6em 0 0;position:relative}.cast-full>li a{color:#2b2f30}.cast-full>li img{-webkit-filter:grayscale(100%);filter:grayscale(100%);opacity:0.8}.cast-full>li .thumb{background:#cbcbcb;overflow:hidden;letter-spacing:-0.31em;width:80px;height:105px}.cast-full>li .thumb img{display:block;vertical-align:middle;width:80px;margin-top:0}.cast-full>li .thumb .thumb{width:80px;height:105px;background-position:50% 0;background-color:#cbcbcb;display:block;background-size:cover;background-repeat:no-repeat}.cast-full>li strong{font-weight:normal}.cast-full>li span{font-size:85%;color:#666}.cast-full>li span,.cast-full>li strong{position:relative;white-space:nowrap;overflow:hidden;display:block}.cast-full>li span:after,.cast-full>li strong:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.cast-full>li .meta{position:absolute;bottom:0;z-index:20;background:#fff;padding:4px;right:0;left:0;display:none}.cast-full>li:hover img{-webkit-filter:grayscale(0%);filter:grayscale(0%);opacity:1}.cast-full>li:hover .actions{display:block}.cast-full>li .actions{bottom:4px;left:4px;position:absolute;display:none}.cast-full>li .actions li{border-radius:3px;float:left;width:15px;height:15px;cursor:pointer;font-size:1.25em;margin-right:5px;opacity:0.7}.cast-full>li .actions li:hover{opacity:1}.cast-full>li .actions li:before{display:block !important}.cast-full>li .actions li.google{color:#4285f4;font-size:1.15em;background:#fff}.cast-full>li .actions li.google:before{content:"\e900";display:inline-block;font-family:"icomoon";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.cast-full>li .actions li.imdb{color:#e3b922;background:#000}.cast-full>li .actions li.imdb:before{content:"\e901";display:inline-block;font-family:"icomoon";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.imdblink{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,0.1);padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.imdblink .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.imdblink .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#1AFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.imdblink:hover{color:#fff}.imdblink:before{content:"\e63f";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.imdblink:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.imdblink:hover:before{color:#fff}.btn-flat-play{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#12b2e7;padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.btn-flat-play .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.btn-flat-play .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#0012B2E7', endColorstr='#FF12B2E7');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzEyYjJlNyIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxMmIyZTciLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(18,178,231,0)),color-stop(100%, #12b2e7));background-image:-moz-linear-gradient(left, rgba(18,178,231,0) 0%,#12b2e7 100%);background-image:-webkit-linear-gradient(left, rgba(18,178,231,0) 0%,#12b2e7 100%);background-image:linear-gradient(to right, rgba(18,178,231,0) 0%,#12b2e7 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.btn-flat-play:hover{color:#fff}.btn-flat-play:before{content:"\e6ba";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.btn-flat-play:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.btn-flat-play:hover:before{color:#fff}.btn-flat-add{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,0.1);padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.btn-flat-add .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.btn-flat-add .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#1AFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.btn-flat-add:hover{color:#fff}.btn-flat-add:before{content:"\e6fd";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.btn-flat-add:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.btn-flat-add:hover:before{color:#fff}.btn-flat-stream{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,0.1);padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.btn-flat-stream .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.btn-flat-stream .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#1AFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.btn-flat-stream:hover{color:#fff}.btn-flat-stream:before{content:"\e7aa";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.btn-flat-stream:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.btn-flat-stream:hover:before{color:#fff}.btn-flat-download{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,0.1);padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.btn-flat-download .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.btn-flat-download .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#1AFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.btn-flat-download:hover{color:#fff}.btn-flat-download:before{content:"\e6ff";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.btn-flat-download:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.btn-flat-download:hover:before{color:#fff}.btn-flat-more{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,0.1);padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.btn-flat-more .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.btn-flat-more .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#1AFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.btn-flat-more:hover{color:#fff}.btn-flat-more:before{content:"\e8a3";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.btn-flat-more:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.btn-flat-more:hover:before{color:#fff}.btn-flat-watched{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,0.1);padding:0.5em 1em;position:relative;cursor:pointer;margin:0 0.5em 0.5em 0;color:#fff;text-transform:capitalize;padding-right:2.5em}.btn-flat-watched .text{position:relative;white-space:nowrap;overflow:hidden;display:block}.btn-flat-watched .text:after{content:"";*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#00FFFFFF', endColorstr='#1AFFFFFF');background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(255,255,255,0)),color-stop(100%, #ffffff));background-image:-moz-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%,#ffffff 100%);background-image:linear-gradient(to right, rgba(255,255,255,0) 0%,#ffffff 100%);top:0;right:0;bottom:0;position:absolute;width:1.5em}.btn-flat-watched:hover{color:#fff}.btn-flat-watched:before{content:"\e8e1";display:inline-block;font-family:"Material-Design-Icons";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none;font-variant:normal;text-transform:none}.btn-flat-watched:before{top:9px;right:0.5em;position:absolute;color:rgba(255,255,255,0.5);font-size:110%}.btn-flat-watched:hover:before{color:#fff}.btn-flat-watched .action-watched{display:inline}.btn-flat-watched .action-unwatched{display:none}.is-watched .btn-flat-watched .action-watched{display:none}.is-watched .btn-flat-watched .action-unwatched{display:inline}.entity-progress{top:-2px;right:0;left:0;position:absolute;z-index:10}.entity-progress .current-progress{-webkit-transition:width 0.3s linear;-o-transition:width 0.3s linear;transition:width 0.3s linear;height:3px;background:#12b2e7}.season-show .card .show-name,.season-show .card .ep-num{display:none}.landing-page .card .ep-num-full{display:none}.lab--items h3{margin-bottom:2em;font-size:1.3em;margin-top:0}.lab-item{padding:1em;background:rgba(0,0,0,0.05);display:block;margin-bottom:0.5em}.lab-item p{color:#2b2f30}.lab-item:hover{background:rgba(0,0,0,0.1)}.api-browser--methods{padding:1em}.api-browser--method{padding:0.5em 0 0}.api-browser--method h4{font-size:1.05em;margin:0 0 0.25em 0}.api-browser--method p{font-size:90%;opacity:0.5;height:0;overflow:hidden;margin:0 0 0.25em}.api-browser--method .api-method--item{border-bottom:1px solid #ddd;cursor:pointer}.api-browser--method:hover h4{color:#12b2e7;font-weight:700}.api-browser--method:hover p{height:100%}.api-browser--page{padding:0 0.5em;margin-bottom:2em}.api-browser--page .description{font-size:90%;opacity:0.6}.api-method--execute{max-width:58em}.api-method--execute textarea{display:block;width:100%;margin:0.5em 0;padding:0.5em;height:200px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;border:1px solid #ddd}.api-browser--content{margin:2em 0}.json-syntax-highlight{background:rgba(245,245,245,0.74)}.json-syntax-highlight .string{color:green}.json-syntax-highlight .number{color:darkorange}.json-syntax-highlight .boolean{color:blue}.json-syntax-highlight .null{color:#bd09bd}.json-syntax-highlight .key{color:#bb1313}.icon-browser{max-width:none;background:rgba(255,255,255,0.5)}.icon-browser h3{padding-bottom:0.5em;border-bottom:1px solid #ddd;margin-bottom:0.5em}.icon-browser i{font-size:3.1em;margin-right:0.25em;float:left}.icon-browser li{border-radius:5px;width:210px;padding:0.5em;margin:0.5em;overflow:hidden;float:left;height:65px;position:relative}.icon-browser li span{display:block;font-size:85%}.icon-browser li small{right:0;bottom:0;left:0;position:absolute;padding:4px;background:rgba(153,153,153,0.5);text-align:center;display:none}.icon-browser li:hover{background:#fff}.icon-browser li:hover small{display:block}
diff --git a/addons/webinterface.default/themes/base/fonts/icomoon/Read Me.txt b/addons/webinterface.default/themes/base/fonts/icomoon/Read Me.txt
index cd97d24a0b..8491652f88 100644
--- a/addons/webinterface.default/themes/base/fonts/icomoon/Read Me.txt
+++ b/addons/webinterface.default/themes/base/fonts/icomoon/Read Me.txt
@@ -1,5 +1,7 @@
Open *demo.html* to see a list of all the glyphs in your font along with their codes/ligatures.
+To use the generated font in desktop programs, you can install the TTF font. In order to copy the character associated with each icon, refer to the text box at the bottom right corner of each glyph in demo.html. The character inside this text box may be invisible; but it can still be copied. See this guide for more info: https://icomoon.io/#docs/local-fonts
+
You won't need any of the files located under the *demo-files* directory when including the generated font in your own projects.
-You can import *selection.json* back to the IcoMoon app using the *Import Icons* button (or via Main Menu > Manage Projects) to retrieve your icon selection.
+You can import *selection.json* back to the IcoMoon app using the *Import Icons* button (or via Main Menu → Manage Projects) to retrieve your icon selection.
diff --git a/addons/webinterface.default/themes/base/fonts/icomoon/demo-files/demo.css b/addons/webinterface.default/themes/base/fonts/icomoon/demo-files/demo.css
index 203915b5dd..309adc2521 100644
--- a/addons/webinterface.default/themes/base/fonts/icomoon/demo-files/demo.css
+++ b/addons/webinterface.default/themes/base/fonts/icomoon/demo-files/demo.css
@@ -1,156 +1,161 @@
body {
- padding: 0;
- margin: 0;
- font-family: sans-serif;
- font-size: 1em;
- line-height: 1.5;
- color: #555;
- background: #fff;
+ padding: 0;
+ margin: 0;
+ font-family: sans-serif;
+ font-size: 1em;
+ line-height: 1.5;
+ color: #555;
+ background: #fff;
}
h1 {
- font-size: 1.5em;
- font-weight: normal;
+ font-size: 1.5em;
+ font-weight: normal;
}
small {
- font-size: .66666667em;
+ font-size: .66666667em;
}
a {
- color: #e74c3c;
- text-decoration: none;
+ color: #e74c3c;
+ text-decoration: none;
}
a:hover, a:focus {
- box-shadow: 0 1px #e74c3c;
+ box-shadow: 0 1px #e74c3c;
}
.bshadow0, input {
- box-shadow: inset 0 -2px #e7e7e7;
+ box-shadow: inset 0 -2px #e7e7e7;
}
input:hover {
- box-shadow: inset 0 -2px #ccc;
+ box-shadow: inset 0 -2px #ccc;
}
input, fieldset {
- font-size: 1em;
- margin: 0;
- padding: 0;
- border: 0;
+ font-family: sans-serif;
+ font-size: 1em;
+ margin: 0;
+ padding: 0;
+ border: 0;
}
input {
- color: inherit;
- line-height: 1.5;
- height: 1.5em;
- padding: .25em 0;
+ color: inherit;
+ line-height: 1.5;
+ height: 1.5em;
+ padding: .25em 0;
}
input:focus {
- outline: none;
- box-shadow: inset 0 -2px #449fdb;
+ outline: none;
+ box-shadow: inset 0 -2px #449fdb;
}
.glyph {
- font-size: 16px;
- width: 15em;
- padding-bottom: 1em;
- margin-right: 4em;
- margin-bottom: 1em;
- float: left;
- overflow: hidden;
+ font-size: 16px;
+ width: 15em;
+ padding-bottom: 1em;
+ margin-right: 4em;
+ margin-bottom: 1em;
+ float: left;
+ overflow: hidden;
}
.liga {
- width: 80%;
- width: calc(100% - 2.5em);
+ width: 80%;
+ width: calc(100% - 2.5em);
}
.talign-right {
- text-align: right;
+ text-align: right;
}
.talign-center {
- text-align: center;
+ text-align: center;
}
.bgc1 {
- background: #f1f1f1;
+ background: #f1f1f1;
}
.fgc1 {
- color: #999;
+ color: #999;
}
.fgc0 {
- color: #000;
+ color: #000;
}
p {
- margin-top: 1em;
- margin-bottom: 1em;
+ margin-top: 1em;
+ margin-bottom: 1em;
}
.mvm {
- margin-top: .75em;
- margin-bottom: .75em;
+ margin-top: .75em;
+ margin-bottom: .75em;
}
.mtn {
- margin-top: 0;
+ margin-top: 0;
}
.mtl, .mal {
- margin-top: 1.5em;
+ margin-top: 1.5em;
}
.mbl, .mal {
- margin-bottom: 1.5em;
+ margin-bottom: 1.5em;
}
.mal, .mhl {
- margin-left: 1.5em;
- margin-right: 1.5em;
+ margin-left: 1.5em;
+ margin-right: 1.5em;
}
.mhmm {
- margin-left: 1em;
- margin-right: 1em;
+ margin-left: 1em;
+ margin-right: 1em;
}
.mls {
- margin-left: .25em;
+ margin-left: .25em;
}
.ptl {
- padding-top: 1.5em;
+ padding-top: 1.5em;
}
.pbs, .pvs {
- padding-bottom: .25em;
+ padding-bottom: .25em;
}
.pvs, .pts {
- padding-top: .25em;
+ padding-top: .25em;
}
.unit {
- float: left;
+ float: left;
}
.unitRight {
- float: right;
+ float: right;
}
.size1of2 {
- width: 50%;
+ width: 50%;
}
.size1of1 {
- width: 100%;
+ width: 100%;
}
.clearfix:before, .clearfix:after {
- content: " ";
- display: table;
+ content: " ";
+ display: table;
}
.clearfix:after {
- clear: both;
+ clear: both;
}
.hidden-true {
- display: none;
+ display: none;
}
.textbox0 {
- width: 3em;
- background: #f1f1f1;
- padding: .25em .5em;
- line-height: 1.5;
- height: 1.5em;
+ width: 3em;
+ background: #f1f1f1;
+ padding: .25em .5em;
+ line-height: 1.5;
+ height: 1.5em;
}
#testDrive {
- display: block;
- padding-top: 24px;
- line-height: 1.5;
+ display: block;
+ padding-top: 24px;
+ line-height: 1.5;
}
.fs0 {
- font-size: 16px;
+ font-size: 16px;
}
.fs1 {
- font-size: 32px;
+ font-size: 32px;
}
.fs2 {
- font-size: 32px;
+ font-size: 28px;
}
.fs3 {
- font-size: 20px;
+ font-size: 32px;
}
+.fs4 {
+ font-size: 20px;
+}
+
diff --git a/addons/webinterface.default/themes/base/fonts/icomoon/demo-files/demo.js b/addons/webinterface.default/themes/base/fonts/icomoon/demo-files/demo.js
index e72f449b71..6f45f1c409 100644
--- a/addons/webinterface.default/themes/base/fonts/icomoon/demo-files/demo.js
+++ b/addons/webinterface.default/themes/base/fonts/icomoon/demo-files/demo.js
@@ -1,30 +1,30 @@
if (!('boxShadow' in document.body.style)) {
- document.body.setAttribute('class', 'noBoxShadow');
+ document.body.setAttribute('class', 'noBoxShadow');
}
document.body.addEventListener("click", function(e) {
- var target = e.target;
- if (target.tagName === "INPUT" &&
- target.getAttribute('class').indexOf('liga') === -1) {
- target.select();
- }
+ var target = e.target;
+ if (target.tagName === "INPUT" &&
+ target.getAttribute('class').indexOf('liga') === -1) {
+ target.select();
+ }
});
(function() {
- var fontSize = document.getElementById('fontSize'),
- testDrive = document.getElementById('testDrive'),
- testText = document.getElementById('testText');
- function updateTest() {
- testDrive.innerHTML = testText.value || String.fromCharCode(160);
- if (window.icomoonLiga) {
- window.icomoonLiga(testDrive);
- }
- }
- function updateSize() {
- testDrive.style.fontSize = fontSize.value + 'px';
- }
- fontSize.addEventListener('change', updateSize, false);
- testText.addEventListener('input', updateTest, false);
- testText.addEventListener('change', updateTest, false);
- updateSize();
+ var fontSize = document.getElementById('fontSize'),
+ testDrive = document.getElementById('testDrive'),
+ testText = document.getElementById('testText');
+ function updateTest() {
+ testDrive.innerHTML = testText.value || String.fromCharCode(160);
+ if (window.icomoonLiga) {
+ window.icomoonLiga(testDrive);
+ }
+ }
+ function updateSize() {
+ testDrive.style.fontSize = fontSize.value + 'px';
+ }
+ fontSize.addEventListener('change', updateSize, false);
+ testText.addEventListener('input', updateTest, false);
+ testText.addEventListener('change', updateTest, false);
+ updateSize();
}());
diff --git a/addons/webinterface.default/themes/base/fonts/icomoon/demo.html b/addons/webinterface.default/themes/base/fonts/icomoon/demo.html
index d293ac9ada..258ac24a02 100644
--- a/addons/webinterface.default/themes/base/fonts/icomoon/demo.html
+++ b/addons/webinterface.default/themes/base/fonts/icomoon/demo.html
@@ -1,1405 +1,1439 @@
<!doctype html>
<html>
<head>
- <meta charset="utf-8">
- <title>IcoMoon Demo</title>
- <meta name="description" content="An Icon Font Generated By IcoMoon.io">
- <meta name="viewport" content="width=device-width">
- <link rel="stylesheet" href="demo-files/demo.css">
- <link rel="stylesheet" href="style.css"></head>
+ <meta charset="utf-8">
+ <title>IcoMoon Demo</title>
+ <meta name="description" content="An Icon Font Generated By IcoMoon.io">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="stylesheet" href="demo-files/demo.css">
+ <link rel="stylesheet" href="style.css"></head>
<body>
- <div class="bgc1 clearfix">
- <h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> icomoon <small class="fgc1">(Glyphs:&nbsp;85)</small></h1>
- </div>
- <div class="clearfix mhl ptl">
- <h1 class="mvm mtn fgc1">Grid Size: Unknown</h1>
- <div class="glyph fs1">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-flatscreen">
-
- </span>
- <span class="mls"> icon-flatscreen</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e600" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe600;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-clapperboard">
-
- </span>
- <span class="mls"> icon-clapperboard</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e601" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe601;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-kodi-symbol">
-
- </span>
- <span class="mls"> icon-kodi-symbol</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e602" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe602;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-kodi-text">
-
- </span>
- <span class="mls"> icon-kodi-text</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e603" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe603;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-linux">
-
- </span>
- <span class="mls"> icon-linux</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e604" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe604;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-music">
-
- </span>
- <span class="mls"> icon-music</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e605" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe605;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-pi">
-
- </span>
- <span class="mls"> icon-pi</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e606" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe606;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- </div>
- <div class="clearfix mhl ptl">
- <h1 class="mvm mtn fgc1">Grid Size: 16</h1>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-home">
-
- </span>
- <span class="mls"> icon-home</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e607" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe607;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-pencil">
-
- </span>
- <span class="mls"> icon-pencil</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e608" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe608;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-image">
-
- </span>
- <span class="mls"> icon-image</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e609" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe609;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-music2">
-
- </span>
- <span class="mls"> icon-music2</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e60a" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe60a;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-headphones">
-
- </span>
- <span class="mls"> icon-headphones</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e60b" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe60b;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-play">
-
- </span>
- <span class="mls"> icon-play</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e60c" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe60c;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-film">
-
- </span>
- <span class="mls"> icon-film</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e60d" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe60d;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-camera">
-
- </span>
- <span class="mls"> icon-camera</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e60e" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe60e;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-pacman">
-
- </span>
- <span class="mls"> icon-pacman</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e60f" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe60f;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-tag">
-
- </span>
- <span class="mls"> icon-tag</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e610" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe610;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-tags">
-
- </span>
- <span class="mls"> icon-tags</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e611" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe611;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-location">
-
- </span>
- <span class="mls"> icon-location</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e612" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe612;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-screen">
-
- </span>
- <span class="mls"> icon-screen</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e613" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe613;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-mobile">
-
- </span>
- <span class="mls"> icon-mobile</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e614" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe614;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-tv">
-
- </span>
- <span class="mls"> icon-tv</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e615" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe615;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-bubble">
-
- </span>
- <span class="mls"> icon-bubble</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e616" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe616;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-bubbles">
-
- </span>
- <span class="mls"> icon-bubbles</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e617" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe617;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-user">
-
- </span>
- <span class="mls"> icon-user</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e618" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe618;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-spinner">
-
- </span>
- <span class="mls"> icon-spinner</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e619" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe619;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-search">
-
- </span>
- <span class="mls"> icon-search</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e61a" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe61a;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-key">
-
- </span>
- <span class="mls"> icon-key</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e61b" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe61b;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-settings">
-
- </span>
- <span class="mls"> icon-settings</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e61c" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe61c;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-cog">
-
- </span>
- <span class="mls"> icon-cog</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e61d" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe61d;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-stats">
-
- </span>
- <span class="mls"> icon-stats</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e61e" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe61e;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-switch">
-
- </span>
- <span class="mls"> icon-switch</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e61f" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe61f;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-tree">
-
- </span>
- <span class="mls"> icon-tree</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e620" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe620;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-cloud">
-
- </span>
- <span class="mls"> icon-cloud</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e621" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe621;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-earth">
-
- </span>
- <span class="mls"> icon-earth</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e622" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe622;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-link">
-
- </span>
- <span class="mls"> icon-link</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e623" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe623;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-attachment">
-
- </span>
- <span class="mls"> icon-attachment</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e624" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe624;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-star">
-
- </span>
- <span class="mls"> icon-star</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e625" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe625;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-star2">
-
- </span>
- <span class="mls"> icon-star2</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e626" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe626;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-heart">
-
- </span>
- <span class="mls"> icon-heart</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e627" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe627;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-heart2">
-
- </span>
- <span class="mls"> icon-heart2</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e628" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe628;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-smiley">
-
- </span>
- <span class="mls"> icon-smiley</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e629" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe629;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-smiley2">
-
- </span>
- <span class="mls"> icon-smiley2</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e62a" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe62a;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-info">
-
- </span>
- <span class="mls"> icon-info</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e62b" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe62b;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-checkmark">
-
- </span>
- <span class="mls"> icon-checkmark</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e62c" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe62c;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-arrow-right">
-
- </span>
- <span class="mls"> icon-arrow-right</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e62d" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe62d;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-arrow-left">
-
- </span>
- <span class="mls"> icon-arrow-left</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e62e" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe62e;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-arrow-right2">
-
- </span>
- <span class="mls"> icon-arrow-right2</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e62f" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe62f;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-arrow-left2">
-
- </span>
- <span class="mls"> icon-arrow-left2</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e630" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe630;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-share">
-
- </span>
- <span class="mls"> icon-share</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e631" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe631;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-googleplus">
-
- </span>
- <span class="mls"> icon-googleplus</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e632" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe632;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-facebook">
-
- </span>
- <span class="mls"> icon-facebook</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e633" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe633;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-twitter">
-
- </span>
- <span class="mls"> icon-twitter</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e634" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe634;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-feed">
-
- </span>
- <span class="mls"> icon-feed</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e635" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe635;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-feed2">
-
- </span>
- <span class="mls"> icon-feed2</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e636" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe636;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-youtube">
-
- </span>
- <span class="mls"> icon-youtube</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e637" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe637;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-picassa">
-
- </span>
- <span class="mls"> icon-picassa</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e638" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe638;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-github">
-
- </span>
- <span class="mls"> icon-github</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e639" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe639;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-github2">
-
- </span>
- <span class="mls"> icon-github2</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e63a" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe63a;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-github3">
-
- </span>
- <span class="mls"> icon-github3</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e63b" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe63b;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-tux">
-
- </span>
- <span class="mls"> icon-tux</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e63c" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe63c;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-apple">
-
- </span>
- <span class="mls"> icon-apple</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e63d" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe63d;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-android">
-
- </span>
- <span class="mls"> icon-android</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e63e" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe63e;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-windows8">
-
- </span>
- <span class="mls"> icon-windows8</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e63f" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe63f;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-paypal">
-
- </span>
- <span class="mls"> icon-paypal</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e640" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe640;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-file-zip">
-
- </span>
- <span class="mls"> icon-file-zip</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e641" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe641;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs2">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-file-css">
-
- </span>
- <span class="mls"> icon-file-css</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e642" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe642;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- </div>
- <div class="clearfix mhl ptl">
- <h1 class="mvm mtn fgc1">Grid Size: 20</h1>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-network">
-
- </span>
- <span class="mls"> icon-network</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e643" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe643;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-rss">
-
- </span>
- <span class="mls"> icon-rss</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e644" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe644;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-statistics">
-
- </span>
- <span class="mls"> icon-statistics</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e645" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe645;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-pie">
-
- </span>
- <span class="mls"> icon-pie</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e646" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe646;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-minus">
-
- </span>
- <span class="mls"> icon-minus</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e647" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe647;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-plus">
-
- </span>
- <span class="mls"> icon-plus</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e648" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe648;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-info2">
-
- </span>
- <span class="mls"> icon-info2</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e649" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe649;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-question">
-
- </span>
- <span class="mls"> icon-question</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e64a" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe64a;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-help">
-
- </span>
- <span class="mls"> icon-help</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e64b" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe64b;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-warning">
-
- </span>
- <span class="mls"> icon-warning</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e64c" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe64c;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-list">
-
- </span>
- <span class="mls"> icon-list</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e64d" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe64d;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-flow-tree">
-
- </span>
- <span class="mls"> icon-flow-tree</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e64e" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe64e;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-arrow-left3">
-
- </span>
- <span class="mls"> icon-arrow-left3</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e64f" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe64f;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-arrow-right3">
-
- </span>
- <span class="mls"> icon-arrow-right3</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e650" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe650;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-arrow-left4">
-
- </span>
- <span class="mls"> icon-arrow-left4</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e651" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe651;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-arrow-right4">
-
- </span>
- <span class="mls"> icon-arrow-right4</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e652" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe652;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-arrow-left5">
-
- </span>
- <span class="mls"> icon-arrow-left5</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e653" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe653;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- <div class="glyph fs3">
- <div class="clearfix bshadow0 pbs">
- <span class="icon-uniE654">
-
- </span>
- <span class="mls"> icon-uniE654</span>
- </div>
- <fieldset class="fs0 size1of1 clearfix hidden-false">
- <input type="text" readonly value="e654" class="unit size1of2" />
- <input type="text" maxlength="1" readonly value="&#xe654;" class="unitRight size1of2 talign-right" />
- </fieldset>
- <div class="fs0 bshadow0 clearfix hidden-true">
- <span class="unit pvs fgc1">liga: </span>
- <input type="text" readonly value="" class="liga unitRight" />
- </div>
- </div>
- </div>
+ <div class="bgc1 clearfix">
+ <h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> icomoon <small class="fgc1">(Glyphs:&nbsp;87)</small></h1>
+ </div>
+ <div class="clearfix mhl ptl">
+ <h1 class="mvm mtn fgc1">Grid Size: 16</h1>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-google">
+
+ </span>
+ <span class="mls"> icon-google</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e900" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe900;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-home">
+
+ </span>
+ <span class="mls"> icon-home</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e607" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe607;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-pencil">
+
+ </span>
+ <span class="mls"> icon-pencil</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e608" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe608;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-image">
+
+ </span>
+ <span class="mls"> icon-image</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e609" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe609;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-music2">
+
+ </span>
+ <span class="mls"> icon-music2</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e60a" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe60a;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-headphones">
+
+ </span>
+ <span class="mls"> icon-headphones</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e60b" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe60b;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-play">
+
+ </span>
+ <span class="mls"> icon-play</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e60c" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe60c;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-film">
+
+ </span>
+ <span class="mls"> icon-film</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e60d" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe60d;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-camera">
+
+ </span>
+ <span class="mls"> icon-camera</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e60e" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe60e;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-pacman">
+
+ </span>
+ <span class="mls"> icon-pacman</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e60f" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe60f;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-tag">
+
+ </span>
+ <span class="mls"> icon-tag</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e610" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe610;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-tags">
+
+ </span>
+ <span class="mls"> icon-tags</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e611" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe611;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-location">
+
+ </span>
+ <span class="mls"> icon-location</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e612" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe612;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-screen">
+
+ </span>
+ <span class="mls"> icon-screen</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e613" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe613;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-mobile">
+
+ </span>
+ <span class="mls"> icon-mobile</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e614" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe614;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-tv">
+
+ </span>
+ <span class="mls"> icon-tv</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e615" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe615;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-bubble">
+
+ </span>
+ <span class="mls"> icon-bubble</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e616" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe616;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-bubbles">
+
+ </span>
+ <span class="mls"> icon-bubbles</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e617" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe617;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-user">
+
+ </span>
+ <span class="mls"> icon-user</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e618" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe618;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-spinner">
+
+ </span>
+ <span class="mls"> icon-spinner</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e619" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe619;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-search">
+
+ </span>
+ <span class="mls"> icon-search</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e61a" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe61a;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-key">
+
+ </span>
+ <span class="mls"> icon-key</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e61b" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe61b;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-settings">
+
+ </span>
+ <span class="mls"> icon-settings</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e61c" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe61c;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-cog">
+
+ </span>
+ <span class="mls"> icon-cog</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e61d" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe61d;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-stats">
+
+ </span>
+ <span class="mls"> icon-stats</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e61e" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe61e;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-switch">
+
+ </span>
+ <span class="mls"> icon-switch</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e61f" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe61f;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-tree">
+
+ </span>
+ <span class="mls"> icon-tree</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e620" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe620;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-cloud">
+
+ </span>
+ <span class="mls"> icon-cloud</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e621" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe621;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-earth">
+
+ </span>
+ <span class="mls"> icon-earth</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e622" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe622;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-link">
+
+ </span>
+ <span class="mls"> icon-link</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e623" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe623;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-attachment">
+
+ </span>
+ <span class="mls"> icon-attachment</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e624" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe624;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-star">
+
+ </span>
+ <span class="mls"> icon-star</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e625" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe625;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-star2">
+
+ </span>
+ <span class="mls"> icon-star2</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e626" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe626;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-heart">
+
+ </span>
+ <span class="mls"> icon-heart</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e627" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe627;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-heart2">
+
+ </span>
+ <span class="mls"> icon-heart2</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e628" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe628;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-smiley">
+
+ </span>
+ <span class="mls"> icon-smiley</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e629" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe629;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-smiley2">
+
+ </span>
+ <span class="mls"> icon-smiley2</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e62a" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe62a;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-info">
+
+ </span>
+ <span class="mls"> icon-info</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e62b" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe62b;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-checkmark">
+
+ </span>
+ <span class="mls"> icon-checkmark</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e62c" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe62c;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-arrow-right">
+
+ </span>
+ <span class="mls"> icon-arrow-right</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e62d" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe62d;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-arrow-left">
+
+ </span>
+ <span class="mls"> icon-arrow-left</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e62e" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe62e;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-arrow-right2">
+
+ </span>
+ <span class="mls"> icon-arrow-right2</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e62f" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe62f;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-arrow-left2">
+
+ </span>
+ <span class="mls"> icon-arrow-left2</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e630" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe630;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-share">
+
+ </span>
+ <span class="mls"> icon-share</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e631" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe631;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-googleplus">
+
+ </span>
+ <span class="mls"> icon-googleplus</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e632" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe632;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-facebook">
+
+ </span>
+ <span class="mls"> icon-facebook</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e633" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe633;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-twitter">
+
+ </span>
+ <span class="mls"> icon-twitter</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e634" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe634;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-feed">
+
+ </span>
+ <span class="mls"> icon-feed</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e635" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe635;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-feed2">
+
+ </span>
+ <span class="mls"> icon-feed2</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e636" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe636;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-youtube">
+
+ </span>
+ <span class="mls"> icon-youtube</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e637" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe637;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-picasa">
+
+ </span>
+ <span class="mls"> icon-picasa</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e638" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe638;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-github">
+
+ </span>
+ <span class="mls"> icon-github</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e639" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe639;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-github2">
+
+ </span>
+ <span class="mls"> icon-github2</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e63a" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe63a;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-github3">
+
+ </span>
+ <span class="mls"> icon-github3</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e63b" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe63b;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-tux">
+
+ </span>
+ <span class="mls"> icon-tux</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e63c" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe63c;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-apple">
+
+ </span>
+ <span class="mls"> icon-apple</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e63d" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe63d;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-android">
+
+ </span>
+ <span class="mls"> icon-android</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e63e" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe63e;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-windows8">
+
+ </span>
+ <span class="mls"> icon-windows8</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e63f" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe63f;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-paypal">
+
+ </span>
+ <span class="mls"> icon-paypal</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e640" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe640;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-file-zip">
+
+ </span>
+ <span class="mls"> icon-file-zip</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e641" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe641;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-file-css">
+
+ </span>
+ <span class="mls"> icon-file-css</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e642" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe642;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ </div>
+ <div class="clearfix mhl ptl">
+ <h1 class="mvm mtn fgc1">Grid Size: 14</h1>
+ <div class="glyph fs2">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-imdb">
+
+ </span>
+ <span class="mls"> icon-imdb</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e901" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe901;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ </div>
+ <div class="clearfix mhl ptl">
+ <h1 class="mvm mtn fgc1">Grid Size: Unknown</h1>
+ <div class="glyph fs3">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-flatscreen">
+
+ </span>
+ <span class="mls"> icon-flatscreen</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e600" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe600;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs3">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-clapperboard">
+
+ </span>
+ <span class="mls"> icon-clapperboard</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e601" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe601;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs3">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-kodi-symbol">
+
+ </span>
+ <span class="mls"> icon-kodi-symbol</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e602" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe602;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs3">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-kodi-text">
+
+ </span>
+ <span class="mls"> icon-kodi-text</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e603" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe603;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs3">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-linux">
+
+ </span>
+ <span class="mls"> icon-linux</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e604" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe604;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs3">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-music">
+
+ </span>
+ <span class="mls"> icon-music</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e605" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe605;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs3">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-pi">
+
+ </span>
+ <span class="mls"> icon-pi</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e606" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe606;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ </div>
+ <div class="clearfix mhl ptl">
+ <h1 class="mvm mtn fgc1">Grid Size: 20</h1>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-network">
+
+ </span>
+ <span class="mls"> icon-network</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e643" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe643;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-rss">
+
+ </span>
+ <span class="mls"> icon-rss</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e644" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe644;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-statistics">
+
+ </span>
+ <span class="mls"> icon-statistics</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e645" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe645;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-pie">
+
+ </span>
+ <span class="mls"> icon-pie</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e646" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe646;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-minus">
+
+ </span>
+ <span class="mls"> icon-minus</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e647" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe647;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-plus">
+
+ </span>
+ <span class="mls"> icon-plus</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e648" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe648;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-info2">
+
+ </span>
+ <span class="mls"> icon-info2</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e649" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe649;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-question">
+
+ </span>
+ <span class="mls"> icon-question</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e64a" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe64a;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-help">
+
+ </span>
+ <span class="mls"> icon-help</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e64b" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe64b;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-warning">
+
+ </span>
+ <span class="mls"> icon-warning</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e64c" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe64c;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-list">
+
+ </span>
+ <span class="mls"> icon-list</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e64d" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe64d;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-flow-tree">
+
+ </span>
+ <span class="mls"> icon-flow-tree</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e64e" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe64e;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-arrow-left3">
+
+ </span>
+ <span class="mls"> icon-arrow-left3</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e64f" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe64f;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-arrow-right3">
+
+ </span>
+ <span class="mls"> icon-arrow-right3</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e650" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe650;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-arrow-left4">
+
+ </span>
+ <span class="mls"> icon-arrow-left4</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e651" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe651;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-arrow-right4">
+
+ </span>
+ <span class="mls"> icon-arrow-right4</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e652" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe652;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-arrow-left5">
+
+ </span>
+ <span class="mls"> icon-arrow-left5</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e653" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe653;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ <div class="glyph fs4">
+ <div class="clearfix bshadow0 pbs">
+ <span class="icon-uniE654">
+
+ </span>
+ <span class="mls"> icon-uniE654</span>
+ </div>
+ <fieldset class="fs0 size1of1 clearfix hidden-false">
+ <input type="text" readonly value="e654" class="unit size1of2" />
+ <input type="text" maxlength="1" readonly value="&#xe654;" class="unitRight size1of2 talign-right" />
+ </fieldset>
+ <div class="fs0 bshadow0 clearfix hidden-true">
+ <span class="unit pvs fgc1">liga: </span>
+ <input type="text" readonly value="" class="liga unitRight" />
+ </div>
+ </div>
+ </div>
- <!--[if gt IE 8]><!-->
- <div class="mhl clearfix mbl">
- <h1>Font Test Drive</h1>
- <label>
- Font Size: <input id="fontSize" type="number" class="textbox0 mbm"
- min="8" value="48" />
- px
- </label>
- <input id="testText" type="text" class="phl size1of1 mvl"
- placeholder="Type some text to test..." value=""/>
- </label>
- <div id="testDrive" class="icon-">&nbsp;
- </div>
- </div>
- <!--<![endif]-->
- <div class="bgc1 clearfix">
- <p class="mhl">Generated by <a href="https://icomoon.io/app">IcoMoon</a></p>
- </div>
+ <!--[if gt IE 8]><!-->
+ <div class="mhl clearfix mbl">
+ <h1>Font Test Drive</h1>
+ <label>
+ Font Size: <input id="fontSize" type="number" class="textbox0 mbm"
+ min="8" value="48" />
+ px
+ </label>
+ <input id="testText" type="text" class="phl size1of1 mvl"
+ placeholder="Type some text to test..." value=""/>
+ <div id="testDrive" class="icon-">&nbsp;
+ </div>
+ </div>
+ <!--<![endif]-->
+ <div class="bgc1 clearfix">
+ <p class="mhl">Generated by <a href="https://icomoon.io/app">IcoMoon</a></p>
+ </div>
- <script src="demo-files/demo.js"></script>
+ <script src="demo-files/demo.js"></script>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.eot b/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.eot
index 7daf5ccbf0..f44813ac49 100644
--- a/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.eot
+++ b/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.eot
Binary files differ
diff --git a/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.svg b/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.svg
index b3bbfeb3b5..3052f2b18a 100644
--- a/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.svg
+++ b/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.svg
@@ -6,90 +6,92 @@
<font id="icomoon" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
-<glyph unicode="&#x20;" d="" horiz-adv-x="512" />
-<glyph unicode="&#xe600;" d="M1230.2 948.463h-1178.505c-16.134 0-29.219-13.085-29.219-29.219v-813.28c0-16.134 13.085-29.203 29.219-29.203h443.167v-70.082c0-1.011 0.199-1.977 0.306-2.957h-63.601c-14.786 0-26.782-11.997-26.782-26.782s11.997-26.798 26.782-26.798h433.422c14.786 0 26.782 11.997 26.782 26.798 0 14.786-11.997 26.782-26.782 26.782h-63.601c0.092 0.965 0.322 1.946 0.322 2.957v70.082h428.55c16.149 0 29.219 13.085 29.219 29.203v813.28c-0.046 16.134-13.131 29.219-29.28 29.219zM1176.635 233.442c0-16.134-13.085-29.219-29.219-29.219h-1012.938c-16.134 0-29.219 13.085-29.219 29.219v616.655c0 16.134 13.085 29.219 29.219 29.219h1012.938c16.134 0 29.219-13.085 29.219-29.219v-616.655zM139.489 850.097h1004.541v-617.866h-1004.541v617.866z" horiz-adv-x="1279" />
-<glyph unicode="&#xe601;" d="M1029.404 579.378v-643.378h-1029.404v557.597h85.781l85.79 85.781h85.781l-85.781-85.781h128.676l85.781 85.781h85.781l-85.781-85.781h128.676l85.79 85.781h85.771l-85.771-85.781h128.676l85.771 85.781h85.79l-85.79-85.781h128.676l85.79 85.781zM957.254 960l-81.764-25.91 107.665-55.891-25.901 81.801zM42.895 536.483c23.695 0 42.895 19.2 42.895 42.895s-19.2 42.895-42.895 42.895c-23.685 0-42.895-19.2-42.895-42.895s19.2-42.895 42.895-42.895zM164.962 619.267l53.823-27.923 776.456 246.074-12.711 40.965-122.462-38.814-107.242 55.634-81.792-25.91 107.306-55.634-122.674-38.869-107.306 55.643-81.755-25.91 107.26-55.661-122.665-38.869-107.269 55.625-81.792-25.91 107.315-55.634-122.72-38.888-107.214 55.661-81.782-25.901 107.223-55.68z" horiz-adv-x="1029" />
-<glyph unicode="&#xe602;" d="M1010.029 443.105c-3.176-10.312-10.144-17.862-17.605-25.295-49.987-49.819-99.818-99.806-149.697-149.721-17.974-17.982-37.181-17.934-55.224 0.129-51.481 51.521-102.966 103.034-154.427 154.564-17.532 17.557-17.524 36.719 0.052 54.316 51.754 51.826 103.516 103.645 155.291 155.439 16.846 16.858 36.635 16.862 53.481 0.016 50.192-50.2 100.308-100.476 150.584-150.572 7.465-7.441 14.4-15.023 17.545-25.339 0-4.514 0-9.023 0-13.537zM513.819-39.561c-10.264 3.265-17.701 10.369-25.102 17.814-49.774 50.027-99.701 99.902-149.572 149.833-17.846 17.87-17.866 36.936-0.060 54.766 51.618 51.662 103.235 103.32 154.869 154.973 17.163 17.167 36.828 17.231 53.899 0.149 51.626-51.654 103.247-103.32 154.857-154.989 17.729-17.757 17.781-37.209 0.124-54.874-50.305-50.361-100.693-100.653-150.881-151.122-7.184-7.22-14.573-13.714-24.588-16.545-4.514-0.004-9.027-0.004-13.545-0.004zM332.663 573.663c0 57.436 0.518 114.881-0.325 172.309-0.245 16.625 3.727 29.612 16.42 40.574 10.212 8.826 19.263 19.006 28.829 28.588 37.84 37.88 75.676 75.764 113.527 113.628 17.798 17.798 36.997 17.785 54.786-0.008 51.485-51.501 102.966-103.014 154.439-154.528 17.681-17.697 17.669-37.161-0.012-54.866-60.878-60.954-121.78-121.9-182.674-182.85-53.774-53.826-107.54-107.657-161.322-161.479-9.963-9.967-18.789-7.646-22.412 6.172-1.116 4.273-1.205 8.911-1.209 13.38-0.072 59.689-0.048 119.386-0.048 179.080zM209.547 449.201c0-52.714 0.076-105.436-0.104-158.15-0.020-5.004-0.815-10.304-2.606-14.954-3.518-9.152-10.124-10.288-17.031-3.393-24.243 24.203-48.417 48.473-72.616 72.712-27.969 28.021-55.947 56.031-83.904 84.068-11.573 11.597-11.625 27.696-0.096 39.354 51.481 52.075 102.974 104.139 154.491 156.19 3.409 3.441 6.618 8.112 12.404 5.923 5.534-2.088 7.718-7.080 8.505-12.613 0.49-3.429 0.879-6.915 0.883-10.373 0.052-52.923 0.036-105.849 0.036-158.772 0.012 0.008 0.024 0.008 0.036 0.008z" horiz-adv-x="1040" />
-<glyph unicode="&#xe603;" d="M1323.932 940.121c8.823-0.554 17.647-1.109 26.455-1.709 67.646-4.666 132.304-20.526 192.712-51.924 43.177-22.436 81.458-51.477 115.581-86.108 37.064-37.588 67.723-79.749 90.82-127.299 16.938-34.893 28.703-71.526 36.849-109.406 9.978-46.426 13.274-93.423 11.287-140.742-3.187-75.884-19.972-148.442-55.758-215.949-24.961-47.104-57.498-88.434-96.21-124.99-62.071-58.622-134.829-96.872-218.397-114.565-30.936-6.56-62.148-10.656-93.746-11.657-1.447-0.046-2.864-0.462-4.281-0.693-12.411 0-24.807 0-37.203 0-8.069 0.554-16.153 1.139-24.222 1.709-96.81 7.006-185.152 36.926-261.713 97.842-60.424 48.074-107.743 106.742-140.019 177.144-16.415 35.786-27.363 73.297-34.693 111.932-8.3 43.686-10.918 87.802-8.7 132.134 4.666 93.315 29.242 180.44 83.383 257.663 63.365 90.343 146.224 154.586 253.197 185.644 32.599 9.47 65.829 15.768 99.721 18.386 10.733 0.832 21.496 1.247 32.244 1.909 1.755 0.092 3.495 0.447 5.235 0.678 9.147 0 18.309 0 27.456 0zM1309.226 81.701c34.4 0.308 67.707 3.095 100.367 11.179 71.141 17.57 130.302 54.464 177.329 110.731 47.997 57.421 72.958 124.143 79.733 198.132 2.325 25.315 2.587 50.692 1.078 76.084-1.617 27.563-5.266 54.849-12.581 81.504-22.836 83.26-69.601 149.673-141.451 197.717-53.71 35.925-113.826 52.37-177.945 55.542-35.047 1.725-69.894 0.154-104.448-6.129-60.362-10.948-114.072-35.894-160.36-76.438-44.902-39.328-77.316-87.094-97.411-143.268-15.198-42.5-21.281-86.524-21.927-131.457-0.508-34.924 1.925-69.586 9.547-103.709 13.766-61.548 41.422-115.904 84.661-162.223 38.142-40.837 83.491-70.233 136.338-88.233 41.484-14.151 84.368-18.956 127.068-19.433zM3074.341-22.778c-3.649-8.793-6.437-10.594-16.369-10.594-32.475 0-64.966-0.015-97.442 0-11.441 0-15.676 4.235-15.676 15.737 0 310.049 0 620.082 0 930.115 0 11.934 4.204 16.076 16.307 16.091 32.475 0 64.966 0.123 97.426-0.169 4.004-0.031 8.392-1.617 11.811-3.742 2.094-1.293 2.695-4.958 3.957-7.576-0.015-313.282-0.015-626.565-0.015-939.863zM425.229 538.389c16.399-21.773 32.629-43.331 48.844-64.889 34.4-45.734 68.816-91.467 103.232-137.201 44.255-58.822 88.495-117.629 132.75-176.436 43.362-57.637 86.709-115.273 130.133-172.864 3.203-4.235 4.604-8.562 2.294-13.474-2.325-4.974-6.868-6.591-11.995-6.883-2.356-0.139-4.712-0.015-7.083-0.015-40.005 0-80.011 0.031-120.016-0.046-6.837-0.015-11.872 2.264-16.138 7.992-75.468 100.829-151.090 201.582-226.681 302.349-42.946 57.221-85.893 114.411-128.839 171.616-0.354 0.477-0.755 0.893-1.386 1.617-5.205-4.866-10.379-9.655-15.522-14.475-34.816-32.568-69.617-65.136-104.448-97.688-19.202-17.939-38.388-35.878-57.698-53.695-2.495-2.294-3.511-4.558-3.511-7.961 0.077-97.442 0.062-194.883 0.062-292.325 0-1.17 0.031-2.356 0-3.526-0.246-8.931-4.789-13.797-13.72-13.812-34.108-0.139-68.215-0.108-102.308-0.015-8.654 0.031-13.212 4.897-13.381 13.581-0.031 1.032-0.015 2.079-0.015 3.095 0 309.448 0 618.881 0 928.314 0 0.308 0 0.601 0 0.893 0.046 11.734 4.281 16.014 15.937 16.014 31.151 0.015 62.302 0.015 93.453 0.015 2.063 0 4.142 0.062 6.19-0.015 9.024-0.416 13.458-4.851 13.843-13.828 0.062-1.34 0-2.664 0-3.988 0-149.997 0-299.994 0-449.975 0-1.725 0-3.434 0-6.236 7.73 7.206 14.721 13.705 21.65 20.203 41.114 38.573 82.213 77.193 123.342 115.735 53.941 50.569 107.943 101.076 161.884 151.66 45.225 42.392 90.405 84.83 135.615 127.238 19.048 17.893 38.157 35.709 57.144 53.648 3.973 3.757 8.5 5.574 13.92 5.574 47.689-0.015 95.363 0 143.052-0.015 8.13 0 12.719-2.941 14.428-9.008 1.417-5.020-0.508-8.931-4.034-12.288-13.797-13.12-27.594-26.224-41.437-39.297-24.484-23.082-49.013-46.134-73.497-69.216-33.954-31.983-67.877-63.965-101.799-95.979-34.77-32.814-69.493-65.675-104.279-98.489-23.159-21.881-46.411-43.716-69.986-65.906zM1945.646 447.492c0 154.416 0 308.863 0 463.279 0 1.34-0.015 2.664 0 3.988 0.169 8.746 4.573 13.32 13.274 13.797 0.585 0.031 1.186 0.015 1.771 0.015 132.442-0.015 264.87 0.323 397.297-0.185 60.916-0.231 119.2-13.905 174.804-38.789 48.367-21.635 90.882-51.785 127.792-89.727 60.131-61.779 100.090-134.644 119.723-218.705 11.302-48.397 15.984-97.411 14.952-146.994-1.386-66.598-12.935-131.257-38.188-193.128-21.081-51.647-51.262-97.519-89.28-138.263-58.391-62.533-129.286-103.616-212.376-123.758-35.863-8.669-72.188-12.55-109.083-12.519-128.3 0.216-256.601 0.077-384.901 0.092-2.202 0-4.419 0.154-6.575 0.477-4.743 0.755-7.684 3.603-8.515 8.315-0.447 2.448-0.647 4.958-0.647 7.437-0.046 154.924-0.046 309.787-0.046 464.665zM2075.209 90.447c2.202 0 3.957 0 5.713 0 86.216 0 172.432-0.077 258.649 0.077 15.475 0.031 30.982 0.678 46.411 1.894 32.029 2.51 62.564 10.995 91.775 24.376 38.188 17.493 70.248 42.962 97.873 74.406 25.746 29.319 46.072 61.933 61.070 97.904 15.953 38.281 24.53 78.24 27.717 119.539 2.91 37.696 1.725 75.191-3.942 112.532-6.729 44.132-21.065 85.739-43.254 124.512-24.668 43.1-56.466 79.995-97.318 108.513-48.906 34.138-103.801 50.030-163.085 50.307-92.268 0.447-184.551 0.154-276.819 0.169-1.555 0-3.126 0-4.804 0 0.015-238.292 0.015-475.937 0.015-714.228z" horiz-adv-x="3091" />
-<glyph unicode="&#xe604;" d="M849.719 124.754c-27.065 11.106-49.364 28.595-47.79 62.087 1.574 33.448-23.917 55.572-23.917 55.572s22.343 73.28 1.574 133.75c-20.681 60.513-89.108 157.579-141.62 230.728-52.381 73.28-7.87 157.666-55.572 265.838-47.79 108.171-171.876 101.832-238.729 55.66-66.897-46.084-46.216-160.639-43.067-214.856 3.192-54.042 1.443-92.562-4.678-106.554-6.34-13.991-49.32-65.323-78.002-108.259-28.639-42.936-49.32-132.088-70.132-168.685-20.681-36.596-6.34-70.001-6.34-70.001s-14.341-4.722-25.491-28.726c-11.149-23.785-33.405-34.935-73.193-42.805-39.788-7.958-39.788-33.536-30.257-62.175 9.575-28.595 0.044-44.598-11.106-81.063s44.554-47.79 98.64-53.998c54.129-6.384 114.599-41.406 165.58-47.79 50.85-6.384 66.809 34.979 66.809 34.979s57.278 12.811 117.659 14.298c60.557 1.618 117.703-12.723 117.703-12.723s11.149-25.447 31.831-36.553c20.769-11.149 65.279-12.767 93.918 17.358 28.682 30.3 105.067 68.427 148.003 92.387 43.111 23.917 35.241 60.469 8.176 71.531zM477.284 826.556c27.283 0 49.32-27.065 49.32-60.426 0-23.698-11.062-44.117-27.196-54.042-4.11 1.793-8.395 3.629-13.030 5.597 9.75 4.81 16.615 17.183 16.615 31.612 0 18.801-11.63 34.060-26.015 34.060-14.21 0-25.884-15.303-25.884-34.060 0-6.952 1.661-13.642 4.504-19.107-8.439 3.367-16.309 6.515-22.43 8.832-3.323 8.133-5.203 17.314-5.203 27.108 0 33.361 22.037 60.426 49.32 60.426zM473.742 699.147c13.685-4.722 28.814-13.598 27.24-22.386-1.618-8.832-8.788-8.832-27.24-20.113-18.495-11.193-58.546-36.028-71.356-37.646-12.898-1.618-20.069 5.597-33.711 14.385-13.642 8.832-39.307 29.776-32.836 40.925 0 0 19.982 15.303 28.726 23.305 8.832 8.045 31.35 27.24 44.948 24.747 13.685-2.317 50.588-18.408 64.23-23.217zM350.748 816.981c21.512 0 39.001-25.622 39.001-57.234 0-5.815-0.568-11.193-1.661-16.396-5.247-1.793-10.581-4.678-15.697-9.051-2.667-2.142-4.984-4.154-7.214-6.165 3.41 6.384 4.766 15.478 3.236 25.053-2.886 17.271-14.385 29.863-25.797 28.070-11.368-1.968-18.233-17.489-15.347-34.847 2.929-17.358 14.385-29.95 25.753-28.070 0.656 0.131 1.268 0.306 1.924 0.525-5.553-5.334-10.668-9.925-15.872-13.817-15.74 7.302-27.283 29.032-27.283 54.742 0 31.612 17.446 57.19 38.957 57.19zM308.73 12.866c-5.072-22.824-31.831-39.395-31.831-39.395-24.223-7.608-91.557 21.599-122.075 34.41-30.431 12.636-108.084 16.571-118.272 27.852-10.056 11.587 5.072 36.99 8.963 61.038 3.76 24.266-7.608 39.438-3.848 56.010 3.848 16.484 53.43 16.484 72.45 27.939 19.107 11.456 22.867 44.51 38.17 53.386 15.259 8.963 43.199-22.78 54.654-40.706 11.412-17.708 54.654-94.049 72.45-113.112s34.41-44.598 29.338-67.421zM590.177 234.63c-4.547-22.43-4.547-103.493-4.547-103.493s-49.32-68.34-125.792-79.533c-76.385-11.193-114.599-3.148-114.599-3.148l-42.936 49.276c0 0 33.361 4.853 28.639 38.258-4.81 33.448-101.832 79.576-119.365 121.026-17.402 41.319-3.104 111.451 19.151 146.473 22.211 34.891 36.465 111.232 58.764 136.767 22.299 25.36 39.744 79.489 31.831 103.406 0 0 47.746-57.321 81.063-47.833 33.405 9.575 108.346 65.323 119.365 55.704 11.106-9.575 106.597-219.578 116.042-286.431 9.619-66.765-6.384-117.659-6.384-117.659s-36.509 9.488-41.231-12.811zM834.416 84.703c-14.866-13.685-97.547-47.046-122.382-73.105-24.616-25.884-56.884-46.871-76.603-40.794-19.85 6.296-37.121 33.448-28.464 73.018 8.613 39.482 16.090 82.812 14.91 107.516-1.224 24.704-6.296 58.196 0 63.136 6.165 4.766 15.959 2.405 15.959 2.405s-4.81-46.871 23.523-59.333c28.376-12.243 69.214 4.941 81.588 17.358 12.417 12.286 21.075 30.825 21.075 30.825s12.286-6.296 11.106-26.015c-1.224-19.719 8.57-48.271 27.24-58.065 18.495-9.707 46.915-23.392 32.049-36.946z" horiz-adv-x="872" />
-<glyph unicode="&#xe605;" d="M179.763 363.527v238.597c0 32.946-26.703 59.649-59.649 59.649s-59.649-26.703-59.649-59.649v-238.597c0-32.966 26.703-59.649 59.649-59.649s59.649 26.663 59.649 59.649zM371.973 114.948v695.929c0 32.946-26.703 59.649-59.649 59.649s-59.649-26.703-59.649-59.649v-695.929c0-32.926 26.703-59.649 59.649-59.649s59.649 26.703 59.649 59.649zM564.183 217.704v384.4c0 32.946-26.703 59.649-59.649 59.649s-59.649-26.703-59.649-59.649v-384.4c0-32.966 26.703-59.649 59.649-59.649s59.649 26.663 59.649 59.649zM1087.765 542.435c-32.946 0-59.649-26.703-59.649-59.649v-331.412c0-32.926 26.703-59.649 59.649-59.649s59.649 26.723 59.649 59.649v331.412c0 32.946-26.703 59.649-59.649 59.649zM895.575 960c-32.946 0-59.649-26.703-59.649-59.649v-904.701c0-32.926 26.703-59.649 59.649-59.649s59.649 26.723 59.649 59.649v904.701c0 32.946-26.723 59.649-59.649 59.649zM703.365 91.725c32.946 0 59.649 26.723 59.649 59.649v574.98c0 32.946-26.703 59.649-59.649 59.649s-59.649-26.703-59.649-59.649v-574.98c0-32.946 26.703-59.649 59.649-59.649z" horiz-adv-x="1203" />
-<glyph unicode="&#xe606;" d="M574.745 949.718c5.611 0 11.222 0 16.826 0 34.465-7.35 68.818-15.297 103.417-21.918 49.657-9.497 72.893-38.183 63.383-81.17-17.717-80.132-53.045-148.235-131.451-186.066 55.71-43.611 70.923-70.284 81.366-129.052 2.763-15.549 12.211-32.558 23.734-43.457 58.684-55.485 67.71-134.81 24.464-203.509-12.856-20.424-21.771-46.073-23.797-70.067-6.193-73.532-42.461-121.589-108.579-153.060-41.5-19.751-81.422-44.607-118.005-72.501-60.234-45.933-135.666-51.032-197.751-10.373-49.615 32.494-100.682 62.815-151.65 93.205-42.3 25.221-67.773 61.384-81.899 108.53-11.341 37.839-26.252 75.026-43.569 110.557-25.081 51.467-33.666 105.605 0.484 151.285 32.649 43.674 53.942 88.113 68.629 140.337 8.886 31.576 40.967 56.629 62.366 84.27-13.466 10.801-33.427 23.005-48.479 39.648-34.935 38.624-59.553 84.354-64.252 136.304-1.95 21.574-14.841 51.382 12.779 67.633 15.402 9.062 34.087 13.27 51.81 17.548 33.518 8.087 67.402 14.652 101.138 21.848 5.611 0 11.222 0 16.826 0 8.262-2.293 16.412-5.155 24.8-6.782 50.036-9.735 98.886-21.455 126.008-71.435 6.579-12.127 12.548-24.576 19.856-38.975 2.279 4.818 3.9 7.652 5.015 10.675 25.2 68.005 78.659 93.647 146.453 98.542 6.845 0.491 13.396 5.218 20.080 7.982zM726.507 887.093c-11.341 1.045-33.189 0.722-33.575 3.451-3.563 24.983-18.481 11.278-29.563 10.703-5.288-0.274-11.033-0.814-15.865 0.835-13.88 4.72-27.122 13.642-41.149 14.911-12.309 1.108-23.222-6.032-38.863-2.616-16.91 3.696-37.727-10.436-57.449-16.994-1.592 2.202-4.215 5.849-7.554 10.485-8.627-9.763-15.030-23.615-22.254-24.064-40.027-2.483-42.194-35.952-51.053-61.426-11.643-33.469-2.602-49.531 26.372-66.083 54.805 30.951 107.758 60.844 160.712 90.743 1.452-2.504 2.904-5.015 4.356-7.519-13.88-8.269-28.384-15.641-41.493-24.99-31.092-22.184-61.756-44.986-91.95-68.356-4.959-3.836-9.868-12.134-9.363-17.892 2.7-30.503 80.777-70.74 108.179-55.591 17.597 9.728 32.754 24.141 50.779 32.74 12.884 6.144 23.769 9.546 28.763 25.677 3.093 9.98 20.873 7.357 21.806 28.511 0.884 19.786 23.131 38.624 36.107 58.080-5.246 2.041-9.693 3.766-14.799 5.744 8.571 9.84 15.739 18.081 23.538 27.031-32.074 10.205-0.189 24.695-5.681 36.619zM350.629 755.221c19.645 9.658 35.517 27.627 27.704 51.88-8.816 27.353-23.257 53.613-39.424 77.529-5.962 8.816-23.797 9.609-40.504 15.591 1.305 1.073-2.665-2.195-7-5.751-9.588 8.844-17.24 13.228-33.883 12.611-22.823-0.849-44.572 11.411-70.586 0.014-17.632-7.736-41.058-2.237-61.889-2.707-2.784-0.063-7.904-0.035-8.024-0.708-4.208-25.025-27.045-10.507-35.728-15.192 0.722-15.437 1.298-27.718 1.873-40.006-2.588-0.414-5.169-0.828-7.757-1.241 7.238-7.918 14.469-15.837 22.409-24.527-5.92-1.992-10.163-3.416-15.388-5.169 7.596-9.581 23.131-22.963 20.894-27.396-11.79-23.419 17.163-27.192 19.842-45.533 2.16-14.778 29.878-25.838 46.283-38.526 1.459-1.129 3.016-2.146 4.58-3.121 17.31-10.675 34.15-29.177 52.063-30.285 32.081-1.978 64.954 6.298 89.046 32.186 15.942 17.127 18.986 33.301-3.198 48.626-17.618 12.169-33.876 26.301-51.474 38.505-21.153 14.673-43.085 28.23-64.68 42.272 1.599 2.602 3.191 5.204 4.79 7.806 48.724-28.195 97.441-56.404 150.051-86.858zM164.492 409.348c-0.288-59.736 36.794-99.679 92.707-99.868 65.606-0.231 121.681 60.164 121.933 131.317 0.203 57.197-37.993 98.732-91.452 99.447-64.687 0.856-122.859-60.949-123.189-130.897zM636.549 411.683c-0.337 53.69-37.341 106.524-87.496 124.9-56.951 20.866-107.815-6.439-121.582-65.276-12.463-53.241 17.373-116.028 68.194-143.514 71.021-38.414 141.389 3.493 140.884 83.891zM403.218 120.152c61.461 0.905 116.441 52.701 114.562 107.941-1.936 57.042-54.812 103.515-115.873 101.846-62.268-1.697-112.366-48.773-112.584-105.795-0.224-55.934 53.374-104.876 113.895-103.992zM701.012 219.627c-4.58 21.651 1.248 53.928-28.833 66.7-27.816 11.811-52.301-3.949-73.461-22.128-37.846-32.537-64.47-71.961-72.024-122.312-6.193-41.325 14.441-62.359 55.387-57.183 67.177 8.459 115.972 62.155 118.931 134.923zM226.213 83.063c28.104-1.382 44.6 14.764 45.533 44.572 1.739 56.039-61.475 136.416-115.74 147.175-26.35 5.225-45.835-7.722-51.551-34.262-15.914-73.938 45.785-153.747 121.758-157.486zM384.049 670.040c-14.455-7.189-43.941-18.18-69.12-35.454-23.924-16.405-20.732-42.461 2.658-60.668 39.676-30.895 125.763-33.371 166.996-4.804 24.029 16.644 26.954 40.693 6.221 61.461-24.66 24.695-54.938 37.537-106.756 39.466zM400.202 91.508c-28.083-7.961-60.479-14.89-91.052-26.561-22.149-8.444-20.747-25.067-5.239-41.816 50.976-55.051 144.819-54.083 193.276 2.378 21.188 24.681 18.832 37.944-12.681 48.142-25.242 8.178-52.14 11.278-84.305 17.857zM708.229 281.733c61.882 53.101 56.039 147.603-7.743 190.24-16.615 11.103-26.891 10.065-30.727-11.881-9.433-53.935 1.866-104.939 21.511-154.652 3.177-8.045 10.261-14.546 16.959-23.706zM133.337 408.506c-2.258 0.575-4.524 1.15-6.782 1.732 0 8.367 1.739 17.205-0.393 24.99-3.514 12.849-9.525 25.018-14.483 37.474-11.776-6.368-25.81-10.45-34.935-19.491-42.089-41.71-46.255-107.211-11.566-155.655 15.458-21.581 27.886-22.374 37.397 2.616 13.312 34.949 20.789 72.115 30.762 108.334zM515.051 640.196c18.867-45.014 114.969-125.173 157.878-132.327 14.203 85.188-73.433 160.319-157.878 132.327zM279.643 637.671c-40.42 18.509-92.363 6.319-125.763-27.178-30.061-30.159-44.081-75.502-30.18-104.539 61.777 32.347 115.032 73.553 155.943 131.717zM574.745 949.718c-6.684-2.763-13.235-7.484-20.073-7.982-67.801-4.896-121.253-30.531-146.453-98.528-1.115-3.023-2.735-5.863-5.015-10.675-7.308 14.392-13.277 26.848-19.856 38.975-27.122 49.966-75.972 61.685-126.008 71.42-8.388 1.627-16.538 4.489-24.8 6.782 114.071 0.007 228.135 0.007 342.205 0.007z" horiz-adv-x="793" />
-<glyph unicode="&#xe607;" d="M1024 369.556l-512 397.426-512-397.428v162.038l512 397.426 512-397.428zM896 384v-384h-256v256h-256v-256h-256v384l384 288z" />
-<glyph unicode="&#xe608;" d="M864 960c88.364 0 160-71.634 160-160 0-36.020-11.91-69.258-32-96l-64-64-224 224 64 64c26.742 20.090 59.978 32 96 32zM64 224l-64-288 288 64 592 592-224 224-592-592zM715.578 596.422l-448-448-55.156 55.156 448 448 55.156-55.156z" />
-<glyph unicode="&#xe609;" d="M0 832v-832h1024v832h-1024zM960 64h-896v704h896v-704zM704 608c0 53.019 42.981 96 96 96s96-42.981 96-96c0-53.019-42.981-96-96-96s-96 42.981-96 96zM896 128h-768l192 512 256-320 128 96z" />
-<glyph unicode="&#xe60a;" d="M320 768l704 192v-736c0-88.366-100.29-160-224-160s-224 71.634-224 160c0 88.366 100.29 160 224 160 34.358 0 66.902-5.532 96-15.406v329.588l-448-122.182v-480c0-88.366-100.288-160-224-160s-224 71.634-224 160c0 88.366 100.288 160 224 160 34.358 0 66.902-5.532 96-15.406v527.406z" />
-<glyph unicode="&#xe60b;" d="M192 381.714v-443.43c10.454-1.496 21.134-2.286 32-2.286h32v448.002h-32c-10.866 0-21.546-0.79-32-2.286zM768 384v-448h32c10.868 0 21.546 0.79 32 2.286v443.428c-10.454 1.496-21.132 2.286-32 2.286h-32zM1024 448c0 282.77-229.23 512-512 512s-512-229.23-512-512c0-61.418 10.828-120.306 30.656-174.874-19.472-33.202-30.656-71.852-30.656-113.126 0-89.354 52.326-166.478 128-202.432v404.864c-20.126-9.562-38.58-22.060-54.858-36.904-5.992 29.22-9.142 59.478-9.142 90.472 0 247.424 200.576 448 448 448s448-200.576 448-448c0-30.994-3.148-61.252-9.142-90.472-16.28 14.844-34.73 27.342-54.858 36.904v-404.864c75.676 35.954 128 113.078 128 202.432 0 41.274-11.184 79.924-30.656 113.126 19.828 54.568 30.656 113.456 30.656 174.874z" />
-<glyph unicode="&#xe60c;" d="M981.188 799.892c-143.632 20.65-302.332 32.108-469.186 32.108-166.86 0-325.556-11.458-469.194-32.108-27.53-107.726-42.808-226.75-42.808-351.892 0-125.14 15.278-244.166 42.808-351.89 143.638-20.652 302.336-32.11 469.194-32.11 166.854 0 325.552 11.458 469.186 32.11 27.532 107.724 42.812 226.75 42.812 351.89 0 125.142-15.28 244.166-42.812 351.892zM384.002 256v384l320-192-320-192z" />
-<glyph unicode="&#xe60d;" d="M0 832v-768h1024v768h-1024zM192 128h-128v128h128v-128zM192 384h-128v128h128v-128zM192 640h-128v128h128v-128zM768 128h-512v640h512v-640zM960 128h-128v128h128v-128zM960 384h-128v128h128v-128zM960 640h-128v128h128v-128zM384 640v-384l256 192z" />
-<glyph unicode="&#xe60e;" d="M384 672c0 88.366 71.634 160 160 160s160-71.634 160-160c0-88.366-71.634-160-160-160s-160 71.634-160 160zM0 672c0 88.366 71.634 160 160 160s160-71.634 160-160c0-88.366-71.634-160-160-160s-160 71.634-160 160zM768 352v96c0 35.2-28.8 64-64 64h-640c-35.2 0-64-28.8-64-64v-320c0-35.2 28.8-64 64-64h640c35.2 0 64 28.8 64 64v96l256-160v448l-256-160zM640 192h-512v192h512v-192z" />
-<glyph unicode="&#xe60f;" d="M964.73 781.196c-93.902 109.45-233.21 178.804-388.73 178.804-282.77 0-512-229.23-512-512s229.23-512 512-512c155.52 0 294.828 69.356 388.728 178.804l-324.728 333.196 324.73 333.196zM704 839.398c39.432 0 71.398-31.964 71.398-71.398 0-39.432-31.966-71.398-71.398-71.398s-71.398 31.966-71.398 71.398c0 39.432 31.966 71.398 71.398 71.398z" />
-<glyph unicode="&#xe610;" d="M927.812 960h-288.562c-52.906 0-126.796-30.606-164.204-68.014l-446.99-446.99c-37.408-37.408-37.408-98.624 0-136.032l344.91-344.906c37.408-37.41 98.622-37.41 136.030 0l446.99 446.988c37.408 37.41 68.014 111.302 68.014 164.204v288.562c0 52.904-43.286 96.188-96.188 96.188zM800 640c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96z" />
-<glyph unicode="&#xe611;" d="M992 896h-224c-52.8 0-126.546-30.546-163.882-67.882l-376.236-376.236c-37.334-37.334-37.334-98.428 0-135.764l280.236-280.234c37.334-37.336 98.428-37.336 135.764 0l376.234 376.234c37.338 37.336 67.884 111.082 67.884 163.882v224c0 52.8-43.2 96-96 96zM864 576c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96zM86.626 361.374l342.378-342.378c-36.264-19.16-82.462-13.538-112.886 16.888l-280.236 280.234c-37.334 37.336-37.334 98.43 0 135.764l376.236 376.236c37.336 37.336 111.082 67.882 163.882 67.882l-489.374-489.372c-12.444-12.446-12.444-32.808 0-45.254z" horiz-adv-x="1088" />
-<glyph unicode="&#xe612;" d="M512 960c-176.732 0-320-143.268-320-320 0-320 320-704 320-704s320 384 320 704c0 176.732-143.27 320-320 320zM512 448c-106.040 0-192 85.96-192 192s85.96 192 192 192 192-85.96 192-192-85.96-192-192-192z" />
-<glyph unicode="&#xe613;" d="M1024 128v768h-1024v-768h448v-64h-192v-64h512v64h-192v64h448zM128 768h768v-512h-768v512z" />
-<glyph unicode="&#xe614;" d="M736 960h-448c-52.8 0-96-43.2-96-96v-832c0-52.8 43.2-96 96-96h448c52.8 0 96 43.2 96 96v832c0 52.8-43.2 96-96 96zM384 912h256v-32h-256v32zM512 0c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zM768 192h-512v640h512v-640z" />
-<glyph unicode="&#xe615;" d="M981.188 671.892c-88.808 12.768-183.382 22.016-282.076 27.22l164.888 164.888-64 64-224.558-224.556c-21.006 0.368-42.156 0.556-63.442 0.556v0l-256 256-64-64 194.196-194.196c-120.922-4.242-236.338-14.524-343.386-29.912-27.532-107.726-42.81-226.752-42.81-351.892s15.278-244.166 42.804-351.89c143.642-20.652 302.34-32.11 469.196-32.11s325.55 11.458 469.188 32.11c27.534 107.724 42.812 226.75 42.812 351.89s-15.278 244.166-42.812 351.892zM863.892 85.406c-107.73-13.766-226.75-21.406-351.892-21.406s-244.166 7.64-351.892 21.406c-20.648 71.816-32.108 151.166-32.108 234.594 0 83.43 11.458 162.78 32.108 234.596 107.726 13.766 226.75 21.404 351.892 21.404 125.136 0 244.162-7.638 351.886-21.404 20.656-71.816 32.114-151.166 32.114-234.596 0-83.428-11.458-162.778-32.108-234.594z" />
-<glyph unicode="&#xe616;" d="M512 896c282.77 0 512-186.25 512-416 0-229.752-229.23-416-512-416-27.156 0-53.81 1.734-79.824 5.044-109.978-109.978-241.25-129.7-368.176-132.596v26.916c68.536 33.578 128 94.74 128 164.636 0 9.754-0.758 19.33-2.164 28.696-115.796 76.264-189.836 192.754-189.836 323.304 0 229.75 229.23 416 512 416z" />
-<glyph unicode="&#xe617;" d="M480 960v0c265.096 0 480-173.914 480-388.448s-214.904-388.448-480-388.448c-25.458 0-50.446 1.62-74.834 4.71-103.106-102.694-222.172-121.108-341.166-123.814v25.134c64.252 31.354 116 88.466 116 153.734 0 9.106-0.712 18.048-2.030 26.794-108.558 71.214-177.97 179.988-177.97 301.89 0 214.534 214.904 388.448 480 388.448zM996 89.314c0-55.942 36.314-104.898 92-131.772v-21.542c-103.126 2.318-197.786 18.102-287.142 106.126-21.14-2.65-42.794-4.040-64.858-4.040-95.47 0-183.408 25.758-253.614 69.040 144.674 0.506 281.26 46.854 384.834 130.672 52.208 42.252 93.394 91.826 122.414 147.348 30.766 58.866 46.366 121.582 46.366 186.406 0 10.448-0.45 20.836-1.258 31.168 72.57-59.934 117.258-141.622 117.258-231.676 0-104.488-60.158-197.722-154.24-258.764-1.142-7.496-1.76-15.16-1.76-22.966z" horiz-adv-x="1152" />
-<glyph unicode="&#xe618;" d="M256 640c0 141.385 114.615 256 256 256s256-114.615 256-256c0-141.385-114.615-256-256-256s-256 114.615-256 256zM768 320h-512c-141.384 0-256-114.618-256-256v-64h1024v64c0 141.382-114.616 256-256 256z" />
-<glyph unicode="&#xe619;" d="M384 832c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM655.53 719.53c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM832 448c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM719.53 176.47c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM448.002 64c0 0 0 0 0 0 0 35.346 28.654 64 64 64s64-28.654 64-64c0 0 0 0 0 0 0-35.346-28.654-64-64-64s-64 28.654-64 64zM176.472 176.47c0 0 0 0 0 0 0 35.346 28.654 64 64 64s64-28.654 64-64c0 0 0 0 0 0 0-35.346-28.654-64-64-64s-64 28.654-64 64zM144.472 719.53c0 0 0 0 0 0 0 53.019 42.981 96 96 96s96-42.981 96-96c0 0 0 0 0 0 0-53.019-42.981-96-96-96s-96 42.981-96 96zM56 448c0 39.765 32.235 72 72 72s72-32.235 72-72c0-39.765-32.235-72-72-72s-72 32.235-72 72z" />
-<glyph unicode="&#xe61a;" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256z" />
-<glyph unicode="&#xe61b;" d="M704 960c-176.73 0-320-143.268-320-320 0-20.026 1.858-39.616 5.376-58.624l-389.376-389.376v-192c0-35.346 28.654-64 64-64h64v64h128v128h128v128h128l83.042 83.042c34.010-12.316 70.696-19.042 108.958-19.042 176.73 0 320 143.268 320 320s-143.27 320-320 320zM799.874 639.874c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96z" />
-<glyph unicode="&#xe61c;" d="M448 832v16c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-192v-128h192v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h576v128h-576zM256 704v128h128v-128h-128zM832 528c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-576v-128h576v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h192v128h-192v16zM640 384v128h128v-128h-128zM448 208c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-192v-128h192v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h576v128h-576v16zM256 64v128h128v-128h-128z" />
-<glyph unicode="&#xe61d;" d="M1024 351.906v192.188l-146.774 24.462c-5.958 18.132-13.222 35.668-21.694 52.5l86.454 121.034-135.896 135.898-120.826-86.304c-16.91 8.554-34.538 15.888-52.768 21.902l-24.402 146.414h-192.188l-24.402-146.416c-18.23-6.014-35.858-13.348-52.766-21.902l-120.828 86.304-135.898-135.898 86.454-121.036c-8.47-16.83-15.734-34.366-21.692-52.498l-146.774-24.46v-192.188l147.118-24.52c5.96-17.968 13.21-35.348 21.642-52.030l-86.748-121.448 135.898-135.896 121.654 86.894c16.602-8.35 33.89-15.528 51.764-21.434l24.578-147.472h192.188l24.578 147.474c17.874 5.906 35.162 13.084 51.766 21.432l121.652-86.892 135.896 135.896-86.744 121.446c8.432 16.682 15.678 34.062 21.64 52.032l147.118 24.518zM512 320c-70.692 0-128 57.306-128 128 0 70.692 57.308 128 128 128 70.694 0 128-57.308 128-128 0-70.694-57.306-128-128-128z" />
-<glyph unicode="&#xe61e;" d="M128 64h896v-128h-1024v1024h128zM288 128c-53.020 0-96 42.98-96 96s42.98 96 96 96c2.828 0 5.622-0.148 8.388-0.386l103.192 171.986c-9.84 15.070-15.58 33.062-15.58 52.402 0 53.020 42.98 96 96 96s96-42.98 96-96c0-19.342-5.74-37.332-15.58-52.402l103.192-171.986c2.766 0.238 5.56 0.386 8.388 0.386 2.136 0 4.248-0.094 6.35-0.23l170.356 298.122c-10.536 15.408-16.706 34.036-16.706 54.11 0 53.020 42.98 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96-2.14 0-4.248 0.094-6.35 0.232l-170.356-298.124c10.536-15.406 16.706-34.036 16.706-54.11 0-53.020-42.98-96-96-96s-96 42.98-96 96c0 19.34 5.74 37.332 15.578 52.402l-103.19 171.984c-2.766-0.238-5.56-0.386-8.388-0.386s-5.622 0.146-8.388 0.386l-103.192-171.986c9.84-15.068 15.58-33.060 15.58-52.4 0-53.020-42.98-96-96-96z" />
-<glyph unicode="&#xe61f;" d="M640 813.412v-135.958c36.206-15.804 69.5-38.408 98.274-67.18 60.442-60.44 93.726-140.8 93.726-226.274s-33.286-165.834-93.726-226.274c-60.44-60.44-140.798-93.726-226.274-93.726s-165.834 33.286-226.274 93.726c-60.44 60.44-93.726 140.8-93.726 226.274s33.286 165.834 93.726 226.274c28.774 28.774 62.068 51.378 98.274 67.182v135.956c-185.048-55.080-320-226.472-320-429.412 0-247.424 200.578-448 448-448 247.424 0 448 200.576 448 448 0 202.94-134.95 374.332-320 429.412zM448 960h128v-512h-128z" />
-<glyph unicode="&#xe620;" d="M976 192h-16v208c0 61.756-50.242 112-112 112h-272v128h16c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h16v-128h-272c-61.756 0-112-50.244-112-112v-208h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-16v192h256v-192h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-16v192h256v-192h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48zM192 0h-128v128h128v-128zM576 0h-128v128h128v-128zM448 704v128h128v-128h-128zM960 0h-128v128h128v-128z" />
-<glyph unicode="&#xe621;" d="M1024 302.458c0 82.090-56.678 150.9-132.996 169.48-3.242 128.7-108.458 232.062-237.862 232.062-75.792 0-143.266-35.494-186.854-90.732-24.442 31.598-62.69 51.96-105.708 51.96-73.81 0-133.642-59.874-133.642-133.722 0-6.436 0.48-12.76 1.364-18.954-11.222 2.024-22.766 3.138-34.57 3.138-106.998 0.002-193.732-86.786-193.732-193.842 0-107.062 86.734-193.848 193.73-193.848l656.262 0.012c96.138 0.184 174.008 78.212 174.008 174.446z" />
-<glyph unicode="&#xe622;" d="M874.040 810.038c96.702-96.704 149.96-225.28 149.96-362.040s-53.258-265.334-149.96-362.038c-96.706-96.702-225.28-149.96-362.040-149.96s-265.334 53.258-362.040 149.96c-96.702 96.704-149.96 225.278-149.96 362.038s53.254 265.336 149.96 362.040c96.706 96.704 225.28 149.962 362.040 149.962s265.334-53.258 362.040-149.962zM828.784 131.214c63.058 63.060 104.986 141.608 122.272 227.062-13.474-19.836-26.362-27.194-34.344 17.206-8.22 72.39-74.708 26.148-116.516 51.86-44.004-29.658-142.906 57.662-126.098-40.824 25.934-44.422 140.008 59.45 83.148-34.542-36.274-65.616-132.642-210.932-120.106-286.258 1.582-109.744-112.134-22.884-151.314 13.52-26.356 72.92-8.982 200.374-77.898 236.086-74.802 3.248-139.004 10.046-167.994 93.67-17.446 59.828 18.564 148.894 82.678 162.644 93.85 58.966 127.374-69.054 215.39-71.434 27.328 28.594 101.816 37.686 107.992 69.75-57.75 10.19 73.268 48.558-5.528 70.382-43.47-5.112-71.478-45.074-48.368-78.958-84.238-19.642-86.936 121.904-167.91 77.258-2.058-70.59-132.222-22.886-45.036-8.572 29.956 13.088-48.86 51.016-6.28 44.124 20.916 1.136 91.332 25.812 72.276 42.402 39.21 24.34 72.16-58.29 110.538 1.882 27.708 46.266-11.62 54.808-46.35 31.356-19.58 21.924 34.57 69.276 82.332 89.738 15.918 6.82 31.122 10.536 42.746 9.484 24.058-27.792 68.55-32.606 70.878 3.342-59.582 28.534-125.276 43.608-193.292 43.608-97.622 0-190.47-31.024-267.308-88.39 20.65-9.46 32.372-21.238 12.478-36.296-15.456-46.054-78.17-107.876-133.224-99.124-28.586-49.296-47.412-103.606-55.46-160.528 46.112-15.256 56.744-45.45 46.836-55.55-23.496-20.488-37.936-49.53-45.376-81.322 15.010-91.836 58.172-176.476 125.27-243.576 84.616-84.614 197.118-131.214 316.784-131.214 119.664 0 232.168 46.6 316.784 131.214z" />
-<glyph unicode="&#xe623;" d="M953.396 885.358l-4.028 4.042c-94.148 94.134-248.194 94.134-342.326 0l-218.106-218.136c-94.134-94.132-94.134-248.176 0-342.31l4.026-4.026c7.832-7.848 16.146-14.924 24.736-21.458l79.848 79.85c-9.302 5.494-18.126 12.072-26.116 20.060l-4.042 4.042c-51.114 51.098-51.114 134.272 0 185.39l218.128 218.112c51.116 51.118 134.274 51.118 185.386 0l4.042-4.024c51.1-51.116 51.1-134.292 0-185.39l-98.686-98.686c17.132-42.308 25.248-87.4 24.538-132.386l152.604 152.604c94.134 94.136 94.134 248.178-0.004 342.316zM631.042 571.066c-7.832 7.832-16.146 14.922-24.736 21.44l-79.848-79.832c9.304-5.496 18.126-12.074 26.116-20.062l4.042-4.040c51.116-51.116 51.116-134.272 0-185.388l-218.13-218.134c-51.118-51.102-134.276-51.102-185.388 0l-4.042 4.042c-51.098 51.12-51.098 134.276 0 185.388l98.688 98.686c-17.134 42.306-25.246 87.402-24.538 132.386l-152.602-152.598c-94.136-94.132-94.136-248.178 0-342.324l4.026-4.032c94.152-94.128 248.192-94.128 342.328 0l218.11 218.118c94.134 94.132 94.134 248.194 0 342.326l-4.026 4.024z" />
-<glyph unicode="&#xe624;" d="M697.832 632.952l-64.952 64.922-324.81-324.742c-53.814-53.792-53.814-141.048 0-194.844 53.804-53.792 141.060-53.792 194.874 0l389.772 389.708c89.714 89.662 89.714 235.062 0 324.726-89.666 89.704-235.112 89.704-324.782 0l-409.23-409.178c-0.29-0.304-0.612-0.576-0.876-0.846-125.102-125.096-125.102-327.856 0-452.906 125.054-125.056 327.868-125.056 452.988 0 0.274 0.274 0.516 0.568 0.82 0.876l0.032-0.034 279.332 279.292-64.986 64.92-279.33-279.262c-0.296-0.268-0.564-0.57-0.846-0.844-89.074-89.058-233.98-89.058-323.076 0-89.062 89.042-89.062 233.922 0 322.978 0.304 0.304 0.604 0.582 0.888 0.846l-0.046 0.060 409.28 409.166c53.712 53.738 141.144 53.738 194.886 0 53.712-53.734 53.712-141.148 0-194.84l-389.772-389.7c-17.936-17.922-47.054-17.922-64.972 0-17.894 17.886-17.894 47.032 0 64.92l324.806 324.782z" />
-<glyph unicode="&#xe625;" d="M1024 562.95l-353.78 51.408-158.22 320.582-158.216-320.582-353.784-51.408 256-249.538-60.432-352.352 316.432 166.358 316.432-166.358-60.434 352.352 256.002 249.538zM512 206.502l-223.462-117.48 42.676 248.83-180.786 176.222 249.84 36.304 111.732 226.396 111.736-226.396 249.836-36.304-180.788-176.222 42.678-248.83-223.462 117.48z" />
-<glyph unicode="&#xe626;" d="M1024 562.95l-353.78 51.408-158.22 320.582-158.216-320.582-353.784-51.408 256-249.538-60.432-352.352 316.432 166.358 316.432-166.358-60.434 352.352 256.002 249.538z" />
-<glyph unicode="&#xe627;" d="M1024 601.844c0-86.362-37.218-164.030-96.49-217.844h0.49l-320-320c-32-32-64-64-96-64s-64 32-96 64l-319.51 320c-59.272 53.814-96.49 131.482-96.49 217.844 0 162.458 131.698 294.156 294.156 294.156 86.362 0 164.030-37.218 217.844-96.49 53.814 59.272 131.482 96.49 217.844 96.49 162.456 0 294.156-131.698 294.156-294.156z" />
-<glyph unicode="&#xe628;" d="M1024 601.844c0 162.458-131.7 294.156-294.156 294.156-86.362 0-164.030-37.218-217.844-96.49-53.814 59.272-131.482 96.49-217.844 96.49-162.458 0-294.156-131.698-294.156-294.156 0-86.362 37.218-164.030 96.49-217.844h-0.49l320-320c32-32 64-64 96-64s64 32 96 64l319.51 320c59.272 53.814 96.49 131.482 96.49 217.844zM841.468 478.768l-323.978-324.258c-1.678-1.678-3.532-3.532-5.49-5.48-1.96 1.95-3.814 3.802-5.49 5.48l-323.978 324.256c-35.166 31.928-54.532 75.638-54.532 123.078 0 91.618 74.538 166.156 166.156 166.156 47.44 0 91.15-19.366 123.076-54.532l94.768-104.38 94.768 104.378c31.928 35.168 75.636 54.534 123.076 54.534 91.618 0 166.156-74.538 166.156-166.156 0-47.44-19.368-91.15-54.532-123.076z" />
-<glyph unicode="&#xe629;" d="M512-64c282.77 0 512 229.23 512 512s-229.23 512-512 512-512-229.23-512-512 229.23-512 512-512zM512 864c229.75 0 416-186.25 416-416s-186.25-416-416-416-416 186.25-416 416 186.25 416 416 416zM256 640c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM640 640c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM704.098 332.74l82.328-49.396c-55.962-93.070-157.916-155.344-274.426-155.344s-218.464 62.274-274.426 155.344l82.328 49.396c39.174-65.148 110.542-108.74 192.098-108.74s152.924 43.592 192.098 108.74z" />
-<glyph unicode="&#xe62a;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM704 704c35.346 0 64-28.654 64-64s-28.654-64-64-64-64 28.654-64 64 28.654 64 64 64zM320 704c35.346 0 64-28.654 64-64s-28.654-64-64-64-64 28.654-64 64 28.654 64 64 64zM512 128c-116.51 0-218.464 62.274-274.426 155.344l82.328 49.396c39.174-65.148 110.542-108.74 192.098-108.74s152.924 43.592 192.098 108.74l82.328-49.396c-55.962-93.070-157.916-155.344-274.426-155.344z" />
-<glyph unicode="&#xe62b;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM448 768h128v-128h-128v128zM640 128h-256v64h64v256h-64v64h192v-320h64v-64z" />
-<glyph unicode="&#xe62c;" d="M864 832l-480-480-224 224-160-160 384-384 640 640z" />
-<glyph unicode="&#xe62d;" d="M621.254 82.746l320 320c24.994 24.992 24.994 65.516 0 90.51l-320 320c-24.994 24.992-65.516 24.992-90.51 0-24.994-24.994-24.994-65.516 0-90.51l210.746-210.746h-613.49c-35.346 0-64-28.654-64-64s28.654-64 64-64h613.49l-210.746-210.746c-12.496-12.496-18.744-28.876-18.744-45.254s6.248-32.758 18.744-45.254c24.994-24.994 65.516-24.994 90.51 0z" />
-<glyph unicode="&#xe62e;" d="M402.746 813.254l-320-320c-24.994-24.992-24.994-65.516 0-90.508l320-320c24.994-24.992 65.516-24.992 90.51 0 24.996 24.992 24.996 65.516 0 90.508l-210.748 210.746h613.492c35.346 0 64 28.652 64 64 0 35.346-28.654 64-64 64h-613.492l210.746 210.746c12.496 12.496 18.746 28.876 18.746 45.254s-6.248 32.758-18.744 45.254c-24.996 24.994-65.516 24.994-90.51 0z" />
-<glyph unicode="&#xe62f;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 32c-229.75 0-416 186.25-416 416s186.25 416 416 416 416-186.25 416-416-186.25-416-416-416zM813.256 493.254l-256.002 256c-24.992 24.994-65.514 24.994-90.508 0s-24.994-65.516 0-90.51l146.744-146.744h-357.49c-35.346 0-64-28.654-64-64s28.654-64 64-64h357.49l-146.746-146.744c-24.994-24.994-24.994-65.518 0-90.512 12.498-12.496 28.878-18.744 45.256-18.744s32.758 6.248 45.254 18.744l256.002 256c24.992 24.994 24.992 65.518 0 90.51z" />
-<glyph unicode="&#xe630;" d="M512 960c282.77 0 512-229.23 512-512s-229.23-512-512-512-512 229.23-512 512 229.23 512 512 512zM512 32c229.75 0 416 186.25 416 416s-186.25 416-416 416-416-186.25-416-416 186.25-416 416-416zM210.744 493.254l256.002 256c24.992 24.994 65.514 24.994 90.508 0s24.994-65.516 0-90.51l-146.744-146.744h357.49c35.346 0 64-28.654 64-64s-28.654-64-64-64h-357.49l146.746-146.744c24.994-24.994 24.994-65.518 0-90.512-12.498-12.496-28.878-18.744-45.256-18.744s-32.758 6.248-45.254 18.744l-256.002 256c-24.992 24.994-24.992 65.518 0 90.51z" />
-<glyph unicode="&#xe631;" d="M864 256c-45.16 0-85.92-18.738-115.012-48.83l-431.004 215.502c1.314 8.252 2.016 16.706 2.016 25.328s-0.702 17.076-2.016 25.326l431.004 215.502c29.092-30.090 69.852-48.828 115.012-48.828 88.366 0 160 71.634 160 160s-71.634 160-160 160-160-71.634-160-160c0-8.622 0.704-17.076 2.016-25.326l-431.004-215.504c-29.092 30.090-69.852 48.83-115.012 48.83-88.366 0-160-71.636-160-160 0-88.368 71.634-160 160-160 45.16 0 85.92 18.738 115.012 48.828l431.004-215.502c-1.312-8.25-2.016-16.704-2.016-25.326 0-88.368 71.634-160 160-160s160 71.632 160 160c0 88.364-71.634 160-160 160z" />
-<glyph unicode="&#xe632;" d="M0.806 90.336c-0.244 2.532-0.452 5.070-0.584 7.63 0.13-2.56 0.34-5.098 0.584-7.63zM235.908 394.852c92.010-2.738 153.734 92.698 137.862 213.198-15.894 120.48-103.396 217.168-195.408 219.922-92.026 2.73-153.74-89.482-137.852-210 15.882-120.468 103.352-220.374 195.398-223.12zM1024 704v85.31c0 93.88-76.782 170.69-170.658 170.69h-682.656c-92.276 0-168.012-74.232-170.564-165.926 58.362 51.386 139.324 94.316 222.874 94.316 89.304 0 357.244 0 357.244 0l-79.948-67.618h-113.268c75.13-28.804 115.156-116.124 115.156-205.722 0-75.248-41.81-139.954-100.888-185.968-57.644-44.902-68.572-63.708-68.572-101.878 0-32.578 61.746-88 94.032-110.788 94.382-66.538 124.916-128.312 124.916-231.456 0-16.428-2.042-32.83-6.066-48.96h307.742c93.874 0 170.656 76.75 170.656 170.69v533.308h-192v-191.998h-64v192h-191.998v64h191.998v192h64v-192h192zM185.886 194.064c21.614 0 41.422 0.59 61.936 0.59-27.146 26.334-48.626 58.6-48.626 98.38 0 23.608 7.564 46.336 18.134 66.52-10.782-0.77-21.79-0.994-33.126-0.994-74.356 0-137.506 24.076-184.204 63.854v-67.242l0.006-201.73c53.44 25.374 116.888 40.622 185.88 40.622zM3.42 72.742c-1.112 5.458-1.966 11.006-2.542 16.634 0.574-5.628 1.43-11.176 2.542-16.634zM455.45 7.154c-15.058 58.806-68.454 87.964-142.888 139.568-27.072 8.732-56.894 13.874-88.894 14.208-89.618 0.964-173.108-34.942-220.216-88.372 15.92-77.706 85.034-136.558 167.234-136.558h286.444c1.816 11.128 2.696 22.632 2.696 34.432 0 12.534-1.534 24.792-4.376 36.722z" />
-<glyph unicode="&#xe633;" d="M853.344 960h-682.66c-93.872 0-170.684-76.814-170.684-170.688v-682.626c0-93.938 76.812-170.686 170.684-170.686l682.66 0.002c93.876 0 170.656 76.746 170.656 170.688v682.622c0 93.874-76.782 170.688-170.656 170.688zM870.592 448h-166.592v-448h-192v448h-92.526v146.564h92.526v95.186c0 129.342 55.792 206.25 207.87 206.25h175.244v-158.57h-143.13c-42.482 0.070-47.752-22.152-47.752-63.512l-0.232-79.354h192l-25.408-146.564z" />
-<glyph unicode="&#xe634;" d="M853.342 960h-682.656c-93.874 0-170.686-76.81-170.686-170.69v-682.622c0-93.938 76.812-170.688 170.686-170.688h682.656c93.876 0 170.658 76.75 170.658 170.69v682.62c0 93.88-76.782 170.69-170.658 170.69zM838.052 618.166c0.328-7.342 0.49-14.728 0.49-22.148 0-226.214-169.216-487.068-478.658-487.068-95.004 0-183.434 28.348-257.886 76.918 13.16-1.588 26.552-2.394 40.13-2.394 78.822 0 151.358 27.37 208.934 73.282-73.616 1.38-135.744 50.876-157.154 118.882 10.274-2 20.812-3.074 31.652-3.074 15.344 0 30.206 2.096 44.32 6.008-76.96 15.732-134.95 84.916-134.95 167.856 0 0.722 0 1.438 0.016 2.152 22.68-12.82 48.624-20.52 76.2-21.41-45.142 30.698-74.842 83.092-74.842 142.488 0 31.37 8.294 60.778 22.778 86.058 82.974-103.57 206.936-171.72 346.754-178.862-2.87 12.532-4.358 25.596-4.358 39.014 0 94.538 75.326 171.18 168.23 171.18 48.39 0 92.118-20.786 122.802-54.058 38.32 7.676 74.324 21.92 106.832 41.542-12.562-39.976-39.234-73.522-73.966-94.71 34.026 4.138 66.452 13.34 96.62 26.954-22.546-34.324-51.070-64.476-83.944-88.61z" />
-<glyph unicode="&#xe635;" d="M136.294 209.070c-75.196 0-136.292-61.334-136.292-136.076 0-75.154 61.1-135.802 136.292-135.802 75.466 0 136.494 60.648 136.494 135.802-0.002 74.742-61.024 136.076-136.494 136.076zM0.156 612.070v-196.258c127.784 0 247.958-49.972 338.458-140.512 90.384-90.318 140.282-211.036 140.282-339.3h197.122c-0.002 372.82-303.282 676.070-675.862 676.070zM0.388 960v-196.356c455.782 0 826.756-371.334 826.756-827.644h196.856c0 564.47-459.254 1024-1023.612 1024z" />
-<glyph unicode="&#xe636;" d="M853.34 960h-682.654c-93.876 0-170.686-76.812-170.686-170.688v-682.628c0-93.934 76.812-170.684 170.688-170.684h682.652c93.876 0 170.66 76.748 170.66 170.684v682.628c0 93.876-76.784 170.688-170.66 170.688zM278.944 128.752c-47.97 0-86.944 38.692-86.944 86.628 0 47.684 38.972 86.812 86.944 86.812 48.158 0 87.060-39.128 87.060-86.812-0.002-47.936-38.904-86.628-87.060-86.628zM497.468 128.004c0 81.81-31.808 158.818-89.46 216.444-57.714 57.75-134.376 89.626-215.904 89.626v125.186c237.652 0 431.126-193.442 431.126-431.254l-125.762-0.002zM719.628 128.004c0 291.062-236.658 527.94-527.376 527.94v125.248c360.002 0 652.946-293.124 652.946-653.192l-125.57 0.004z" />
-<glyph unicode="&#xe637;" d="M832 832h-640c-105.6 0-192-86.4-192-192v-384c0-105.6 86.4-192 192-192h640c105.6 0 192 86.4 192 192v384c0 105.6-86.4 192-192 192zM384 192v512l320-256-320-256z" />
-<glyph unicode="&#xe638;" d="M704 565.74l-364.456 364.456c53.89 19.276 111.94 29.804 172.456 29.804 67.904 0 132.704-13.25 192-37.256v-357.004zM768 256v635.486c153.034-88.528 256-253.978 256-443.486 0-67.904-13.25-132.704-37.256-192h-218.744zM320 192h635.486c-88.528-153.034-253.978-256-443.486-256-67.904 0-132.704 13.25-192 37.256v218.744zM426.26 736l-411.282-411.282c-9.764 39.49-14.978 80.774-14.978 123.282 0 193.382 107.226 361.702 265.452 448.808l160.808-160.808zM256 458.26v-453.746c-94.596 54.722-170.036 138.848-213.874 239.872l213.874 213.874z" />
-<glyph unicode="&#xe639;" d="M512 128.108c-19.154 0-38.308 9.916-58.142 29.75-7.81 7.81-7.81 20.474 0 28.286 7.81 7.808 20.474 7.808 28.286 0 12.206-12.21 21.972-18.144 29.856-18.144 7.882 0 17.65 5.934 29.858 18.142 7.812 7.808 20.472 7.808 28.286 0 7.81-7.81 7.81-20.474 0-28.286-19.836-19.832-38.99-29.748-58.144-29.748zM0 434.508c0-49.892 4.266-95.122 12.8-135.682s20.534-75.74 36-105.532c15.466-29.792 35.022-55.904 58.666-78.34s49.332-40.92 77.066-55.458c27.734-14.536 59.466-26.296 95.2-35.266 35.732-8.974 72.088-15.256 109.066-18.846s77.69-5.384 122.134-5.384c44.444 0 85.242 1.79 122.398 5.38s73.602 9.872 109.332 18.846c35.734 8.974 67.558 20.73 95.468 35.266 27.91 14.538 53.778 33.026 77.598 55.458 23.824 22.436 43.47 48.548 58.934 78.34 15.47 29.794 27.56 64.974 36.27 105.532 8.71 40.56 13.066 85.788 13.066 135.68 0 89.38-27.736 166.372-83.2 230.982 3.2 8.616 5.954 18.486 8.266 29.614 2.308 11.128 4.532 26.832 6.664 47.112 2.138 20.282 1.336 43.704-2.398 70.264-3.734 26.564-10.754 53.664-21.066 81.302l-8 1.618c-5.332 1.076-14.042 0.718-26.132-1.080-12.086-1.794-26.222-5.022-42.398-9.69-16.176-4.664-37.066-13.908-62.668-27.728-25.598-13.818-52.62-31.318-81.066-52.496-48.356 14.718-115.020 30.116-200 30.116-84.976 0-151.822-15.396-200.53-30.114-28.446 21.18-55.556 38.588-81.334 52.228-25.78 13.642-46.402 22.974-61.868 27.998-15.468 5.024-29.778 8.256-42.934 9.69-13.156 1.436-21.602 1.886-25.334 1.346-3.732-0.538-6.488-1.166-8.266-1.884-10.314-27.64-17.424-54.74-21.336-81.304-3.91-26.56-4.8-49.892-2.666-69.992 2.134-20.102 4.444-35.898 6.934-47.382 2.49-11.486 5.334-21.358 8.534-29.614-55.466-64.25-83.2-141.242-83.2-230.98zM136.536 320.596c0 58.022 21.332 110.638 64 157.856 12.8 14.406 27.646 25.312 44.534 32.712 16.89 7.402 36.088 11.606 57.6 12.606s42.044 0.8 61.6-0.6c19.556-1.402 43.734-3.302 72.534-5.702 28.798-2.404 53.688-3.602 74.666-3.602 20.976 0 45.868 1.2 74.664 3.602 28.806 2.4 52.982 4.3 72.536 5.702 19.56 1.4 40.090 1.6 61.602 0.6 21.512-1.002 40.802-5.204 57.868-12.606 17.066-7.4 32-18.306 44.8-32.712 42.664-47.218 64-99.834 64-157.856 0-34.012-3.554-64.324-10.668-90.934-7.11-26.612-16.090-48.916-26.934-66.922-10.844-18.008-26.048-33.218-45.598-45.62-19.558-12.406-38.492-22.010-56.8-28.81-18.312-6.8-41.958-12.104-70.934-15.906-28.982-3.796-54.934-6.102-77.872-6.9-22.934-0.8-51.82-1.2-86.664-1.2s-63.644 0.402-86.4 1.2c-22.756 0.798-48.622 3.104-77.6 6.9-28.978 3.802-52.622 9.104-70.934 15.906-18.31 6.802-37.244 16.404-56.8 28.81-19.556 12.404-34.756 27.612-45.6 45.62-10.846 18.006-19.824 40.31-26.934 66.922-7.11 26.61-10.666 56.922-10.666 90.934zM256 351.996c0 53.019 28.654 96 64 96s64-42.981 64-96c0-53.019-28.654-96-64-96s-64 42.981-64 96zM640 351.996c0 53.019 28.654 96 64 96s64-42.981 64-96c0-53.019-28.654-96-64-96s-64 42.981-64 96z" />
-<glyph unicode="&#xe63a;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM816.056 143.944c-39.518-39.516-85.512-70.532-136.708-92.186-13.006-5.5-26.214-10.328-39.6-14.492v76.734c0 40.334-13.834 70-41.5 89 17.334 1.666 33.25 4 47.75 7s29.834 7.334 46 13 30.666 12.416 43.5 20.25 25.166 18 37 30.5 21.75 26.666 29.75 42.5 14.334 34.834 19 57 7 46.584 7 73.25c0 51.666-16.834 95.666-50.5 132 15.334 40 13.666 83.5-5 130.5l-12.5 1.5c-8.666 1-24.25-2.666-46.75-11s-47.75-22-75.75-41c-39.666 11-80.834 16.5-123.5 16.5-43 0-84-5.5-123-16.5-17.666 12-34.416 21.916-50.25 29.75s-28.5 13.166-38 16-18.334 4.584-26.5 5.25-13.416 0.834-15.75 0.5-4-0.666-5-1c-18.666-47.334-20.334-90.834-5-130.5-33.666-36.334-50.5-80.334-50.5-132 0-26.666 2.334-51.084 7-73.25s11-41.166 19-57 17.916-30 29.75-42.5 24.166-22.666 37-30.5 27.334-14.584 43.5-20.25 31.5-10 46-13 30.416-5.334 47.75-7c-27.334-18.666-41-48.334-41-89v-78.23c-15.098 4.494-29.98 9.804-44.6 15.988-51.194 21.654-97.188 52.67-136.706 92.186-39.516 39.518-70.534 85.512-92.186 136.708-22.398 52.958-33.756 109.262-33.756 167.348s11.358 114.39 33.758 167.35c21.654 51.194 52.67 97.188 92.186 136.706s85.512 70.534 136.706 92.186c52.96 22.4 109.264 33.758 167.35 33.758s114.39-11.358 167.35-33.758c51.196-21.654 97.19-52.67 136.708-92.186 39.516-39.516 70.532-85.512 92.186-136.706 22.398-52.96 33.756-109.264 33.756-167.35s-11.358-114.39-33.758-167.35c-21.654-51.194-52.67-97.19-92.186-136.706z" />
-<glyph unicode="&#xe63b;" d="M263.472 200.632c0-27.052 22.894-40.582 68.668-40.582 40.064 0 60.088 14.042 60.088 42.134 0 26.538-21.846 39.796-65.544 39.796-42.146 0.004-63.212-13.776-63.212-41.348zM853.348 960h-682.66c-93.876 0-170.688-76.81-170.688-170.688v-682.626c0-93.936 76.812-170.686 170.688-170.686h682.66c93.868 0 170.652 76.75 170.652 170.688v682.624c0 93.878-76.782 170.688-170.652 170.688zM475.728 551.012c-7.284-2.604-17.688-5.458-31.212-8.586 4.16-11.966 6.246-23.152 6.246-33.554 0-33.292-10.018-62.298-30.044-87.012-20.030-24.708-45.912-39.406-77.646-44.086-20.804-3.126-31.208-14.312-31.208-33.558 0-6.762 3.378-13.53 10.144-20.29 8.844-9.886 21.848-16.132 39.018-18.734 74.39-11.442 111.586-42.394 111.586-92.854 0-80.642-48.124-120.962-144.362-120.962-39.542 0-72.056 7.026-97.544 21.070-32.258 17.688-48.376 45.52-48.376 83.5 0 43.704 24.192 73.616 72.564 89.738v1.56c-17.684 10.924-26.526 27.57-26.526 49.944 0 29.132 8.324 47.344 24.968 54.622v1.562c-16.646 5.724-31.474 18.732-44.48 39.024-14.564 21.852-21.85 45.26-21.85 70.23 0 37.458 13.27 68.67 39.792 93.64 25.496 23.414 55.928 35.116 91.306 35.116 25.494 0 49.158-6.238 71.010-18.722 24.97 0 53.842 6.24 86.626 18.722l-0.012-80.37zM602.178 281.006h-88.186c1.042 10.402 1.558 28.084 1.558 53.064v242.692c0 24.454-0.522 41.364-1.558 50.718h88.186c-1.042-9.884-1.562-26.27-1.562-49.164v-239.564c0-26.534 0.522-45.784 1.562-57.746zM596.318 705.518c-10.664-11.444-23.282-17.162-37.846-17.162-15.086 0-27.958 5.718-38.626 17.162-10.666 11.452-16.002 24.972-16.002 40.578 0 16.134 5.336 29.912 16.002 41.366 10.666 11.442 23.54 17.168 38.626 17.168 14.564 0 27.184-5.726 37.846-17.168 10.666-11.456 15.998-25.23 15.998-41.366 0-15.606-5.332-29.128-15.998-40.578zM841.69 291.152c-19.254-10.41-42.406-15.606-69.458-15.606-37.97 0-64.248 13.52-78.81 40.574-10.93 20.29-16.386 52.28-16.386 95.98v139.684h0.778v1.562l-11.706 0.782c-6.764 0-15.612-0.782-26.534-2.342v75.694h38.234v30.432c0 14.57-0.778 26.28-2.34 35.12h90.518c-1.55-9.88-2.336-21.066-2.336-33.552v-31.998h67.886v-75.692c-2.598 0-7.41 0.258-14.436 0.778-7.024 0.522-13.656 0.786-19.898 0.786h-33.554v-145.144c0-34.864 11.45-52.29 34.334-52.29 16.126 0 30.696 4.418 43.708 13.264v-78.032zM321.216 559.594c-32.776 0-49.164-19.254-49.164-57.746 0-35.902 16.388-53.848 49.164-53.848 31.736 0 47.602 18.208 47.602 54.626 0 15.090-3.64 28.094-10.922 39.022-8.846 11.962-21.074 17.946-36.68 17.946z" />
-<glyph unicode="&#xe63c;" d="M567.656 223.084c-81.944-38.118-158.158-37.716-209.34-34.020-61.052 4.41-110.158 21.124-131.742 35.732-13.3 9.006-31.384 5.522-40.39-7.782-9.004-13.302-5.52-31.386 7.782-40.39 34.698-23.486 96.068-40.954 160.162-45.58 10.866-0.784 22.798-1.278 35.646-1.278 55.782 0 126.626 5.316 202.42 40.57 14.564 6.778 20.878 24.074 14.104 38.64-6.776 14.566-24.076 20.872-38.642 14.108zM890.948 266.184c2.786 252.688 28.762 730.206-454.97 691.612-477.6-38.442-350.964-542.968-358.082-711.95-6.308-89.386-35.978-198.648-77.896-309.846h129.1c13.266 47.122 23.024 93.72 27.232 138.15 7.782-5.428 16.108-10.674 24.994-15.7 14.458-8.518 26.884-19.844 40.040-31.834 30.744-28.018 65.59-59.774 133.712-63.752 4.572-0.262 9.174-0.394 13.676-0.394 68.896 0 116.014 30.154 153.878 54.382 18.14 11.612 33.818 21.64 48.564 26.452 41.91 13.12 78.532 34.296 105.904 61.252 4.276 4.208 8.242 8.538 11.962 12.948 15.246-55.878 36.118-118.758 59.288-181.504h275.65c-66.174 102.224-134.436 202.374-133.052 330.184zM124.11 403.648c0 0.016 0 0.030-0.002 0.046-4.746 82.462 34.71 151.832 88.126 154.936 53.412 3.106 100.56-61.228 105.304-143.692 0-0.014 0.004-0.030 0.004-0.044 0.256-4.446 0.368-8.846 0.37-13.206-16.924-4.256-32.192-10.436-45.872-17.63-0.052 0.612-0.092 1.216-0.152 1.83 0 0.008 0 0.018 0 0.026-4.57 46.81-29.572 82.16-55.852 78.958-26.28-3.204-43.88-43.75-39.312-90.558 0-0.010 0.004-0.018 0.004-0.026 1.992-20.408 7.868-38.636 16.042-52.444-2.034-1.604-7.784-5.812-14.406-10.656-4.97-3.634-11.020-8.058-18.314-13.43-19.882 26.094-33.506 63.58-35.94 105.89zM665.26 199.822c-1.9-43.586-58.908-84.592-111.582-101.044l-0.296-0.096c-21.9-7.102-41.428-19.6-62.104-32.83-34.732-22.224-70.646-45.208-122.522-45.208-3.404 0-6.894 0.104-10.326 0.296-47.516 2.778-69.742 23.032-97.88 48.676-14.842 13.526-30.19 27.514-49.976 39.124l-0.424 0.244c-42.706 24.104-69.212 54.082-70.908 80.194-0.842 12.98 4.938 24.218 17.182 33.4 26.636 19.972 44.478 33.022 56.284 41.658 13.11 9.588 17.068 12.48 20 15.264 2.096 1.986 4.364 4.188 6.804 6.562 24.446 23.774 65.36 63.562 128.15 63.562 38.404 0 80.898-14.8 126.17-43.902 21.324-13.878 39.882-20.286 63.38-28.4 16.156-5.578 34.468-11.902 58.992-22.404l0.396-0.164c22.88-9.404 49.896-26.564 48.66-54.932zM652.646 302.194c-4.4 2.214-8.974 4.32-13.744 6.286-22.106 9.456-39.832 15.874-54.534 20.998 8.116 15.894 13.16 35.72 13.624 57.242 0 0.010 0 0.022 0 0.030 1.126 52.374-25.288 94.896-58.996 94.976-33.71 0.078-61.95-42.314-63.076-94.686 0-0.010 0-0.018 0-0.028-0.038-1.714-0.042-3.416-0.020-5.11-20.762 9.552-41.18 16.49-61.166 20.76-0.092 1.968-0.204 3.932-0.244 5.92 0 0.016 0 0.036 0 0.050-1.938 95.412 56.602 174.39 130.754 176.402 74.15 2.014 135.828-73.7 137.772-169.11 0-0.018 0-0.038 0-0.052 0.874-43.146-10.66-82.866-30.37-113.678z" />
-<glyph unicode="&#xe63d;" d="M791.498 415.908c-1.294 129.682 105.758 191.876 110.542 194.966-60.152 88.020-153.85 100.078-187.242 101.472-79.742 8.074-155.596-46.948-196.066-46.948-40.368 0-102.818 45.754-168.952 44.552-86.916-1.292-167.058-50.538-211.812-128.38-90.304-156.698-23.126-388.84 64.89-515.926 43.008-62.204 94.292-132.076 161.626-129.58 64.842 2.588 89.362 41.958 167.756 41.958s100.428-41.958 169.050-40.67c69.774 1.296 113.982 63.398 156.692 125.796 49.39 72.168 69.726 142.038 70.924 145.626-1.548 0.706-136.060 52.236-137.408 207.134zM662.562 796.478c35.738 43.358 59.86 103.512 53.28 163.522-51.478-2.096-113.878-34.29-150.81-77.55-33.142-38.376-62.148-99.626-54.374-158.436 57.466-4.484 116.128 29.204 151.904 72.464z" />
-<glyph unicode="&#xe63e;" d="M864 640c-35.2 0-64-28.8-64-64v-256c0-35.2 28.8-64 64-64s64 28.8 64 64v256c0 35.2-28.8 64-64 64zM96 640c-35.2 0-64-28.8-64-64v-256c0-35.2 28.8-64 64-64s64 28.8 64 64v256c0 35.2-28.802 64-64 64zM192 224c0-53.020 42.98-96 96-96h32v-128c0-35.2 28.8-64 64-64s64 28.8 64 64v128h64v-128c0-35.2 28.802-64 64-64s64 28.8 64 64v128h32c53.020 0 96 42.98 96 96v352h-576v-352zM598.598 870.506l40.504 77.806c2.032 3.902 0.5 8.758-3.402 10.79s-8.758 0.5-10.79-3.402l-41.118-78.986c-32.198 12.448-67.194 19.286-103.792 19.286-36.596 0-71.592-6.838-103.796-19.286l-41.116 78.984c-2.032 3.902-6.886 5.434-10.79 3.402s-5.434-6.886-3.402-10.79l40.5-77.808c-90.63-41.018-156.24-127.584-167.62-230.504h572.44c-11.376 102.924-76.986 189.488-167.618 230.508zM352 689.6c-25.626 0-46.4 20.774-46.4 46.4s20.774 46.4 46.4 46.4 46.4-20.774 46.4-46.4c-0.002-25.626-20.774-46.4-46.4-46.4zM608 689.6c-25.626 0-46.402 20.774-46.402 46.4s20.778 46.4 46.402 46.4 46.398-20.774 46.398-46.4c0-25.626-20.772-46.4-46.398-46.4z" />
-<glyph unicode="&#xe63f;" d="M0.35 448l-0.35 312.074 384 52.144v-364.218zM448 821.518l511.872 74.482v-448h-511.872zM959.998 384l-0.126-448-511.872 72.016v375.984zM384 16.164l-383.688 52.594-0.020 315.242h383.708z" />
-<glyph unicode="&#xe640;" d="M880.634 829.226c25.698-12.576 48.094-30.486 64.502-52.482 34.536-46.3 44.236-109.372 28.836-187.466-15.56-79.026-50.416-145.734-101.166-194.044-9.282-9.702-19.222-18.746-29.804-27.080-54.356-42.802-122.998-65.428-198.508-65.428h-240.060l-64.564-302.726h-132.424l10.086 46.3h46.128l64.564 302.726h188.27c180.25 0 330.938 111.078 371.258 299.936 45.722 213.834-107.598 311.038-239.41 311.038h-449.278l-199.064-913.7h152.032l-24.032-110.3h263.66l64.564 302.726h188.27c180.25 0 330.938 111.078 371.258 299.936 33.716 157.68-40.804 251.932-135.118 290.564zM422.344 773.918h129.132c64.592 0 107.602-55.538 88.786-124.956-16.136-69.44-83.386-124.976-150.64-124.976h-123.758l56.48 249.932z" />
-<glyph unicode="&#xe641;" d="M416 832h96v-64h-96zM320 768h96v-64h-96zM416 704h96v-64h-96zM320 640h96v-64h-96zM416 576h96v-64h-96zM320 512h96v-64h-96zM416 448v-64h-96v-224c0-17.674 14.326-32 32-32h128c17.674 0 32 14.326 32 32v288h-96zM480 192h-128v64h128v-64zM903.432 760.57l-142.864 142.862c-31.112 31.112-92.568 56.568-136.568 56.568h-480c-44 0-80-36-80-80v-864c0-44 36-80 80-80h736c44 0 80 36 80 80v608c0 44-25.456 105.458-56.568 136.57zM858.178 715.314c3.13-3.13 6.25-6.974 9.28-11.314h-163.458v163.456c4.34-3.030 8.184-6.15 11.314-9.28l142.864-142.862zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16h480c4.832 0 10.254-0.61 16-1.704v-254.296h254.296c1.094-5.746 1.704-11.166 1.704-16v-608z" />
-<glyph unicode="&#xe642;" d="M384 348.554v114.226c0 15.128 6.696 29.436 18.854 40.286 12.16 10.848 28.192 16.826 45.146 16.826v57.11c-70.4 0-128-51.4-128-114.222v-85.666c0-15.772-14.328-28.558-32-28.558h-32v-57.11h32c17.674 0 32-12.79 32-28.558v-85.676c0-62.814 57.6-114.214 128-114.214v57.112c-16.954 0-32.988 5.976-45.146 16.826-12.158 10.852-18.854 25.154-18.854 40.278v114.234c0 15.77-14.328 28.554-32 28.554 17.674-0.002 32 12.788 32 28.552zM640 291.446v-114.234c0-15.124-6.696-29.426-18.854-40.278-12.158-10.85-28.19-16.826-45.146-16.826v-57.112c70.402 0 128 51.4 128 114.214v85.676c0 15.772 14.328 28.558 32 28.558h32v57.11h-32c-17.672 0-32 12.79-32 28.558v85.668c0 62.824-57.598 114.222-128 114.222v-57.11c16.958 0 32.988-5.978 45.146-16.83 12.16-10.848 18.854-25.156 18.854-40.284v-114.228c0-15.766 14.328-28.552 32-28.552-17.672 0.002-32-12.788-32-28.552zM903.432 760.57l-142.864 142.862c-31.112 31.112-92.568 56.568-136.568 56.568h-480c-44 0-80-36-80-80v-864c0-44 36-80 80-80h736c44 0 80 36 80 80v608c0 44-25.456 105.458-56.568 136.57zM858.178 715.314c3.13-3.13 6.25-6.974 9.28-11.314h-163.458v163.456c4.34-3.030 8.184-6.15 11.314-9.28l142.864-142.862zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16h480c4.832 0 10.254-0.61 16-1.704v-254.296h254.296c1.094-5.746 1.704-11.166 1.704-16v-608z" />
-<glyph unicode="&#xe643;" d="M269.978 618.803c10.291 0 20.224-1.536 29.542-4.454 35.328 39.578 74.496 75.622 116.89 107.571-1.741 7.424-2.816 15.206-2.816 23.245 0 11.162 1.843 21.811 5.222 31.744-47.462 34.099-99.174 62.669-154.061 84.787-51.558-31.846-96.461-73.37-132.25-122.010 26.573-47.053 58.214-90.931 94.106-130.918 13.158 6.4 27.853 10.035 43.366 10.035zM169.779 518.605c0 14.029 2.918 27.443 8.141 39.578-32.102 35.328-61.286 73.421-86.835 114.074-32-63.59-50.125-135.424-50.125-211.456 0-88.115 24.269-170.496 66.355-240.998 15.002 84.736 43.571 164.864 82.944 238.285-12.8 16.794-20.48 37.734-20.48 60.518zM513.792 845.414c26.522 0 50.483-10.342 68.403-27.085 52.275 22.477 107.366 39.731 164.659 50.739-69.171 39.834-149.299 62.771-234.854 62.771-58.317 0-114.125-10.701-165.632-30.106 40.909-20.224 79.923-43.725 116.531-70.349 14.95 8.858 32.307 14.029 50.893 14.029zM663.706 373.35c6.246 13.005 15.104 24.474 26.061 33.587-29.594 91.034-76.442 174.285-136.806 245.965-12.032-5.12-25.242-7.936-39.168-7.936-21.709 0-41.779 7.014-58.214 18.739-36.352-27.597-69.939-58.573-100.506-92.365 9.523-15.309 15.104-33.331 15.104-52.736 0-10.496-1.587-20.531-4.557-30.054 87.91-58.726 189.082-99.021 298.086-115.2zM793.702 238.029c1.331-18.944 2.099-38.093 2.099-57.395 0-34.048-2.202-67.482-6.298-100.403 79.923 58.368 140.698 141.158 171.418 237.517-36.352-8.806-73.626-15.104-111.667-18.739-8.96-27.392-29.338-49.613-55.552-60.979zM640.205 306.022c-116.275 19.251-224.102 63.59-317.901 127.181-15.258-9.37-33.075-14.848-52.275-14.848-7.066 0-13.875 0.768-20.531 2.15-44.902-85.197-73.626-180.224-81.92-280.883 44.851-48.077 99.584-86.784 161.075-112.794 76.288 117.299 182.989 214.426 311.552 279.194zM828.211 809.882c-75.469-7.27-147.558-26.214-214.682-54.682 0.41-3.277 0.563-6.656 0.563-10.035 0-15.821-3.738-30.72-10.291-43.981 67.072-78.746 119.142-170.496 152.064-270.899 40.704-0.768 75.571-25.702 90.573-61.184 45.363 4.608 89.498 13.312 132.045 25.805 2.918 21.504 4.557 43.469 4.557 65.894 0 138.445-59.75 262.963-154.829 349.082zM690.637 252.467c-120.064-56.218-220.365-142.797-293.069-248.627 36.608-9.165 74.957-14.080 114.432-14.080 71.117 0 138.394 15.821 198.81 43.981 9.677 47.462 14.848 96.563 14.848 146.893 0 18.125-0.87 36.147-2.202 54.016-12.083 3.84-23.194 9.933-32.819 17.818z" />
-<glyph unicode="&#xe644;" d="M102.502 829.491v-121.242c362.803 0 656.896-294.144 656.896-656.947h121.293c0 429.773-348.416 778.189-778.189 778.189zM102.502 586.957v-121.293c228.864 0 414.413-185.498 414.413-414.362h121.19c0 295.782-239.77 535.654-535.603 535.654zM218.726 283.75c-64.154 0-116.224-52.070-116.224-116.275s52.070-116.224 116.224-116.224c64.205 0 116.275 52.019 116.275 116.224s-52.070 116.275-116.275 116.275z" />
-<glyph unicode="&#xe645;" d="M35.328 392.602l69.786-17.306 52.531 82.534-99.84 24.73c-24.986 6.246-50.227-8.909-56.422-33.792-6.195-24.781 9.011-49.971 33.946-56.166zM946.227 379.29l-228.506-205.722-268.698 207.923c-5.12 3.994-11.008 6.81-17.306 8.397l-35.789 8.806-52.531-82.483 56.269-13.875 291.738-225.69c8.448-6.605 18.483-9.779 28.57-9.779 11.213 0 22.426 3.994 31.232 11.981l257.382 231.68c19.098 17.203 20.531 46.49 3.328 65.485-17.152 18.995-46.592 20.48-65.69 3.277zM444.621 605.133l250.214-160.205c21.094-13.466 49.152-7.885 63.437 12.646l257.434 370.79c14.592 21.094 9.318 49.92-11.827 64.512s-50.125 9.267-64.768-11.776l-231.834-333.926-251.75 161.178c-10.394 6.656-23.040 8.909-35.174 6.246s-22.63-9.984-29.235-20.429l-383.846-602.573c-13.824-21.606-7.373-50.176 14.336-63.898 7.731-4.915 16.384-7.219 24.934-7.219 15.411 0 30.464 7.578 39.322 21.504l358.758 563.149z" />
-<glyph unicode="&#xe646;" d="M459.059 860.262c-197.325-23.45-353.69-179.866-377.139-377.139h377.139v377.139zM566.938 859.494v-432.896c0-28.365-22.989-51.354-51.405-51.354h-432.896c27.699-211.712 208.538-375.194 427.725-375.194 238.387 0 431.718 193.229 431.718 431.718 0 219.187-163.482 400.026-375.142 427.725z" />
-<glyph unicode="&#xe647;" d="M819.2 870.4h-614.4c-56.32 0-102.4-46.080-102.4-102.4v-614.4c0-56.32 46.080-102.4 102.4-102.4h614.4c56.32 0 102.4 46.080 102.4 102.4v614.4c0 56.32-46.080 102.4-102.4 102.4zM768 409.6h-512v102.4h512v-102.4z" />
-<glyph unicode="&#xe648;" d="M819.2 870.4h-614.4c-56.32 0-102.4-46.080-102.4-102.4v-614.4c0-56.32 46.080-102.4 102.4-102.4h614.4c56.32 0 102.4 46.080 102.4 102.4v614.4c0 56.32-46.080 102.4-102.4 102.4zM768 409.6h-204.8v-204.8h-102.4v204.8h-204.8v102.4h204.8v204.8h102.4v-204.8h204.8v-102.4z" />
-<glyph unicode="&#xe649;" d="M505.702 931.789c-260.096-3.482-468.173-217.19-464.691-477.338 3.482-259.994 217.19-468.122 477.286-464.64s468.173 217.19 464.691 477.338c-3.43 260.045-217.19 468.122-477.286 464.64zM557.926 774.81c47.872 0 62.003-27.75 62.003-59.546 0-39.68-31.795-76.39-86.016-76.39-45.363 0-66.918 22.835-65.638 60.518 0 31.795 26.624 75.418 89.651 75.418zM435.149 166.4c-32.717 0-56.678 19.866-33.792 107.213l37.53 154.829c6.502 24.832 7.578 34.765 0 34.765-9.779 0-52.275-17.152-77.414-34.048l-16.333 26.778c79.616 66.458 171.162 105.472 210.381 105.472 32.717 0 38.144-38.707 21.811-98.253l-43.008-162.816c-7.578-28.774-4.301-38.707 3.277-38.707 9.779 0 41.984 11.878 73.626 36.762l18.483-24.832c-77.363-77.363-161.792-107.162-194.56-107.162z" />
-<glyph unicode="&#xe64a;" d="M721.408 858.419c-58.419 42.138-131.686 63.181-219.955 63.181-67.174 0-123.802-14.848-169.83-44.442-73.062-46.387-111.872-125.133-116.582-236.237h169.267c0 32.358 9.421 63.539 28.314 93.542s50.944 45.005 96.154 45.005c45.926 0 77.619-12.186 94.925-36.506 17.357-24.422 26.010-51.405 26.010-80.998 0-25.754-12.902-49.306-28.467-70.758-8.55-12.493-19.866-23.962-33.843-34.509 0 0-91.802-58.88-132.147-106.189-23.398-27.443-25.498-68.506-27.546-127.437-0.154-4.198 1.434-12.851 16.128-12.851s118.63 0 131.686 0 15.77 9.677 15.974 13.926c0.922 21.453 3.328 32.41 7.27 44.8 7.424 23.398 27.494 43.827 50.125 61.389l46.592 32.154c42.035 32.768 75.622 59.648 90.419 80.742 25.293 34.714 43.059 77.414 43.059 128.051 0 82.688-29.235 145.050-87.552 187.136zM498.739 208.691c-58.368 1.741-106.496-38.605-108.339-101.888-1.843-63.232 43.93-105.011 102.298-106.752 60.928-1.792 107.776 37.274 109.619 100.506 1.792 63.283-42.65 106.342-103.578 108.134z" />
-<glyph unicode="&#xe64b;" d="M505.754 931.789c-260.147-3.482-468.224-217.19-464.742-477.338 3.482-259.994 217.19-468.122 477.338-464.64 260.045 3.482 468.173 217.19 464.64 477.338-3.43 260.045-217.139 468.122-477.235 464.64zM504.371 174.080h-2.611c-40.038 1.178-68.301 30.72-67.174 70.195 1.126 38.758 30.054 66.97 68.813 66.97l2.355-0.051c41.165-1.229 69.12-30.464 67.891-71.066-1.126-38.861-29.645-66.048-69.274-66.048zM672.87 508.518c-9.472-13.363-30.157-30.003-56.269-50.33l-28.774-19.866c-15.77-12.288-25.293-23.808-28.826-35.123-2.867-9.011-4.198-11.315-4.454-29.491l-0.051-4.659h-109.722l0.307 9.318c1.331 38.195 2.304 60.621 18.125 79.206 24.832 29.133 79.616 64.41 81.92 65.894 7.834 5.939 14.438 12.646 19.405 19.814 11.52 15.872 16.589 28.416 16.589 40.653 0 17.050-5.069 32.819-15.053 46.848-9.626 13.568-27.904 20.429-54.323 20.429-26.214 0-44.134-8.346-54.886-25.395-11.11-17.562-16.64-35.942-16.64-54.784v-4.71h-113.152l0.205 4.915c2.918 69.325 27.648 119.194 73.523 148.326 28.774 18.586 64.614 27.955 106.394 27.955 54.733 0 101.018-13.312 137.37-39.526 36.864-26.573 55.552-66.406 55.552-118.323 0-29.082-9.165-56.371-27.238-81.152z" />
-<glyph unicode="&#xe64c;" d="M999.014 52.122l-456.090 800.307c-6.298 11.059-18.125 17.869-30.925 17.869s-24.576-6.81-30.925-17.869l-456.038-800.307c-6.195-10.854-6.093-24.115 0.256-34.867s18.022-17.357 30.618-17.357h912.128c12.493 0 24.218 6.605 30.618 17.357 6.349 10.752 6.451 24.013 0.358 34.867zM568.32 102.298h-112.64v102.4h112.64v-102.4zM568.32 281.498h-112.64v307.2h112.64v-307.2z" />
-<glyph unicode="&#xe64d;" d="M819.2 512h-614.4c-28.262 0-51.2-22.938-51.2-51.2s22.938-51.2 51.2-51.2h614.4c28.314 0 51.2 22.938 51.2 51.2s-22.886 51.2-51.2 51.2zM204.8 614.4h614.4c28.314 0 51.2 22.938 51.2 51.2s-22.886 51.2-51.2 51.2h-614.4c-28.262 0-51.2-22.938-51.2-51.2s22.938-51.2 51.2-51.2zM819.2 307.2h-614.4c-28.262 0-51.2-22.886-51.2-51.2s22.938-51.2 51.2-51.2h614.4c28.314 0 51.2 22.886 51.2 51.2s-22.886 51.2-51.2 51.2z" />
-<glyph unicode="&#xe64e;" d="M918.989 215.245v117.555c0 71.014-47.002 176.64-176.589 176.64h-102.4c-72.294 0-79.002 35.43-79.36 53.76v143.155c43.674 18.893 74.24 62.31 74.24 112.845 0 67.84-54.989 122.88-122.88 122.88s-122.88-55.040-122.88-122.88c0-50.534 30.566-93.952 74.24-112.845v-143.155c0-13.261-3.84-53.76-79.36-53.76h-102.4c-129.587 0-176.64-105.626-176.64-176.64v-117.555c-43.674-18.842-74.24-62.31-74.24-112.845 0-67.84 54.989-122.88 122.88-122.88 67.84 0 122.88 55.040 122.88 122.88 0 50.534-30.566 94.003-74.24 112.845v117.555c0 13.261 3.84 79.36 79.36 79.36h102.4c31.078 0 57.293 4.71 79.36 12.698v-209.613c-43.674-18.842-74.24-62.31-74.24-112.845 0-67.84 54.989-122.88 122.88-122.88s122.88 55.040 122.88 122.88c0 50.534-30.618 94.003-74.291 112.845v209.613c22.067-7.987 48.282-12.698 79.36-12.698h102.4c72.294 0 79.002-61.030 79.411-79.36v-117.555c-43.674-18.842-74.24-62.31-74.24-112.845 0-67.84 54.989-122.88 122.88-122.88s122.88 55.040 122.88 122.88c0 50.534-30.566 94.003-74.291 112.845zM224.512 102.4c0-39.168-31.744-70.912-70.912-70.912s-70.912 31.744-70.912 70.912 31.744 70.912 70.912 70.912 70.912-31.744 70.912-70.912zM441.088 819.2c0 39.168 31.795 70.912 70.912 70.912s70.861-31.744 70.861-70.912-31.744-70.912-70.861-70.912c-39.117 0-70.912 31.744-70.912 70.912zM582.912 102.4c0-39.168-31.795-70.912-70.861-70.912-39.168 0-70.912 31.744-70.912 70.912s31.744 70.912 70.861 70.912c39.117 0 70.912-31.744 70.912-70.912zM870.4 31.488c-39.117 0-70.912 31.744-70.912 70.912s31.795 70.912 70.912 70.912 70.912-31.744 70.912-70.912-31.795-70.912-70.912-70.912z" />
-<glyph unicode="&#xe64f;" d="M585.574 741.581c-21.402-20.89-230.502-240.435-230.502-240.435-11.418-11.162-17.101-25.754-17.101-40.346s5.683-29.184 17.101-40.346c0 0 209.101-219.546 230.502-240.384 21.402-20.89 59.904-22.323 82.739 0 22.784 22.272 24.576 53.35-0.051 80.64l-191.846 200.090 191.846 200.090c24.627 27.341 22.835 58.419 0.051 80.691-22.886 22.272-61.389 20.89-82.739 0z" />
-<glyph unicode="&#xe650;" d="M438.426 741.581c21.402-20.89 230.502-240.435 230.502-240.435 11.469-11.162 17.152-25.754 17.152-40.346s-5.683-29.184-17.152-40.346c0 0-209.101-219.546-230.502-240.384-21.402-20.89-59.853-22.323-82.739 0-22.835 22.272-24.627 53.35 0 80.64l191.898 200.090-191.846 200.090c-24.627 27.341-22.835 58.419 0 80.691s61.338 20.89 82.688 0z" />
-<glyph unicode="&#xe651;" d="M634.829 285.798c13.722-13.875 13.722-36.301 0-50.125-13.722-13.875-35.891-13.875-49.613 0l-196.096 200.038c-13.722 13.875-13.722 36.301 0 50.125l196.096 200.090c13.722 13.875 35.891 13.875 49.613 0s13.722-36.25 0-50.125l-160.768-175.002 160.768-175.002z" />
-<glyph unicode="&#xe652;" d="M389.171 285.798c-13.722-13.875-13.722-36.301 0-50.125 13.67-13.875 35.891-13.875 49.613 0l196.096 200.038c13.722 13.875 13.722 36.301 0 50.125l-196.096 200.090c-13.722 13.875-35.891 13.875-49.613 0s-13.722-36.25-0.051-50.074l160.819-175.053-160.768-175.002z" />
-<glyph unicode="&#xe653;" d="M737.229 80.998c13.722-13.875 13.722-36.25 0-50.125s-35.891-13.875-49.613 0l-400.896 404.838c-13.722 13.875-13.722 36.301 0 50.125l400.896 404.89c13.722 13.875 35.891 13.875 49.613 0s13.722-36.25 0-50.125l-365.568-379.802 365.568-379.802z" />
-<glyph unicode="&#xe654;" d="M286.704 80.998c-13.722-13.875-13.722-36.25 0-50.125s35.891-13.875 49.613 0l400.896 404.838c13.722 13.875 13.722 36.301 0 50.125l-400.896 404.89c-13.722 13.875-35.891 13.875-49.613 0s-13.722-36.25 0-50.125l365.568-379.802-365.568-379.802z" />
+<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
+<glyph unicode="&#xe600;" glyph-name="flatscreen" horiz-adv-x="1279" d="M1230.2 948.463h-1178.505c-16.134 0-29.219-13.085-29.219-29.219v-813.28c0-16.134 13.085-29.203 29.219-29.203h443.167v-70.082c0-1.011 0.199-1.977 0.306-2.957h-63.601c-14.786 0-26.782-11.997-26.782-26.782s11.997-26.798 26.782-26.798h433.422c14.786 0 26.782 11.997 26.782 26.798 0 14.786-11.997 26.782-26.782 26.782h-63.601c0.092 0.965 0.322 1.946 0.322 2.957v70.082h428.55c16.149 0 29.219 13.085 29.219 29.203v813.28c-0.046 16.134-13.131 29.219-29.28 29.219zM1176.635 233.442c0-16.134-13.085-29.219-29.219-29.219h-1012.938c-16.134 0-29.219 13.085-29.219 29.219v616.655c0 16.134 13.085 29.219 29.219 29.219h1012.938c16.134 0 29.219-13.085 29.219-29.219v-616.655zM139.489 850.097h1004.541v-617.866h-1004.541v617.866z" />
+<glyph unicode="&#xe601;" glyph-name="clapperboard" horiz-adv-x="1029" d="M1029.404 579.378v-643.378h-1029.404v557.597h85.781l85.79 85.781h85.781l-85.781-85.781h128.676l85.781 85.781h85.781l-85.781-85.781h128.676l85.79 85.781h85.771l-85.771-85.781h128.676l85.771 85.781h85.79l-85.79-85.781h128.676l85.79 85.781zM957.254 960l-81.764-25.91 107.665-55.891-25.901 81.801zM42.895 536.483c23.695 0 42.895 19.2 42.895 42.895s-19.2 42.895-42.895 42.895c-23.685 0-42.895-19.2-42.895-42.895s19.2-42.895 42.895-42.895zM164.962 619.267l53.823-27.923 776.456 246.074-12.711 40.965-122.462-38.814-107.242 55.634-81.792-25.91 107.306-55.634-122.674-38.869-107.306 55.643-81.755-25.91 107.26-55.661-122.665-38.869-107.269 55.625-81.792-25.91 107.315-55.634-122.72-38.888-107.214 55.661-81.782-25.901 107.223-55.68z" />
+<glyph unicode="&#xe602;" glyph-name="kodi-symbol" horiz-adv-x="1040" d="M1010.029 443.105c-3.176-10.312-10.144-17.862-17.605-25.295-49.987-49.819-99.818-99.806-149.697-149.721-17.974-17.982-37.181-17.934-55.224 0.129-51.481 51.521-102.966 103.034-154.427 154.564-17.532 17.557-17.524 36.719 0.052 54.316 51.754 51.826 103.516 103.645 155.291 155.439 16.846 16.858 36.635 16.862 53.481 0.016 50.192-50.2 100.308-100.476 150.584-150.572 7.465-7.441 14.4-15.023 17.545-25.339 0-4.514 0-9.023 0-13.537zM513.819-39.561c-10.264 3.265-17.701 10.369-25.102 17.814-49.774 50.027-99.701 99.902-149.572 149.833-17.846 17.87-17.866 36.936-0.060 54.766 51.618 51.662 103.235 103.32 154.869 154.973 17.163 17.167 36.828 17.231 53.899 0.149 51.626-51.654 103.247-103.32 154.857-154.989 17.729-17.757 17.781-37.209 0.124-54.874-50.305-50.361-100.693-100.653-150.881-151.122-7.184-7.22-14.573-13.714-24.588-16.545-4.514-0.004-9.027-0.004-13.545-0.004zM332.663 573.663c0 57.436 0.518 114.881-0.325 172.309-0.245 16.625 3.727 29.612 16.42 40.574 10.212 8.826 19.263 19.006 28.829 28.588 37.84 37.88 75.676 75.764 113.527 113.628 17.798 17.798 36.997 17.785 54.786-0.008 51.485-51.501 102.966-103.014 154.439-154.528 17.681-17.697 17.669-37.161-0.012-54.866-60.878-60.954-121.78-121.9-182.674-182.85-53.774-53.826-107.54-107.657-161.322-161.479-9.963-9.967-18.789-7.646-22.412 6.172-1.116 4.273-1.205 8.911-1.209 13.38-0.072 59.689-0.048 119.386-0.048 179.080zM209.547 449.201c0-52.714 0.076-105.436-0.104-158.15-0.020-5.004-0.815-10.304-2.606-14.954-3.518-9.152-10.124-10.288-17.031-3.393-24.243 24.203-48.417 48.473-72.616 72.712-27.969 28.021-55.947 56.031-83.904 84.068-11.573 11.597-11.625 27.696-0.096 39.354 51.481 52.075 102.974 104.139 154.491 156.19 3.409 3.441 6.618 8.112 12.404 5.923 5.534-2.088 7.718-7.080 8.505-12.613 0.49-3.429 0.879-6.915 0.883-10.373 0.052-52.923 0.036-105.849 0.036-158.772 0.012 0.008 0.024 0.008 0.036 0.008z" />
+<glyph unicode="&#xe603;" glyph-name="kodi-text" horiz-adv-x="3091" d="M1323.932 940.121c8.823-0.554 17.647-1.109 26.455-1.709 67.646-4.666 132.304-20.526 192.712-51.924 43.177-22.436 81.458-51.477 115.581-86.108 37.064-37.588 67.723-79.749 90.82-127.299 16.938-34.893 28.703-71.526 36.849-109.406 9.978-46.426 13.274-93.423 11.287-140.742-3.187-75.884-19.972-148.442-55.758-215.949-24.961-47.104-57.498-88.434-96.21-124.99-62.071-58.622-134.829-96.872-218.397-114.565-30.936-6.56-62.148-10.656-93.746-11.657-1.447-0.046-2.864-0.462-4.281-0.693-12.411 0-24.807 0-37.203 0-8.069 0.554-16.153 1.139-24.222 1.709-96.81 7.006-185.152 36.926-261.713 97.842-60.424 48.074-107.743 106.742-140.019 177.144-16.415 35.786-27.363 73.297-34.693 111.932-8.3 43.686-10.918 87.802-8.7 132.134 4.666 93.315 29.242 180.44 83.383 257.663 63.365 90.343 146.224 154.586 253.197 185.644 32.599 9.47 65.829 15.768 99.721 18.386 10.733 0.832 21.496 1.247 32.244 1.909 1.755 0.092 3.495 0.447 5.235 0.678 9.147 0 18.309 0 27.456 0zM1309.226 81.701c34.4 0.308 67.707 3.095 100.367 11.179 71.141 17.57 130.302 54.464 177.329 110.731 47.997 57.421 72.958 124.143 79.733 198.132 2.325 25.315 2.587 50.692 1.078 76.084-1.617 27.563-5.266 54.849-12.581 81.504-22.836 83.26-69.601 149.673-141.451 197.717-53.71 35.925-113.826 52.37-177.945 55.542-35.047 1.725-69.894 0.154-104.448-6.129-60.362-10.948-114.072-35.894-160.36-76.438-44.902-39.328-77.316-87.094-97.411-143.268-15.198-42.5-21.281-86.524-21.927-131.457-0.508-34.924 1.925-69.586 9.547-103.709 13.766-61.548 41.422-115.904 84.661-162.223 38.142-40.837 83.491-70.233 136.338-88.233 41.484-14.151 84.368-18.956 127.068-19.433zM3074.341-22.778c-3.649-8.793-6.437-10.594-16.369-10.594-32.475 0-64.966-0.015-97.442 0-11.441 0-15.676 4.235-15.676 15.737 0 310.049 0 620.082 0 930.115 0 11.934 4.204 16.076 16.307 16.091 32.475 0 64.966 0.123 97.426-0.169 4.004-0.031 8.392-1.617 11.811-3.742 2.094-1.293 2.695-4.958 3.957-7.576-0.015-313.282-0.015-626.565-0.015-939.863zM425.229 538.389c16.399-21.773 32.629-43.331 48.844-64.889 34.4-45.734 68.816-91.467 103.232-137.201 44.255-58.822 88.495-117.629 132.75-176.436 43.362-57.637 86.709-115.273 130.133-172.864 3.203-4.235 4.604-8.562 2.294-13.474-2.325-4.974-6.868-6.591-11.995-6.883-2.356-0.139-4.712-0.015-7.083-0.015-40.005 0-80.011 0.031-120.016-0.046-6.837-0.015-11.872 2.264-16.138 7.992-75.468 100.829-151.090 201.582-226.681 302.349-42.946 57.221-85.893 114.411-128.839 171.616-0.354 0.477-0.755 0.893-1.386 1.617-5.205-4.866-10.379-9.655-15.522-14.475-34.816-32.568-69.617-65.136-104.448-97.688-19.202-17.939-38.388-35.878-57.698-53.695-2.495-2.294-3.511-4.558-3.511-7.961 0.077-97.442 0.062-194.883 0.062-292.325 0-1.17 0.031-2.356 0-3.526-0.246-8.931-4.789-13.797-13.72-13.812-34.108-0.139-68.215-0.108-102.308-0.015-8.654 0.031-13.212 4.897-13.381 13.581-0.031 1.032-0.015 2.079-0.015 3.095 0 309.448 0 618.881 0 928.314 0 0.308 0 0.601 0 0.893 0.046 11.734 4.281 16.014 15.937 16.014 31.151 0.015 62.302 0.015 93.453 0.015 2.063 0 4.142 0.062 6.19-0.015 9.024-0.416 13.458-4.851 13.843-13.828 0.062-1.34 0-2.664 0-3.988 0-149.997 0-299.994 0-449.975 0-1.725 0-3.434 0-6.236 7.73 7.206 14.721 13.705 21.65 20.203 41.114 38.573 82.213 77.193 123.342 115.735 53.941 50.569 107.943 101.076 161.884 151.66 45.225 42.392 90.405 84.83 135.615 127.238 19.048 17.893 38.157 35.709 57.144 53.648 3.973 3.757 8.5 5.574 13.92 5.574 47.689-0.015 95.363 0 143.052-0.015 8.13 0 12.719-2.941 14.428-9.008 1.417-5.020-0.508-8.931-4.034-12.288-13.797-13.12-27.594-26.224-41.437-39.297-24.484-23.082-49.013-46.134-73.497-69.216-33.954-31.983-67.877-63.965-101.799-95.979-34.77-32.814-69.493-65.675-104.279-98.489-23.159-21.881-46.411-43.716-69.986-65.906zM1945.646 447.492c0 154.416 0 308.863 0 463.279 0 1.34-0.015 2.664 0 3.988 0.169 8.746 4.573 13.32 13.274 13.797 0.585 0.031 1.186 0.015 1.771 0.015 132.442-0.015 264.87 0.323 397.297-0.185 60.916-0.231 119.2-13.905 174.804-38.789 48.367-21.635 90.882-51.785 127.792-89.727 60.131-61.779 100.090-134.644 119.723-218.705 11.302-48.397 15.984-97.411 14.952-146.994-1.386-66.598-12.935-131.257-38.188-193.128-21.081-51.647-51.262-97.519-89.28-138.263-58.391-62.533-129.286-103.616-212.376-123.758-35.863-8.669-72.188-12.55-109.083-12.519-128.3 0.216-256.601 0.077-384.901 0.092-2.202 0-4.419 0.154-6.575 0.477-4.743 0.755-7.684 3.603-8.515 8.315-0.447 2.448-0.647 4.958-0.647 7.437-0.046 154.924-0.046 309.787-0.046 464.665zM2075.209 90.447c2.202 0 3.957 0 5.713 0 86.216 0 172.432-0.077 258.649 0.077 15.475 0.031 30.982 0.678 46.411 1.894 32.029 2.51 62.564 10.995 91.775 24.376 38.188 17.493 70.248 42.962 97.873 74.406 25.746 29.319 46.072 61.933 61.070 97.904 15.953 38.281 24.53 78.24 27.717 119.539 2.91 37.696 1.725 75.191-3.942 112.532-6.729 44.132-21.065 85.739-43.254 124.512-24.668 43.1-56.466 79.995-97.318 108.513-48.906 34.138-103.801 50.030-163.085 50.307-92.268 0.447-184.551 0.154-276.819 0.169-1.555 0-3.126 0-4.804 0 0.015-238.292 0.015-475.937 0.015-714.228z" />
+<glyph unicode="&#xe604;" glyph-name="linux" horiz-adv-x="872" d="M849.719 124.754c-27.065 11.106-49.364 28.595-47.79 62.087 1.574 33.448-23.917 55.572-23.917 55.572s22.343 73.28 1.574 133.75c-20.681 60.513-89.108 157.579-141.62 230.728-52.381 73.28-7.87 157.666-55.572 265.838-47.79 108.171-171.876 101.832-238.729 55.66-66.897-46.084-46.216-160.639-43.067-214.856 3.192-54.042 1.443-92.562-4.678-106.554-6.34-13.991-49.32-65.323-78.002-108.259-28.639-42.936-49.32-132.088-70.132-168.685-20.681-36.596-6.34-70.001-6.34-70.001s-14.341-4.722-25.491-28.726c-11.149-23.785-33.405-34.935-73.193-42.805-39.788-7.958-39.788-33.536-30.257-62.175 9.575-28.595 0.044-44.598-11.106-81.063s44.554-47.79 98.64-53.998c54.129-6.384 114.599-41.406 165.58-47.79 50.85-6.384 66.809 34.979 66.809 34.979s57.278 12.811 117.659 14.298c60.557 1.618 117.703-12.723 117.703-12.723s11.149-25.447 31.831-36.553c20.769-11.149 65.279-12.767 93.918 17.358 28.682 30.3 105.067 68.427 148.003 92.387 43.111 23.917 35.241 60.469 8.176 71.531zM477.284 826.556c27.283 0 49.32-27.065 49.32-60.426 0-23.698-11.062-44.117-27.196-54.042-4.11 1.793-8.395 3.629-13.030 5.597 9.75 4.81 16.615 17.183 16.615 31.612 0 18.801-11.63 34.060-26.015 34.060-14.21 0-25.884-15.303-25.884-34.060 0-6.952 1.661-13.642 4.504-19.107-8.439 3.367-16.309 6.515-22.43 8.832-3.323 8.133-5.203 17.314-5.203 27.108 0 33.361 22.037 60.426 49.32 60.426zM473.742 699.147c13.685-4.722 28.814-13.598 27.24-22.386-1.618-8.832-8.788-8.832-27.24-20.113-18.495-11.193-58.546-36.028-71.356-37.646-12.898-1.618-20.069 5.597-33.711 14.385-13.642 8.832-39.307 29.776-32.836 40.925 0 0 19.982 15.303 28.726 23.305 8.832 8.045 31.35 27.24 44.948 24.747 13.685-2.317 50.588-18.408 64.23-23.217zM350.748 816.981c21.512 0 39.001-25.622 39.001-57.234 0-5.815-0.568-11.193-1.661-16.396-5.247-1.793-10.581-4.678-15.697-9.051-2.667-2.142-4.984-4.154-7.214-6.165 3.41 6.384 4.766 15.478 3.236 25.053-2.886 17.271-14.385 29.863-25.797 28.070-11.368-1.968-18.233-17.489-15.347-34.847 2.929-17.358 14.385-29.95 25.753-28.070 0.656 0.131 1.268 0.306 1.924 0.525-5.553-5.334-10.668-9.925-15.872-13.817-15.74 7.302-27.283 29.032-27.283 54.742 0 31.612 17.446 57.19 38.957 57.19zM308.73 12.866c-5.072-22.824-31.831-39.395-31.831-39.395-24.223-7.608-91.557 21.599-122.075 34.41-30.431 12.636-108.084 16.571-118.272 27.852-10.056 11.587 5.072 36.99 8.963 61.038 3.76 24.266-7.608 39.438-3.848 56.010 3.848 16.484 53.43 16.484 72.45 27.939 19.107 11.456 22.867 44.51 38.17 53.386 15.259 8.963 43.199-22.78 54.654-40.706 11.412-17.708 54.654-94.049 72.45-113.112s34.41-44.598 29.338-67.421zM590.177 234.63c-4.547-22.43-4.547-103.493-4.547-103.493s-49.32-68.34-125.792-79.533c-76.385-11.193-114.599-3.148-114.599-3.148l-42.936 49.276c0 0 33.361 4.853 28.639 38.258-4.81 33.448-101.832 79.576-119.365 121.026-17.402 41.319-3.104 111.451 19.151 146.473 22.211 34.891 36.465 111.232 58.764 136.767 22.299 25.36 39.744 79.489 31.831 103.406 0 0 47.746-57.321 81.063-47.833 33.405 9.575 108.346 65.323 119.365 55.704 11.106-9.575 106.597-219.578 116.042-286.431 9.619-66.765-6.384-117.659-6.384-117.659s-36.509 9.488-41.231-12.811zM834.416 84.703c-14.866-13.685-97.547-47.046-122.382-73.105-24.616-25.884-56.884-46.871-76.603-40.794-19.85 6.296-37.121 33.448-28.464 73.018 8.613 39.482 16.090 82.812 14.91 107.516-1.224 24.704-6.296 58.196 0 63.136 6.165 4.766 15.959 2.405 15.959 2.405s-4.81-46.871 23.523-59.333c28.376-12.243 69.214 4.941 81.588 17.358 12.417 12.286 21.075 30.825 21.075 30.825s12.286-6.296 11.106-26.015c-1.224-19.719 8.57-48.271 27.24-58.065 18.495-9.707 46.915-23.392 32.049-36.946z" />
+<glyph unicode="&#xe605;" glyph-name="music" horiz-adv-x="1203" d="M179.763 363.527v238.597c0 32.946-26.703 59.649-59.649 59.649s-59.649-26.703-59.649-59.649v-238.597c0-32.966 26.703-59.649 59.649-59.649s59.649 26.663 59.649 59.649zM371.973 114.948v695.929c0 32.946-26.703 59.649-59.649 59.649s-59.649-26.703-59.649-59.649v-695.929c0-32.926 26.703-59.649 59.649-59.649s59.649 26.703 59.649 59.649zM564.183 217.704v384.4c0 32.946-26.703 59.649-59.649 59.649s-59.649-26.703-59.649-59.649v-384.4c0-32.966 26.703-59.649 59.649-59.649s59.649 26.663 59.649 59.649zM1087.765 542.435c-32.946 0-59.649-26.703-59.649-59.649v-331.412c0-32.926 26.703-59.649 59.649-59.649s59.649 26.723 59.649 59.649v331.412c0 32.946-26.703 59.649-59.649 59.649zM895.575 960c-32.946 0-59.649-26.703-59.649-59.649v-904.701c0-32.926 26.703-59.649 59.649-59.649s59.649 26.723 59.649 59.649v904.701c0 32.946-26.723 59.649-59.649 59.649zM703.365 91.725c32.946 0 59.649 26.723 59.649 59.649v574.98c0 32.946-26.703 59.649-59.649 59.649s-59.649-26.703-59.649-59.649v-574.98c0-32.946 26.703-59.649 59.649-59.649z" />
+<glyph unicode="&#xe606;" glyph-name="pi" horiz-adv-x="793" d="M574.745 949.718c5.611 0 11.222 0 16.826 0 34.465-7.35 68.818-15.297 103.417-21.918 49.657-9.497 72.893-38.183 63.383-81.17-17.717-80.132-53.045-148.235-131.451-186.066 55.71-43.611 70.923-70.284 81.366-129.052 2.763-15.549 12.211-32.558 23.734-43.457 58.684-55.485 67.71-134.81 24.464-203.509-12.856-20.424-21.771-46.073-23.797-70.067-6.193-73.532-42.461-121.589-108.579-153.060-41.5-19.751-81.422-44.607-118.005-72.501-60.234-45.933-135.666-51.032-197.751-10.373-49.615 32.494-100.682 62.815-151.65 93.205-42.3 25.221-67.773 61.384-81.899 108.53-11.341 37.839-26.252 75.026-43.569 110.557-25.081 51.467-33.666 105.605 0.484 151.285 32.649 43.674 53.942 88.113 68.629 140.337 8.886 31.576 40.967 56.629 62.366 84.27-13.466 10.801-33.427 23.005-48.479 39.648-34.935 38.624-59.553 84.354-64.252 136.304-1.95 21.574-14.841 51.382 12.779 67.633 15.402 9.062 34.087 13.27 51.81 17.548 33.518 8.087 67.402 14.652 101.138 21.848 5.611 0 11.222 0 16.826 0 8.262-2.293 16.412-5.155 24.8-6.782 50.036-9.735 98.886-21.455 126.008-71.435 6.579-12.127 12.548-24.576 19.856-38.975 2.279 4.818 3.9 7.652 5.015 10.675 25.2 68.005 78.659 93.647 146.453 98.542 6.845 0.491 13.396 5.218 20.080 7.982zM726.507 887.093c-11.341 1.045-33.189 0.722-33.575 3.451-3.563 24.983-18.481 11.278-29.563 10.703-5.288-0.274-11.033-0.814-15.865 0.835-13.88 4.72-27.122 13.642-41.149 14.911-12.309 1.108-23.222-6.032-38.863-2.616-16.91 3.696-37.727-10.436-57.449-16.994-1.592 2.202-4.215 5.849-7.554 10.485-8.627-9.763-15.030-23.615-22.254-24.064-40.027-2.483-42.194-35.952-51.053-61.426-11.643-33.469-2.602-49.531 26.372-66.083 54.805 30.951 107.758 60.844 160.712 90.743 1.452-2.504 2.904-5.015 4.356-7.519-13.88-8.269-28.384-15.641-41.493-24.99-31.092-22.184-61.756-44.986-91.95-68.356-4.959-3.836-9.868-12.134-9.363-17.892 2.7-30.503 80.777-70.74 108.179-55.591 17.597 9.728 32.754 24.141 50.779 32.74 12.884 6.144 23.769 9.546 28.763 25.677 3.093 9.98 20.873 7.357 21.806 28.511 0.884 19.786 23.131 38.624 36.107 58.080-5.246 2.041-9.693 3.766-14.799 5.744 8.571 9.84 15.739 18.081 23.538 27.031-32.074 10.205-0.189 24.695-5.681 36.619zM350.629 755.221c19.645 9.658 35.517 27.627 27.704 51.88-8.816 27.353-23.257 53.613-39.424 77.529-5.962 8.816-23.797 9.609-40.504 15.591 1.305 1.073-2.665-2.195-7-5.751-9.588 8.844-17.24 13.228-33.883 12.611-22.823-0.849-44.572 11.411-70.586 0.014-17.632-7.736-41.058-2.237-61.889-2.707-2.784-0.063-7.904-0.035-8.024-0.708-4.208-25.025-27.045-10.507-35.728-15.192 0.722-15.437 1.298-27.718 1.873-40.006-2.588-0.414-5.169-0.828-7.757-1.241 7.238-7.918 14.469-15.837 22.409-24.527-5.92-1.992-10.163-3.416-15.388-5.169 7.596-9.581 23.131-22.963 20.894-27.396-11.79-23.419 17.163-27.192 19.842-45.533 2.16-14.778 29.878-25.838 46.283-38.526 1.459-1.129 3.016-2.146 4.58-3.121 17.31-10.675 34.15-29.177 52.063-30.285 32.081-1.978 64.954 6.298 89.046 32.186 15.942 17.127 18.986 33.301-3.198 48.626-17.618 12.169-33.876 26.301-51.474 38.505-21.153 14.673-43.085 28.23-64.68 42.272 1.599 2.602 3.191 5.204 4.79 7.806 48.724-28.195 97.441-56.404 150.051-86.858zM164.492 409.348c-0.288-59.736 36.794-99.679 92.707-99.868 65.606-0.231 121.681 60.164 121.933 131.317 0.203 57.197-37.993 98.732-91.452 99.447-64.687 0.856-122.859-60.949-123.189-130.897zM636.549 411.683c-0.337 53.69-37.341 106.524-87.496 124.9-56.951 20.866-107.815-6.439-121.582-65.276-12.463-53.241 17.373-116.028 68.194-143.514 71.021-38.414 141.389 3.493 140.884 83.891zM403.218 120.152c61.461 0.905 116.441 52.701 114.562 107.941-1.936 57.042-54.812 103.515-115.873 101.846-62.268-1.697-112.366-48.773-112.584-105.795-0.224-55.934 53.374-104.876 113.895-103.992zM701.012 219.627c-4.58 21.651 1.248 53.928-28.833 66.7-27.816 11.811-52.301-3.949-73.461-22.128-37.846-32.537-64.47-71.961-72.024-122.312-6.193-41.325 14.441-62.359 55.387-57.183 67.177 8.459 115.972 62.155 118.931 134.923zM226.213 83.063c28.104-1.382 44.6 14.764 45.533 44.572 1.739 56.039-61.475 136.416-115.74 147.175-26.35 5.225-45.835-7.722-51.551-34.262-15.914-73.938 45.785-153.747 121.758-157.486zM384.049 670.040c-14.455-7.189-43.941-18.18-69.12-35.454-23.924-16.405-20.732-42.461 2.658-60.668 39.676-30.895 125.763-33.371 166.996-4.804 24.029 16.644 26.954 40.693 6.221 61.461-24.66 24.695-54.938 37.537-106.756 39.466zM400.202 91.508c-28.083-7.961-60.479-14.89-91.052-26.561-22.149-8.444-20.747-25.067-5.239-41.816 50.976-55.051 144.819-54.083 193.276 2.378 21.188 24.681 18.832 37.944-12.681 48.142-25.242 8.178-52.14 11.278-84.305 17.857zM708.229 281.733c61.882 53.101 56.039 147.603-7.743 190.24-16.615 11.103-26.891 10.065-30.727-11.881-9.433-53.935 1.866-104.939 21.511-154.652 3.177-8.045 10.261-14.546 16.959-23.706zM133.337 408.506c-2.258 0.575-4.524 1.15-6.782 1.732 0 8.367 1.739 17.205-0.393 24.99-3.514 12.849-9.525 25.018-14.483 37.474-11.776-6.368-25.81-10.45-34.935-19.491-42.089-41.71-46.255-107.211-11.566-155.655 15.458-21.581 27.886-22.374 37.397 2.616 13.312 34.949 20.789 72.115 30.762 108.334zM515.051 640.196c18.867-45.014 114.969-125.173 157.878-132.327 14.203 85.188-73.433 160.319-157.878 132.327zM279.643 637.671c-40.42 18.509-92.363 6.319-125.763-27.178-30.061-30.159-44.081-75.502-30.18-104.539 61.777 32.347 115.032 73.553 155.943 131.717zM574.745 949.718c-6.684-2.763-13.235-7.484-20.073-7.982-67.801-4.896-121.253-30.531-146.453-98.528-1.115-3.023-2.735-5.863-5.015-10.675-7.308 14.392-13.277 26.848-19.856 38.975-27.122 49.966-75.972 61.685-126.008 71.42-8.388 1.627-16.538 4.489-24.8 6.782 114.071 0.007 228.135 0.007 342.205 0.007z" />
+<glyph unicode="&#xe607;" glyph-name="home" d="M1024 369.556l-512 397.426-512-397.428v162.038l512 397.426 512-397.428zM896 384v-384h-256v256h-256v-256h-256v384l384 288z" />
+<glyph unicode="&#xe608;" glyph-name="pencil" d="M864 960c88.364 0 160-71.634 160-160 0-36.020-11.91-69.258-32-96l-64-64-224 224 64 64c26.742 20.090 59.978 32 96 32zM64 224l-64-288 288 64 592 592-224 224-592-592zM715.578 596.422l-448-448-55.156 55.156 448 448 55.156-55.156z" />
+<glyph unicode="&#xe609;" glyph-name="image" d="M0 832v-832h1024v832h-1024zM960 64h-896v704h896v-704zM704 608c0 53.019 42.981 96 96 96s96-42.981 96-96c0-53.019-42.981-96-96-96s-96 42.981-96 96zM896 128h-768l192 512 256-320 128 96z" />
+<glyph unicode="&#xe60a;" glyph-name="music2" d="M320 768l704 192v-736c0-88.366-100.29-160-224-160s-224 71.634-224 160c0 88.366 100.29 160 224 160 34.358 0 66.902-5.532 96-15.406v329.588l-448-122.182v-480c0-88.366-100.288-160-224-160s-224 71.634-224 160c0 88.366 100.288 160 224 160 34.358 0 66.902-5.532 96-15.406v527.406z" />
+<glyph unicode="&#xe60b;" glyph-name="headphones" d="M192 381.714v-443.43c10.454-1.496 21.134-2.286 32-2.286h32v448.002h-32c-10.866 0-21.546-0.79-32-2.286zM768 384v-448h32c10.868 0 21.546 0.79 32 2.286v443.428c-10.454 1.496-21.132 2.286-32 2.286h-32zM1024 448c0 282.77-229.23 512-512 512s-512-229.23-512-512c0-61.418 10.828-120.306 30.656-174.874-19.472-33.202-30.656-71.852-30.656-113.126 0-89.354 52.326-166.478 128-202.432v404.864c-20.126-9.562-38.58-22.060-54.858-36.904-5.992 29.22-9.142 59.478-9.142 90.472 0 247.424 200.576 448 448 448s448-200.576 448-448c0-30.994-3.148-61.252-9.142-90.472-16.28 14.844-34.73 27.342-54.858 36.904v-404.864c75.676 35.954 128 113.078 128 202.432 0 41.274-11.184 79.924-30.656 113.126 19.828 54.568 30.656 113.456 30.656 174.874z" />
+<glyph unicode="&#xe60c;" glyph-name="play" d="M981.188 799.892c-143.632 20.65-302.332 32.108-469.186 32.108-166.86 0-325.556-11.458-469.194-32.108-27.53-107.726-42.808-226.75-42.808-351.892 0-125.14 15.278-244.166 42.808-351.89 143.638-20.652 302.336-32.11 469.194-32.11 166.854 0 325.552 11.458 469.186 32.11 27.532 107.724 42.812 226.75 42.812 351.89 0 125.142-15.28 244.166-42.812 351.892zM384.002 256v384l320-192-320-192z" />
+<glyph unicode="&#xe60d;" glyph-name="film" d="M0 832v-768h1024v768h-1024zM192 128h-128v128h128v-128zM192 384h-128v128h128v-128zM192 640h-128v128h128v-128zM768 128h-512v640h512v-640zM960 128h-128v128h128v-128zM960 384h-128v128h128v-128zM960 640h-128v128h128v-128zM384 640v-384l256 192z" />
+<glyph unicode="&#xe60e;" glyph-name="camera" d="M384 672c0 88.366 71.634 160 160 160s160-71.634 160-160c0-88.366-71.634-160-160-160s-160 71.634-160 160zM0 672c0 88.366 71.634 160 160 160s160-71.634 160-160c0-88.366-71.634-160-160-160s-160 71.634-160 160zM768 352v96c0 35.2-28.8 64-64 64h-640c-35.2 0-64-28.8-64-64v-320c0-35.2 28.8-64 64-64h640c35.2 0 64 28.8 64 64v96l256-160v448l-256-160zM640 192h-512v192h512v-192z" />
+<glyph unicode="&#xe60f;" glyph-name="pacman" d="M964.73 781.196c-93.902 109.45-233.21 178.804-388.73 178.804-282.77 0-512-229.23-512-512s229.23-512 512-512c155.52 0 294.828 69.356 388.728 178.804l-324.728 333.196 324.73 333.196zM704 839.398c39.432 0 71.398-31.964 71.398-71.398 0-39.432-31.966-71.398-71.398-71.398s-71.398 31.966-71.398 71.398c0 39.432 31.966 71.398 71.398 71.398z" />
+<glyph unicode="&#xe610;" glyph-name="tag" d="M927.812 960h-288.562c-52.906 0-126.796-30.606-164.204-68.014l-446.99-446.99c-37.408-37.408-37.408-98.624 0-136.032l344.91-344.906c37.408-37.41 98.622-37.41 136.030 0l446.99 446.988c37.408 37.41 68.014 111.302 68.014 164.204v288.562c0 52.904-43.286 96.188-96.188 96.188zM800 640c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96z" />
+<glyph unicode="&#xe611;" glyph-name="tags" horiz-adv-x="1088" d="M992 896h-224c-52.8 0-126.546-30.546-163.882-67.882l-376.236-376.236c-37.334-37.334-37.334-98.428 0-135.764l280.236-280.234c37.334-37.336 98.428-37.336 135.764 0l376.234 376.234c37.338 37.336 67.884 111.082 67.884 163.882v224c0 52.8-43.2 96-96 96zM864 576c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96zM86.626 361.374l342.378-342.378c-36.264-19.16-82.462-13.538-112.886 16.888l-280.236 280.234c-37.334 37.336-37.334 98.43 0 135.764l376.236 376.236c37.336 37.336 111.082 67.882 163.882 67.882l-489.374-489.372c-12.444-12.446-12.444-32.808 0-45.254z" />
+<glyph unicode="&#xe612;" glyph-name="location" d="M512 960c-176.732 0-320-143.268-320-320 0-320 320-704 320-704s320 384 320 704c0 176.732-143.27 320-320 320zM512 448c-106.040 0-192 85.96-192 192s85.96 192 192 192 192-85.96 192-192-85.96-192-192-192z" />
+<glyph unicode="&#xe613;" glyph-name="screen" d="M1024 128v768h-1024v-768h448v-64h-192v-64h512v64h-192v64h448zM128 768h768v-512h-768v512z" />
+<glyph unicode="&#xe614;" glyph-name="mobile" d="M736 960h-448c-52.8 0-96-43.2-96-96v-832c0-52.8 43.2-96 96-96h448c52.8 0 96 43.2 96 96v832c0 52.8-43.2 96-96 96zM384 912h256v-32h-256v32zM512 0c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zM768 192h-512v640h512v-640z" />
+<glyph unicode="&#xe615;" glyph-name="tv" d="M981.188 671.892c-88.808 12.768-183.382 22.016-282.076 27.22l164.888 164.888-64 64-224.558-224.556c-21.006 0.368-42.156 0.556-63.442 0.556v0l-256 256-64-64 194.196-194.196c-120.922-4.242-236.338-14.524-343.386-29.912-27.532-107.726-42.81-226.752-42.81-351.892s15.278-244.166 42.804-351.89c143.642-20.652 302.34-32.11 469.196-32.11s325.55 11.458 469.188 32.11c27.534 107.724 42.812 226.75 42.812 351.89s-15.278 244.166-42.812 351.892zM863.892 85.406c-107.73-13.766-226.75-21.406-351.892-21.406s-244.166 7.64-351.892 21.406c-20.648 71.816-32.108 151.166-32.108 234.594 0 83.43 11.458 162.78 32.108 234.596 107.726 13.766 226.75 21.404 351.892 21.404 125.136 0 244.162-7.638 351.886-21.404 20.656-71.816 32.114-151.166 32.114-234.596 0-83.428-11.458-162.778-32.108-234.594z" />
+<glyph unicode="&#xe616;" glyph-name="bubble" d="M512 896c282.77 0 512-186.25 512-416 0-229.752-229.23-416-512-416-27.156 0-53.81 1.734-79.824 5.044-109.978-109.978-241.25-129.7-368.176-132.596v26.916c68.536 33.578 128 94.74 128 164.636 0 9.754-0.758 19.33-2.164 28.696-115.796 76.264-189.836 192.754-189.836 323.304 0 229.75 229.23 416 512 416z" />
+<glyph unicode="&#xe617;" glyph-name="bubbles" horiz-adv-x="1152" d="M480 960v0c265.096 0 480-173.914 480-388.448s-214.904-388.448-480-388.448c-25.458 0-50.446 1.62-74.834 4.71-103.106-102.694-222.172-121.108-341.166-123.814v25.134c64.252 31.354 116 88.466 116 153.734 0 9.106-0.712 18.048-2.030 26.794-108.558 71.214-177.97 179.988-177.97 301.89 0 214.534 214.904 388.448 480 388.448zM996 89.314c0-55.942 36.314-104.898 92-131.772v-21.542c-103.126 2.318-197.786 18.102-287.142 106.126-21.14-2.65-42.794-4.040-64.858-4.040-95.47 0-183.408 25.758-253.614 69.040 144.674 0.506 281.26 46.854 384.834 130.672 52.208 42.252 93.394 91.826 122.414 147.348 30.766 58.866 46.366 121.582 46.366 186.406 0 10.448-0.45 20.836-1.258 31.168 72.57-59.934 117.258-141.622 117.258-231.676 0-104.488-60.158-197.722-154.24-258.764-1.142-7.496-1.76-15.16-1.76-22.966z" />
+<glyph unicode="&#xe618;" glyph-name="user" d="M256 640c0 141.385 114.615 256 256 256s256-114.615 256-256c0-141.385-114.615-256-256-256s-256 114.615-256 256zM768 320h-512c-141.384 0-256-114.618-256-256v-64h1024v64c0 141.382-114.616 256-256 256z" />
+<glyph unicode="&#xe619;" glyph-name="spinner" d="M384 832c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM655.53 719.53c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM832 448c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM719.53 176.47c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM448.002 64c0 0 0 0 0 0 0 35.346 28.654 64 64 64s64-28.654 64-64c0 0 0 0 0 0 0-35.346-28.654-64-64-64s-64 28.654-64 64zM176.472 176.47c0 0 0 0 0 0 0 35.346 28.654 64 64 64s64-28.654 64-64c0 0 0 0 0 0 0-35.346-28.654-64-64-64s-64 28.654-64 64zM144.472 719.53c0 0 0 0 0 0 0 53.019 42.981 96 96 96s96-42.981 96-96c0 0 0 0 0 0 0-53.019-42.981-96-96-96s-96 42.981-96 96zM56 448c0 39.765 32.235 72 72 72s72-32.235 72-72c0-39.765-32.235-72-72-72s-72 32.235-72 72z" />
+<glyph unicode="&#xe61a;" glyph-name="search" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256z" />
+<glyph unicode="&#xe61b;" glyph-name="key" d="M704 960c-176.73 0-320-143.268-320-320 0-20.026 1.858-39.616 5.376-58.624l-389.376-389.376v-192c0-35.346 28.654-64 64-64h64v64h128v128h128v128h128l83.042 83.042c34.010-12.316 70.696-19.042 108.958-19.042 176.73 0 320 143.268 320 320s-143.27 320-320 320zM799.874 639.874c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96z" />
+<glyph unicode="&#xe61c;" glyph-name="settings" d="M448 832v16c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-192v-128h192v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h576v128h-576zM256 704v128h128v-128h-128zM832 528c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-576v-128h576v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h192v128h-192v16zM640 384v128h128v-128h-128zM448 208c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-192v-128h192v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h576v128h-576v16zM256 64v128h128v-128h-128z" />
+<glyph unicode="&#xe61d;" glyph-name="cog" d="M1024 351.906v192.188l-146.774 24.462c-5.958 18.132-13.222 35.668-21.694 52.5l86.454 121.034-135.896 135.898-120.826-86.304c-16.91 8.554-34.538 15.888-52.768 21.902l-24.402 146.414h-192.188l-24.402-146.416c-18.23-6.014-35.858-13.348-52.766-21.902l-120.828 86.304-135.898-135.898 86.454-121.036c-8.47-16.83-15.734-34.366-21.692-52.498l-146.774-24.46v-192.188l147.118-24.52c5.96-17.968 13.21-35.348 21.642-52.030l-86.748-121.448 135.898-135.896 121.654 86.894c16.602-8.35 33.89-15.528 51.764-21.434l24.578-147.472h192.188l24.578 147.474c17.874 5.906 35.162 13.084 51.766 21.432l121.652-86.892 135.896 135.896-86.744 121.446c8.432 16.682 15.678 34.062 21.64 52.032l147.118 24.518zM512 320c-70.692 0-128 57.306-128 128 0 70.692 57.308 128 128 128 70.694 0 128-57.308 128-128 0-70.694-57.306-128-128-128z" />
+<glyph unicode="&#xe61e;" glyph-name="stats" d="M128 64h896v-128h-1024v1024h128zM288 128c-53.020 0-96 42.98-96 96s42.98 96 96 96c2.828 0 5.622-0.148 8.388-0.386l103.192 171.986c-9.84 15.070-15.58 33.062-15.58 52.402 0 53.020 42.98 96 96 96s96-42.98 96-96c0-19.342-5.74-37.332-15.58-52.402l103.192-171.986c2.766 0.238 5.56 0.386 8.388 0.386 2.136 0 4.248-0.094 6.35-0.23l170.356 298.122c-10.536 15.408-16.706 34.036-16.706 54.11 0 53.020 42.98 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96-2.14 0-4.248 0.094-6.35 0.232l-170.356-298.124c10.536-15.406 16.706-34.036 16.706-54.11 0-53.020-42.98-96-96-96s-96 42.98-96 96c0 19.34 5.74 37.332 15.578 52.402l-103.19 171.984c-2.766-0.238-5.56-0.386-8.388-0.386s-5.622 0.146-8.388 0.386l-103.192-171.986c9.84-15.068 15.58-33.060 15.58-52.4 0-53.020-42.98-96-96-96z" />
+<glyph unicode="&#xe61f;" glyph-name="switch" d="M640 813.412v-135.958c36.206-15.804 69.5-38.408 98.274-67.18 60.442-60.44 93.726-140.8 93.726-226.274s-33.286-165.834-93.726-226.274c-60.44-60.44-140.798-93.726-226.274-93.726s-165.834 33.286-226.274 93.726c-60.44 60.44-93.726 140.8-93.726 226.274s33.286 165.834 93.726 226.274c28.774 28.774 62.068 51.378 98.274 67.182v135.956c-185.048-55.080-320-226.472-320-429.412 0-247.424 200.578-448 448-448 247.424 0 448 200.576 448 448 0 202.94-134.95 374.332-320 429.412zM448 960h128v-512h-128z" />
+<glyph unicode="&#xe620;" glyph-name="tree" d="M976 192h-16v208c0 61.756-50.242 112-112 112h-272v128h16c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h16v-128h-272c-61.756 0-112-50.244-112-112v-208h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-16v192h256v-192h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-16v192h256v-192h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48zM192 0h-128v128h128v-128zM576 0h-128v128h128v-128zM448 704v128h128v-128h-128zM960 0h-128v128h128v-128z" />
+<glyph unicode="&#xe621;" glyph-name="cloud" d="M1024 302.458c0 82.090-56.678 150.9-132.996 169.48-3.242 128.7-108.458 232.062-237.862 232.062-75.792 0-143.266-35.494-186.854-90.732-24.442 31.598-62.69 51.96-105.708 51.96-73.81 0-133.642-59.874-133.642-133.722 0-6.436 0.48-12.76 1.364-18.954-11.222 2.024-22.766 3.138-34.57 3.138-106.998 0.002-193.732-86.786-193.732-193.842 0-107.062 86.734-193.848 193.73-193.848l656.262 0.012c96.138 0.184 174.008 78.212 174.008 174.446z" />
+<glyph unicode="&#xe622;" glyph-name="earth" d="M874.040 810.038c96.702-96.704 149.96-225.28 149.96-362.040s-53.258-265.334-149.96-362.038c-96.706-96.702-225.28-149.96-362.040-149.96s-265.334 53.258-362.040 149.96c-96.702 96.704-149.96 225.278-149.96 362.038s53.254 265.336 149.96 362.040c96.706 96.704 225.28 149.962 362.040 149.962s265.334-53.258 362.040-149.962zM828.784 131.214c63.058 63.060 104.986 141.608 122.272 227.062-13.474-19.836-26.362-27.194-34.344 17.206-8.22 72.39-74.708 26.148-116.516 51.86-44.004-29.658-142.906 57.662-126.098-40.824 25.934-44.422 140.008 59.45 83.148-34.542-36.274-65.616-132.642-210.932-120.106-286.258 1.582-109.744-112.134-22.884-151.314 13.52-26.356 72.92-8.982 200.374-77.898 236.086-74.802 3.248-139.004 10.046-167.994 93.67-17.446 59.828 18.564 148.894 82.678 162.644 93.85 58.966 127.374-69.054 215.39-71.434 27.328 28.594 101.816 37.686 107.992 69.75-57.75 10.19 73.268 48.558-5.528 70.382-43.47-5.112-71.478-45.074-48.368-78.958-84.238-19.642-86.936 121.904-167.91 77.258-2.058-70.59-132.222-22.886-45.036-8.572 29.956 13.088-48.86 51.016-6.28 44.124 20.916 1.136 91.332 25.812 72.276 42.402 39.21 24.34 72.16-58.29 110.538 1.882 27.708 46.266-11.62 54.808-46.35 31.356-19.58 21.924 34.57 69.276 82.332 89.738 15.918 6.82 31.122 10.536 42.746 9.484 24.058-27.792 68.55-32.606 70.878 3.342-59.582 28.534-125.276 43.608-193.292 43.608-97.622 0-190.47-31.024-267.308-88.39 20.65-9.46 32.372-21.238 12.478-36.296-15.456-46.054-78.17-107.876-133.224-99.124-28.586-49.296-47.412-103.606-55.46-160.528 46.112-15.256 56.744-45.45 46.836-55.55-23.496-20.488-37.936-49.53-45.376-81.322 15.010-91.836 58.172-176.476 125.27-243.576 84.616-84.614 197.118-131.214 316.784-131.214 119.664 0 232.168 46.6 316.784 131.214z" />
+<glyph unicode="&#xe623;" glyph-name="link" d="M953.396 885.358l-4.028 4.042c-94.148 94.134-248.194 94.134-342.326 0l-218.106-218.136c-94.134-94.132-94.134-248.176 0-342.31l4.026-4.026c7.832-7.848 16.146-14.924 24.736-21.458l79.848 79.85c-9.302 5.494-18.126 12.072-26.116 20.060l-4.042 4.042c-51.114 51.098-51.114 134.272 0 185.39l218.128 218.112c51.116 51.118 134.274 51.118 185.386 0l4.042-4.024c51.1-51.116 51.1-134.292 0-185.39l-98.686-98.686c17.132-42.308 25.248-87.4 24.538-132.386l152.604 152.604c94.134 94.136 94.134 248.178-0.004 342.316zM631.042 571.066c-7.832 7.832-16.146 14.922-24.736 21.44l-79.848-79.832c9.304-5.496 18.126-12.074 26.116-20.062l4.042-4.040c51.116-51.116 51.116-134.272 0-185.388l-218.13-218.134c-51.118-51.102-134.276-51.102-185.388 0l-4.042 4.042c-51.098 51.12-51.098 134.276 0 185.388l98.688 98.686c-17.134 42.306-25.246 87.402-24.538 132.386l-152.602-152.598c-94.136-94.132-94.136-248.178 0-342.324l4.026-4.032c94.152-94.128 248.192-94.128 342.328 0l218.11 218.118c94.134 94.132 94.134 248.194 0 342.326l-4.026 4.024z" />
+<glyph unicode="&#xe624;" glyph-name="attachment" d="M697.832 632.952l-64.952 64.922-324.81-324.742c-53.814-53.792-53.814-141.048 0-194.844 53.804-53.792 141.060-53.792 194.874 0l389.772 389.708c89.714 89.662 89.714 235.062 0 324.726-89.666 89.704-235.112 89.704-324.782 0l-409.23-409.178c-0.29-0.304-0.612-0.576-0.876-0.846-125.102-125.096-125.102-327.856 0-452.906 125.054-125.056 327.868-125.056 452.988 0 0.274 0.274 0.516 0.568 0.82 0.876l0.032-0.034 279.332 279.292-64.986 64.92-279.33-279.262c-0.296-0.268-0.564-0.57-0.846-0.844-89.074-89.058-233.98-89.058-323.076 0-89.062 89.042-89.062 233.922 0 322.978 0.304 0.304 0.604 0.582 0.888 0.846l-0.046 0.060 409.28 409.166c53.712 53.738 141.144 53.738 194.886 0 53.712-53.734 53.712-141.148 0-194.84l-389.772-389.7c-17.936-17.922-47.054-17.922-64.972 0-17.894 17.886-17.894 47.032 0 64.92l324.806 324.782z" />
+<glyph unicode="&#xe625;" glyph-name="star" d="M1024 562.95l-353.78 51.408-158.22 320.582-158.216-320.582-353.784-51.408 256-249.538-60.432-352.352 316.432 166.358 316.432-166.358-60.434 352.352 256.002 249.538zM512 206.502l-223.462-117.48 42.676 248.83-180.786 176.222 249.84 36.304 111.732 226.396 111.736-226.396 249.836-36.304-180.788-176.222 42.678-248.83-223.462 117.48z" />
+<glyph unicode="&#xe626;" glyph-name="star2" d="M1024 562.95l-353.78 51.408-158.22 320.582-158.216-320.582-353.784-51.408 256-249.538-60.432-352.352 316.432 166.358 316.432-166.358-60.434 352.352 256.002 249.538z" />
+<glyph unicode="&#xe627;" glyph-name="heart" d="M1024 601.844c0-86.362-37.218-164.030-96.49-217.844h0.49l-320-320c-32-32-64-64-96-64s-64 32-96 64l-319.51 320c-59.272 53.814-96.49 131.482-96.49 217.844 0 162.458 131.698 294.156 294.156 294.156 86.362 0 164.030-37.218 217.844-96.49 53.814 59.272 131.482 96.49 217.844 96.49 162.456 0 294.156-131.698 294.156-294.156z" />
+<glyph unicode="&#xe628;" glyph-name="heart2" d="M1024 601.844c0 162.458-131.7 294.156-294.156 294.156-86.362 0-164.030-37.218-217.844-96.49-53.814 59.272-131.482 96.49-217.844 96.49-162.458 0-294.156-131.698-294.156-294.156 0-86.362 37.218-164.030 96.49-217.844h-0.49l320-320c32-32 64-64 96-64s64 32 96 64l319.51 320c59.272 53.814 96.49 131.482 96.49 217.844zM841.468 478.768l-323.978-324.258c-1.678-1.678-3.532-3.532-5.49-5.48-1.96 1.95-3.814 3.802-5.49 5.48l-323.978 324.256c-35.166 31.928-54.532 75.638-54.532 123.078 0 91.618 74.538 166.156 166.156 166.156 47.44 0 91.15-19.366 123.076-54.532l94.768-104.38 94.768 104.378c31.928 35.168 75.636 54.534 123.076 54.534 91.618 0 166.156-74.538 166.156-166.156 0-47.44-19.368-91.15-54.532-123.076z" />
+<glyph unicode="&#xe629;" glyph-name="smiley" d="M512-64c282.77 0 512 229.23 512 512s-229.23 512-512 512-512-229.23-512-512 229.23-512 512-512zM512 864c229.75 0 416-186.25 416-416s-186.25-416-416-416-416 186.25-416 416 186.25 416 416 416zM256 640c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM640 640c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM704.098 332.74l82.328-49.396c-55.962-93.070-157.916-155.344-274.426-155.344s-218.464 62.274-274.426 155.344l82.328 49.396c39.174-65.148 110.542-108.74 192.098-108.74s152.924 43.592 192.098 108.74z" />
+<glyph unicode="&#xe62a;" glyph-name="smiley2" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM704 704c35.346 0 64-28.654 64-64s-28.654-64-64-64-64 28.654-64 64 28.654 64 64 64zM320 704c35.346 0 64-28.654 64-64s-28.654-64-64-64-64 28.654-64 64 28.654 64 64 64zM512 128c-116.51 0-218.464 62.274-274.426 155.344l82.328 49.396c39.174-65.148 110.542-108.74 192.098-108.74s152.924 43.592 192.098 108.74l82.328-49.396c-55.962-93.070-157.916-155.344-274.426-155.344z" />
+<glyph unicode="&#xe62b;" glyph-name="info" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM448 768h128v-128h-128v128zM640 128h-256v64h64v256h-64v64h192v-320h64v-64z" />
+<glyph unicode="&#xe62c;" glyph-name="checkmark" d="M864 832l-480-480-224 224-160-160 384-384 640 640z" />
+<glyph unicode="&#xe62d;" glyph-name="arrow-right" d="M621.254 82.746l320 320c24.994 24.992 24.994 65.516 0 90.51l-320 320c-24.994 24.992-65.516 24.992-90.51 0-24.994-24.994-24.994-65.516 0-90.51l210.746-210.746h-613.49c-35.346 0-64-28.654-64-64s28.654-64 64-64h613.49l-210.746-210.746c-12.496-12.496-18.744-28.876-18.744-45.254s6.248-32.758 18.744-45.254c24.994-24.994 65.516-24.994 90.51 0z" />
+<glyph unicode="&#xe62e;" glyph-name="arrow-left" d="M402.746 813.254l-320-320c-24.994-24.992-24.994-65.516 0-90.508l320-320c24.994-24.992 65.516-24.992 90.51 0 24.996 24.992 24.996 65.516 0 90.508l-210.748 210.746h613.492c35.346 0 64 28.652 64 64 0 35.346-28.654 64-64 64h-613.492l210.746 210.746c12.496 12.496 18.746 28.876 18.746 45.254s-6.248 32.758-18.744 45.254c-24.996 24.994-65.516 24.994-90.51 0z" />
+<glyph unicode="&#xe62f;" glyph-name="arrow-right2" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 32c-229.75 0-416 186.25-416 416s186.25 416 416 416 416-186.25 416-416-186.25-416-416-416zM813.256 493.254l-256.002 256c-24.992 24.994-65.514 24.994-90.508 0s-24.994-65.516 0-90.51l146.744-146.744h-357.49c-35.346 0-64-28.654-64-64s28.654-64 64-64h357.49l-146.746-146.744c-24.994-24.994-24.994-65.518 0-90.512 12.498-12.496 28.878-18.744 45.256-18.744s32.758 6.248 45.254 18.744l256.002 256c24.992 24.994 24.992 65.518 0 90.51z" />
+<glyph unicode="&#xe630;" glyph-name="arrow-left2" d="M512 960c282.77 0 512-229.23 512-512s-229.23-512-512-512-512 229.23-512 512 229.23 512 512 512zM512 32c229.75 0 416 186.25 416 416s-186.25 416-416 416-416-186.25-416-416 186.25-416 416-416zM210.744 493.254l256.002 256c24.992 24.994 65.514 24.994 90.508 0s24.994-65.516 0-90.51l-146.744-146.744h357.49c35.346 0 64-28.654 64-64s-28.654-64-64-64h-357.49l146.746-146.744c24.994-24.994 24.994-65.518 0-90.512-12.498-12.496-28.878-18.744-45.256-18.744s-32.758 6.248-45.254 18.744l-256.002 256c-24.992 24.994-24.992 65.518 0 90.51z" />
+<glyph unicode="&#xe631;" glyph-name="share" d="M864 256c-45.16 0-85.92-18.738-115.012-48.83l-431.004 215.502c1.314 8.252 2.016 16.706 2.016 25.328s-0.702 17.076-2.016 25.326l431.004 215.502c29.092-30.090 69.852-48.828 115.012-48.828 88.366 0 160 71.634 160 160s-71.634 160-160 160-160-71.634-160-160c0-8.622 0.704-17.076 2.016-25.326l-431.004-215.504c-29.092 30.090-69.852 48.83-115.012 48.83-88.366 0-160-71.636-160-160 0-88.368 71.634-160 160-160 45.16 0 85.92 18.738 115.012 48.828l431.004-215.502c-1.312-8.25-2.016-16.704-2.016-25.326 0-88.368 71.634-160 160-160s160 71.632 160 160c0 88.364-71.634 160-160 160z" />
+<glyph unicode="&#xe632;" glyph-name="googleplus" d="M0.806 90.336c-0.244 2.532-0.452 5.070-0.584 7.63 0.13-2.56 0.34-5.098 0.584-7.63zM235.908 394.852c92.010-2.738 153.734 92.698 137.862 213.198-15.894 120.48-103.396 217.168-195.408 219.922-92.026 2.73-153.74-89.482-137.852-210 15.882-120.468 103.352-220.374 195.398-223.12zM1024 704v85.31c0 93.88-76.782 170.69-170.658 170.69h-682.656c-92.276 0-168.012-74.232-170.564-165.926 58.362 51.386 139.324 94.316 222.874 94.316 89.304 0 357.244 0 357.244 0l-79.948-67.618h-113.268c75.13-28.804 115.156-116.124 115.156-205.722 0-75.248-41.81-139.954-100.888-185.968-57.644-44.902-68.572-63.708-68.572-101.878 0-32.578 61.746-88 94.032-110.788 94.382-66.538 124.916-128.312 124.916-231.456 0-16.428-2.042-32.83-6.066-48.96h307.742c93.874 0 170.656 76.75 170.656 170.69v533.308h-192v-191.998h-64v192h-191.998v64h191.998v192h64v-192h192zM185.886 194.064c21.614 0 41.422 0.59 61.936 0.59-27.146 26.334-48.626 58.6-48.626 98.38 0 23.608 7.564 46.336 18.134 66.52-10.782-0.77-21.79-0.994-33.126-0.994-74.356 0-137.506 24.076-184.204 63.854v-67.242l0.006-201.73c53.44 25.374 116.888 40.622 185.88 40.622zM3.42 72.742c-1.112 5.458-1.966 11.006-2.542 16.634 0.574-5.628 1.43-11.176 2.542-16.634zM455.45 7.154c-15.058 58.806-68.454 87.964-142.888 139.568-27.072 8.732-56.894 13.874-88.894 14.208-89.618 0.964-173.108-34.942-220.216-88.372 15.92-77.706 85.034-136.558 167.234-136.558h286.444c1.816 11.128 2.696 22.632 2.696 34.432 0 12.534-1.534 24.792-4.376 36.722z" />
+<glyph unicode="&#xe633;" glyph-name="facebook" d="M853.344 960h-682.66c-93.872 0-170.684-76.814-170.684-170.688v-682.626c0-93.938 76.812-170.686 170.684-170.686l682.66 0.002c93.876 0 170.656 76.746 170.656 170.688v682.622c0 93.874-76.782 170.688-170.656 170.688zM870.592 448h-166.592v-448h-192v448h-92.526v146.564h92.526v95.186c0 129.342 55.792 206.25 207.87 206.25h175.244v-158.57h-143.13c-42.482 0.070-47.752-22.152-47.752-63.512l-0.232-79.354h192l-25.408-146.564z" />
+<glyph unicode="&#xe634;" glyph-name="twitter" d="M853.342 960h-682.656c-93.874 0-170.686-76.81-170.686-170.69v-682.622c0-93.938 76.812-170.688 170.686-170.688h682.656c93.876 0 170.658 76.75 170.658 170.69v682.62c0 93.88-76.782 170.69-170.658 170.69zM838.052 618.166c0.328-7.342 0.49-14.728 0.49-22.148 0-226.214-169.216-487.068-478.658-487.068-95.004 0-183.434 28.348-257.886 76.918 13.16-1.588 26.552-2.394 40.13-2.394 78.822 0 151.358 27.37 208.934 73.282-73.616 1.38-135.744 50.876-157.154 118.882 10.274-2 20.812-3.074 31.652-3.074 15.344 0 30.206 2.096 44.32 6.008-76.96 15.732-134.95 84.916-134.95 167.856 0 0.722 0 1.438 0.016 2.152 22.68-12.82 48.624-20.52 76.2-21.41-45.142 30.698-74.842 83.092-74.842 142.488 0 31.37 8.294 60.778 22.778 86.058 82.974-103.57 206.936-171.72 346.754-178.862-2.87 12.532-4.358 25.596-4.358 39.014 0 94.538 75.326 171.18 168.23 171.18 48.39 0 92.118-20.786 122.802-54.058 38.32 7.676 74.324 21.92 106.832 41.542-12.562-39.976-39.234-73.522-73.966-94.71 34.026 4.138 66.452 13.34 96.62 26.954-22.546-34.324-51.070-64.476-83.944-88.61z" />
+<glyph unicode="&#xe635;" glyph-name="feed" d="M136.294 209.070c-75.196 0-136.292-61.334-136.292-136.076 0-75.154 61.1-135.802 136.292-135.802 75.466 0 136.494 60.648 136.494 135.802-0.002 74.742-61.024 136.076-136.494 136.076zM0.156 612.070v-196.258c127.784 0 247.958-49.972 338.458-140.512 90.384-90.318 140.282-211.036 140.282-339.3h197.122c-0.002 372.82-303.282 676.070-675.862 676.070zM0.388 960v-196.356c455.782 0 826.756-371.334 826.756-827.644h196.856c0 564.47-459.254 1024-1023.612 1024z" />
+<glyph unicode="&#xe636;" glyph-name="feed2" d="M853.34 960h-682.654c-93.876 0-170.686-76.812-170.686-170.688v-682.628c0-93.934 76.812-170.684 170.688-170.684h682.652c93.876 0 170.66 76.748 170.66 170.684v682.628c0 93.876-76.784 170.688-170.66 170.688zM278.944 128.752c-47.97 0-86.944 38.692-86.944 86.628 0 47.684 38.972 86.812 86.944 86.812 48.158 0 87.060-39.128 87.060-86.812-0.002-47.936-38.904-86.628-87.060-86.628zM497.468 128.004c0 81.81-31.808 158.818-89.46 216.444-57.714 57.75-134.376 89.626-215.904 89.626v125.186c237.652 0 431.126-193.442 431.126-431.254l-125.762-0.002zM719.628 128.004c0 291.062-236.658 527.94-527.376 527.94v125.248c360.002 0 652.946-293.124 652.946-653.192l-125.57 0.004z" />
+<glyph unicode="&#xe637;" glyph-name="youtube" d="M832 832h-640c-105.6 0-192-86.4-192-192v-384c0-105.6 86.4-192 192-192h640c105.6 0 192 86.4 192 192v384c0 105.6-86.4 192-192 192zM384 192v512l320-256-320-256z" />
+<glyph unicode="&#xe638;" glyph-name="picassa" d="M704 565.74l-364.456 364.456c53.89 19.276 111.94 29.804 172.456 29.804 67.904 0 132.704-13.25 192-37.256v-357.004zM768 256v635.486c153.034-88.528 256-253.978 256-443.486 0-67.904-13.25-132.704-37.256-192h-218.744zM320 192h635.486c-88.528-153.034-253.978-256-443.486-256-67.904 0-132.704 13.25-192 37.256v218.744zM426.26 736l-411.282-411.282c-9.764 39.49-14.978 80.774-14.978 123.282 0 193.382 107.226 361.702 265.452 448.808l160.808-160.808zM256 458.26v-453.746c-94.596 54.722-170.036 138.848-213.874 239.872l213.874 213.874z" />
+<glyph unicode="&#xe639;" glyph-name="github" d="M512 128.108c-19.154 0-38.308 9.916-58.142 29.75-7.81 7.81-7.81 20.474 0 28.286 7.81 7.808 20.474 7.808 28.286 0 12.206-12.21 21.972-18.144 29.856-18.144 7.882 0 17.65 5.934 29.858 18.142 7.812 7.808 20.472 7.808 28.286 0 7.81-7.81 7.81-20.474 0-28.286-19.836-19.832-38.99-29.748-58.144-29.748zM0 434.508c0-49.892 4.266-95.122 12.8-135.682s20.534-75.74 36-105.532c15.466-29.792 35.022-55.904 58.666-78.34s49.332-40.92 77.066-55.458c27.734-14.536 59.466-26.296 95.2-35.266 35.732-8.974 72.088-15.256 109.066-18.846s77.69-5.384 122.134-5.384c44.444 0 85.242 1.79 122.398 5.38s73.602 9.872 109.332 18.846c35.734 8.974 67.558 20.73 95.468 35.266 27.91 14.538 53.778 33.026 77.598 55.458 23.824 22.436 43.47 48.548 58.934 78.34 15.47 29.794 27.56 64.974 36.27 105.532 8.71 40.56 13.066 85.788 13.066 135.68 0 89.38-27.736 166.372-83.2 230.982 3.2 8.616 5.954 18.486 8.266 29.614 2.308 11.128 4.532 26.832 6.664 47.112 2.138 20.282 1.336 43.704-2.398 70.264-3.734 26.564-10.754 53.664-21.066 81.302l-8 1.618c-5.332 1.076-14.042 0.718-26.132-1.080-12.086-1.794-26.222-5.022-42.398-9.69-16.176-4.664-37.066-13.908-62.668-27.728-25.598-13.818-52.62-31.318-81.066-52.496-48.356 14.718-115.020 30.116-200 30.116-84.976 0-151.822-15.396-200.53-30.114-28.446 21.18-55.556 38.588-81.334 52.228-25.78 13.642-46.402 22.974-61.868 27.998-15.468 5.024-29.778 8.256-42.934 9.69-13.156 1.436-21.602 1.886-25.334 1.346-3.732-0.538-6.488-1.166-8.266-1.884-10.314-27.64-17.424-54.74-21.336-81.304-3.91-26.56-4.8-49.892-2.666-69.992 2.134-20.102 4.444-35.898 6.934-47.382 2.49-11.486 5.334-21.358 8.534-29.614-55.466-64.25-83.2-141.242-83.2-230.98zM136.536 320.596c0 58.022 21.332 110.638 64 157.856 12.8 14.406 27.646 25.312 44.534 32.712 16.89 7.402 36.088 11.606 57.6 12.606s42.044 0.8 61.6-0.6c19.556-1.402 43.734-3.302 72.534-5.702 28.798-2.404 53.688-3.602 74.666-3.602 20.976 0 45.868 1.2 74.664 3.602 28.806 2.4 52.982 4.3 72.536 5.702 19.56 1.4 40.090 1.6 61.602 0.6 21.512-1.002 40.802-5.204 57.868-12.606 17.066-7.4 32-18.306 44.8-32.712 42.664-47.218 64-99.834 64-157.856 0-34.012-3.554-64.324-10.668-90.934-7.11-26.612-16.090-48.916-26.934-66.922-10.844-18.008-26.048-33.218-45.598-45.62-19.558-12.406-38.492-22.010-56.8-28.81-18.312-6.8-41.958-12.104-70.934-15.906-28.982-3.796-54.934-6.102-77.872-6.9-22.934-0.8-51.82-1.2-86.664-1.2s-63.644 0.402-86.4 1.2c-22.756 0.798-48.622 3.104-77.6 6.9-28.978 3.802-52.622 9.104-70.934 15.906-18.31 6.802-37.244 16.404-56.8 28.81-19.556 12.404-34.756 27.612-45.6 45.62-10.846 18.006-19.824 40.31-26.934 66.922-7.11 26.61-10.666 56.922-10.666 90.934zM256 351.996c0 53.019 28.654 96 64 96s64-42.981 64-96c0-53.019-28.654-96-64-96s-64 42.981-64 96zM640 351.996c0 53.019 28.654 96 64 96s64-42.981 64-96c0-53.019-28.654-96-64-96s-64 42.981-64 96z" />
+<glyph unicode="&#xe63a;" glyph-name="github2" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM816.056 143.944c-39.518-39.516-85.512-70.532-136.708-92.186-13.006-5.5-26.214-10.328-39.6-14.492v76.734c0 40.334-13.834 70-41.5 89 17.334 1.666 33.25 4 47.75 7s29.834 7.334 46 13 30.666 12.416 43.5 20.25 25.166 18 37 30.5 21.75 26.666 29.75 42.5 14.334 34.834 19 57 7 46.584 7 73.25c0 51.666-16.834 95.666-50.5 132 15.334 40 13.666 83.5-5 130.5l-12.5 1.5c-8.666 1-24.25-2.666-46.75-11s-47.75-22-75.75-41c-39.666 11-80.834 16.5-123.5 16.5-43 0-84-5.5-123-16.5-17.666 12-34.416 21.916-50.25 29.75s-28.5 13.166-38 16-18.334 4.584-26.5 5.25-13.416 0.834-15.75 0.5-4-0.666-5-1c-18.666-47.334-20.334-90.834-5-130.5-33.666-36.334-50.5-80.334-50.5-132 0-26.666 2.334-51.084 7-73.25s11-41.166 19-57 17.916-30 29.75-42.5 24.166-22.666 37-30.5 27.334-14.584 43.5-20.25 31.5-10 46-13 30.416-5.334 47.75-7c-27.334-18.666-41-48.334-41-89v-78.23c-15.098 4.494-29.98 9.804-44.6 15.988-51.194 21.654-97.188 52.67-136.706 92.186-39.516 39.518-70.534 85.512-92.186 136.708-22.398 52.958-33.756 109.262-33.756 167.348s11.358 114.39 33.758 167.35c21.654 51.194 52.67 97.188 92.186 136.706s85.512 70.534 136.706 92.186c52.96 22.4 109.264 33.758 167.35 33.758s114.39-11.358 167.35-33.758c51.196-21.654 97.19-52.67 136.708-92.186 39.516-39.516 70.532-85.512 92.186-136.706 22.398-52.96 33.756-109.264 33.756-167.35s-11.358-114.39-33.758-167.35c-21.654-51.194-52.67-97.19-92.186-136.706z" />
+<glyph unicode="&#xe63b;" glyph-name="github3" d="M263.472 200.632c0-27.052 22.894-40.582 68.668-40.582 40.064 0 60.088 14.042 60.088 42.134 0 26.538-21.846 39.796-65.544 39.796-42.146 0.004-63.212-13.776-63.212-41.348zM853.348 960h-682.66c-93.876 0-170.688-76.81-170.688-170.688v-682.626c0-93.936 76.812-170.686 170.688-170.686h682.66c93.868 0 170.652 76.75 170.652 170.688v682.624c0 93.878-76.782 170.688-170.652 170.688zM475.728 551.012c-7.284-2.604-17.688-5.458-31.212-8.586 4.16-11.966 6.246-23.152 6.246-33.554 0-33.292-10.018-62.298-30.044-87.012-20.030-24.708-45.912-39.406-77.646-44.086-20.804-3.126-31.208-14.312-31.208-33.558 0-6.762 3.378-13.53 10.144-20.29 8.844-9.886 21.848-16.132 39.018-18.734 74.39-11.442 111.586-42.394 111.586-92.854 0-80.642-48.124-120.962-144.362-120.962-39.542 0-72.056 7.026-97.544 21.070-32.258 17.688-48.376 45.52-48.376 83.5 0 43.704 24.192 73.616 72.564 89.738v1.56c-17.684 10.924-26.526 27.57-26.526 49.944 0 29.132 8.324 47.344 24.968 54.622v1.562c-16.646 5.724-31.474 18.732-44.48 39.024-14.564 21.852-21.85 45.26-21.85 70.23 0 37.458 13.27 68.67 39.792 93.64 25.496 23.414 55.928 35.116 91.306 35.116 25.494 0 49.158-6.238 71.010-18.722 24.97 0 53.842 6.24 86.626 18.722l-0.012-80.37zM602.178 281.006h-88.186c1.042 10.402 1.558 28.084 1.558 53.064v242.692c0 24.454-0.522 41.364-1.558 50.718h88.186c-1.042-9.884-1.562-26.27-1.562-49.164v-239.564c0-26.534 0.522-45.784 1.562-57.746zM596.318 705.518c-10.664-11.444-23.282-17.162-37.846-17.162-15.086 0-27.958 5.718-38.626 17.162-10.666 11.452-16.002 24.972-16.002 40.578 0 16.134 5.336 29.912 16.002 41.366 10.666 11.442 23.54 17.168 38.626 17.168 14.564 0 27.184-5.726 37.846-17.168 10.666-11.456 15.998-25.23 15.998-41.366 0-15.606-5.332-29.128-15.998-40.578zM841.69 291.152c-19.254-10.41-42.406-15.606-69.458-15.606-37.97 0-64.248 13.52-78.81 40.574-10.93 20.29-16.386 52.28-16.386 95.98v139.684h0.778v1.562l-11.706 0.782c-6.764 0-15.612-0.782-26.534-2.342v75.694h38.234v30.432c0 14.57-0.778 26.28-2.34 35.12h90.518c-1.55-9.88-2.336-21.066-2.336-33.552v-31.998h67.886v-75.692c-2.598 0-7.41 0.258-14.436 0.778-7.024 0.522-13.656 0.786-19.898 0.786h-33.554v-145.144c0-34.864 11.45-52.29 34.334-52.29 16.126 0 30.696 4.418 43.708 13.264v-78.032zM321.216 559.594c-32.776 0-49.164-19.254-49.164-57.746 0-35.902 16.388-53.848 49.164-53.848 31.736 0 47.602 18.208 47.602 54.626 0 15.090-3.64 28.094-10.922 39.022-8.846 11.962-21.074 17.946-36.68 17.946z" />
+<glyph unicode="&#xe63c;" glyph-name="tux" d="M567.656 223.084c-81.944-38.118-158.158-37.716-209.34-34.020-61.052 4.41-110.158 21.124-131.742 35.732-13.3 9.006-31.384 5.522-40.39-7.782-9.004-13.302-5.52-31.386 7.782-40.39 34.698-23.486 96.068-40.954 160.162-45.58 10.866-0.784 22.798-1.278 35.646-1.278 55.782 0 126.626 5.316 202.42 40.57 14.564 6.778 20.878 24.074 14.104 38.64-6.776 14.566-24.076 20.872-38.642 14.108zM890.948 266.184c2.786 252.688 28.762 730.206-454.97 691.612-477.6-38.442-350.964-542.968-358.082-711.95-6.308-89.386-35.978-198.648-77.896-309.846h129.1c13.266 47.122 23.024 93.72 27.232 138.15 7.782-5.428 16.108-10.674 24.994-15.7 14.458-8.518 26.884-19.844 40.040-31.834 30.744-28.018 65.59-59.774 133.712-63.752 4.572-0.262 9.174-0.394 13.676-0.394 68.896 0 116.014 30.154 153.878 54.382 18.14 11.612 33.818 21.64 48.564 26.452 41.91 13.12 78.532 34.296 105.904 61.252 4.276 4.208 8.242 8.538 11.962 12.948 15.246-55.878 36.118-118.758 59.288-181.504h275.65c-66.174 102.224-134.436 202.374-133.052 330.184zM124.11 403.648c0 0.016 0 0.030-0.002 0.046-4.746 82.462 34.71 151.832 88.126 154.936 53.412 3.106 100.56-61.228 105.304-143.692 0-0.014 0.004-0.030 0.004-0.044 0.256-4.446 0.368-8.846 0.37-13.206-16.924-4.256-32.192-10.436-45.872-17.63-0.052 0.612-0.092 1.216-0.152 1.83 0 0.008 0 0.018 0 0.026-4.57 46.81-29.572 82.16-55.852 78.958-26.28-3.204-43.88-43.75-39.312-90.558 0-0.010 0.004-0.018 0.004-0.026 1.992-20.408 7.868-38.636 16.042-52.444-2.034-1.604-7.784-5.812-14.406-10.656-4.97-3.634-11.020-8.058-18.314-13.43-19.882 26.094-33.506 63.58-35.94 105.89zM665.26 199.822c-1.9-43.586-58.908-84.592-111.582-101.044l-0.296-0.096c-21.9-7.102-41.428-19.6-62.104-32.83-34.732-22.224-70.646-45.208-122.522-45.208-3.404 0-6.894 0.104-10.326 0.296-47.516 2.778-69.742 23.032-97.88 48.676-14.842 13.526-30.19 27.514-49.976 39.124l-0.424 0.244c-42.706 24.104-69.212 54.082-70.908 80.194-0.842 12.98 4.938 24.218 17.182 33.4 26.636 19.972 44.478 33.022 56.284 41.658 13.11 9.588 17.068 12.48 20 15.264 2.096 1.986 4.364 4.188 6.804 6.562 24.446 23.774 65.36 63.562 128.15 63.562 38.404 0 80.898-14.8 126.17-43.902 21.324-13.878 39.882-20.286 63.38-28.4 16.156-5.578 34.468-11.902 58.992-22.404l0.396-0.164c22.88-9.404 49.896-26.564 48.66-54.932zM652.646 302.194c-4.4 2.214-8.974 4.32-13.744 6.286-22.106 9.456-39.832 15.874-54.534 20.998 8.116 15.894 13.16 35.72 13.624 57.242 0 0.010 0 0.022 0 0.030 1.126 52.374-25.288 94.896-58.996 94.976-33.71 0.078-61.95-42.314-63.076-94.686 0-0.010 0-0.018 0-0.028-0.038-1.714-0.042-3.416-0.020-5.11-20.762 9.552-41.18 16.49-61.166 20.76-0.092 1.968-0.204 3.932-0.244 5.92 0 0.016 0 0.036 0 0.050-1.938 95.412 56.602 174.39 130.754 176.402 74.15 2.014 135.828-73.7 137.772-169.11 0-0.018 0-0.038 0-0.052 0.874-43.146-10.66-82.866-30.37-113.678z" />
+<glyph unicode="&#xe63d;" glyph-name="apple" d="M791.498 415.908c-1.294 129.682 105.758 191.876 110.542 194.966-60.152 88.020-153.85 100.078-187.242 101.472-79.742 8.074-155.596-46.948-196.066-46.948-40.368 0-102.818 45.754-168.952 44.552-86.916-1.292-167.058-50.538-211.812-128.38-90.304-156.698-23.126-388.84 64.89-515.926 43.008-62.204 94.292-132.076 161.626-129.58 64.842 2.588 89.362 41.958 167.756 41.958s100.428-41.958 169.050-40.67c69.774 1.296 113.982 63.398 156.692 125.796 49.39 72.168 69.726 142.038 70.924 145.626-1.548 0.706-136.060 52.236-137.408 207.134zM662.562 796.478c35.738 43.358 59.86 103.512 53.28 163.522-51.478-2.096-113.878-34.29-150.81-77.55-33.142-38.376-62.148-99.626-54.374-158.436 57.466-4.484 116.128 29.204 151.904 72.464z" />
+<glyph unicode="&#xe63e;" glyph-name="android" d="M864 640c-35.2 0-64-28.8-64-64v-256c0-35.2 28.8-64 64-64s64 28.8 64 64v256c0 35.2-28.8 64-64 64zM96 640c-35.2 0-64-28.8-64-64v-256c0-35.2 28.8-64 64-64s64 28.8 64 64v256c0 35.2-28.802 64-64 64zM192 224c0-53.020 42.98-96 96-96h32v-128c0-35.2 28.8-64 64-64s64 28.8 64 64v128h64v-128c0-35.2 28.802-64 64-64s64 28.8 64 64v128h32c53.020 0 96 42.98 96 96v352h-576v-352zM598.598 870.506l40.504 77.806c2.032 3.902 0.5 8.758-3.402 10.79s-8.758 0.5-10.79-3.402l-41.118-78.986c-32.198 12.448-67.194 19.286-103.792 19.286-36.596 0-71.592-6.838-103.796-19.286l-41.116 78.984c-2.032 3.902-6.886 5.434-10.79 3.402s-5.434-6.886-3.402-10.79l40.5-77.808c-90.63-41.018-156.24-127.584-167.62-230.504h572.44c-11.376 102.924-76.986 189.488-167.618 230.508zM352 689.6c-25.626 0-46.4 20.774-46.4 46.4s20.774 46.4 46.4 46.4 46.4-20.774 46.4-46.4c-0.002-25.626-20.774-46.4-46.4-46.4zM608 689.6c-25.626 0-46.402 20.774-46.402 46.4s20.778 46.4 46.402 46.4 46.398-20.774 46.398-46.4c0-25.626-20.772-46.4-46.398-46.4z" />
+<glyph unicode="&#xe63f;" glyph-name="windows8" d="M0.35 448l-0.35 312.074 384 52.144v-364.218zM448 821.518l511.872 74.482v-448h-511.872zM959.998 384l-0.126-448-511.872 72.016v375.984zM384 16.164l-383.688 52.594-0.020 315.242h383.708z" />
+<glyph unicode="&#xe640;" glyph-name="paypal" d="M880.634 829.226c25.698-12.576 48.094-30.486 64.502-52.482 34.536-46.3 44.236-109.372 28.836-187.466-15.56-79.026-50.416-145.734-101.166-194.044-9.282-9.702-19.222-18.746-29.804-27.080-54.356-42.802-122.998-65.428-198.508-65.428h-240.060l-64.564-302.726h-132.424l10.086 46.3h46.128l64.564 302.726h188.27c180.25 0 330.938 111.078 371.258 299.936 45.722 213.834-107.598 311.038-239.41 311.038h-449.278l-199.064-913.7h152.032l-24.032-110.3h263.66l64.564 302.726h188.27c180.25 0 330.938 111.078 371.258 299.936 33.716 157.68-40.804 251.932-135.118 290.564zM422.344 773.918h129.132c64.592 0 107.602-55.538 88.786-124.956-16.136-69.44-83.386-124.976-150.64-124.976h-123.758l56.48 249.932z" />
+<glyph unicode="&#xe641;" glyph-name="file-zip" d="M416 832h96v-64h-96zM320 768h96v-64h-96zM416 704h96v-64h-96zM320 640h96v-64h-96zM416 576h96v-64h-96zM320 512h96v-64h-96zM416 448v-64h-96v-224c0-17.674 14.326-32 32-32h128c17.674 0 32 14.326 32 32v288h-96zM480 192h-128v64h128v-64zM903.432 760.57l-142.864 142.862c-31.112 31.112-92.568 56.568-136.568 56.568h-480c-44 0-80-36-80-80v-864c0-44 36-80 80-80h736c44 0 80 36 80 80v608c0 44-25.456 105.458-56.568 136.57zM858.178 715.314c3.13-3.13 6.25-6.974 9.28-11.314h-163.458v163.456c4.34-3.030 8.184-6.15 11.314-9.28l142.864-142.862zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16h480c4.832 0 10.254-0.61 16-1.704v-254.296h254.296c1.094-5.746 1.704-11.166 1.704-16v-608z" />
+<glyph unicode="&#xe642;" glyph-name="file-css" d="M384 348.554v114.226c0 15.128 6.696 29.436 18.854 40.286 12.16 10.848 28.192 16.826 45.146 16.826v57.11c-70.4 0-128-51.4-128-114.222v-85.666c0-15.772-14.328-28.558-32-28.558h-32v-57.11h32c17.674 0 32-12.79 32-28.558v-85.676c0-62.814 57.6-114.214 128-114.214v57.112c-16.954 0-32.988 5.976-45.146 16.826-12.158 10.852-18.854 25.154-18.854 40.278v114.234c0 15.77-14.328 28.554-32 28.554 17.674-0.002 32 12.788 32 28.552zM640 291.446v-114.234c0-15.124-6.696-29.426-18.854-40.278-12.158-10.85-28.19-16.826-45.146-16.826v-57.112c70.402 0 128 51.4 128 114.214v85.676c0 15.772 14.328 28.558 32 28.558h32v57.11h-32c-17.672 0-32 12.79-32 28.558v85.668c0 62.824-57.598 114.222-128 114.222v-57.11c16.958 0 32.988-5.978 45.146-16.83 12.16-10.848 18.854-25.156 18.854-40.284v-114.228c0-15.766 14.328-28.552 32-28.552-17.672 0.002-32-12.788-32-28.552zM903.432 760.57l-142.864 142.862c-31.112 31.112-92.568 56.568-136.568 56.568h-480c-44 0-80-36-80-80v-864c0-44 36-80 80-80h736c44 0 80 36 80 80v608c0 44-25.456 105.458-56.568 136.57zM858.178 715.314c3.13-3.13 6.25-6.974 9.28-11.314h-163.458v163.456c4.34-3.030 8.184-6.15 11.314-9.28l142.864-142.862zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16h480c4.832 0 10.254-0.61 16-1.704v-254.296h254.296c1.094-5.746 1.704-11.166 1.704-16v-608z" />
+<glyph unicode="&#xe643;" glyph-name="network" d="M269.978 618.803c10.291 0 20.224-1.536 29.542-4.454 35.328 39.578 74.496 75.622 116.89 107.571-1.741 7.424-2.816 15.206-2.816 23.245 0 11.162 1.843 21.811 5.222 31.744-47.462 34.099-99.174 62.669-154.061 84.787-51.558-31.846-96.461-73.37-132.25-122.010 26.573-47.053 58.214-90.931 94.106-130.918 13.158 6.4 27.853 10.035 43.366 10.035zM169.779 518.605c0 14.029 2.918 27.443 8.141 39.578-32.102 35.328-61.286 73.421-86.835 114.074-32-63.59-50.125-135.424-50.125-211.456 0-88.115 24.269-170.496 66.355-240.998 15.002 84.736 43.571 164.864 82.944 238.285-12.8 16.794-20.48 37.734-20.48 60.518zM513.792 845.414c26.522 0 50.483-10.342 68.403-27.085 52.275 22.477 107.366 39.731 164.659 50.739-69.171 39.834-149.299 62.771-234.854 62.771-58.317 0-114.125-10.701-165.632-30.106 40.909-20.224 79.923-43.725 116.531-70.349 14.95 8.858 32.307 14.029 50.893 14.029zM663.706 373.35c6.246 13.005 15.104 24.474 26.061 33.587-29.594 91.034-76.442 174.285-136.806 245.965-12.032-5.12-25.242-7.936-39.168-7.936-21.709 0-41.779 7.014-58.214 18.739-36.352-27.597-69.939-58.573-100.506-92.365 9.523-15.309 15.104-33.331 15.104-52.736 0-10.496-1.587-20.531-4.557-30.054 87.91-58.726 189.082-99.021 298.086-115.2zM793.702 238.029c1.331-18.944 2.099-38.093 2.099-57.395 0-34.048-2.202-67.482-6.298-100.403 79.923 58.368 140.698 141.158 171.418 237.517-36.352-8.806-73.626-15.104-111.667-18.739-8.96-27.392-29.338-49.613-55.552-60.979zM640.205 306.022c-116.275 19.251-224.102 63.59-317.901 127.181-15.258-9.37-33.075-14.848-52.275-14.848-7.066 0-13.875 0.768-20.531 2.15-44.902-85.197-73.626-180.224-81.92-280.883 44.851-48.077 99.584-86.784 161.075-112.794 76.288 117.299 182.989 214.426 311.552 279.194zM828.211 809.882c-75.469-7.27-147.558-26.214-214.682-54.682 0.41-3.277 0.563-6.656 0.563-10.035 0-15.821-3.738-30.72-10.291-43.981 67.072-78.746 119.142-170.496 152.064-270.899 40.704-0.768 75.571-25.702 90.573-61.184 45.363 4.608 89.498 13.312 132.045 25.805 2.918 21.504 4.557 43.469 4.557 65.894 0 138.445-59.75 262.963-154.829 349.082zM690.637 252.467c-120.064-56.218-220.365-142.797-293.069-248.627 36.608-9.165 74.957-14.080 114.432-14.080 71.117 0 138.394 15.821 198.81 43.981 9.677 47.462 14.848 96.563 14.848 146.893 0 18.125-0.87 36.147-2.202 54.016-12.083 3.84-23.194 9.933-32.819 17.818z" />
+<glyph unicode="&#xe644;" glyph-name="rss" d="M102.502 829.491v-121.242c362.803 0 656.896-294.144 656.896-656.947h121.293c0 429.773-348.416 778.189-778.189 778.189zM102.502 586.957v-121.293c228.864 0 414.413-185.498 414.413-414.362h121.19c0 295.782-239.77 535.654-535.603 535.654zM218.726 283.75c-64.154 0-116.224-52.070-116.224-116.275s52.070-116.224 116.224-116.224c64.205 0 116.275 52.019 116.275 116.224s-52.070 116.275-116.275 116.275z" />
+<glyph unicode="&#xe645;" glyph-name="statistics" d="M35.328 392.602l69.786-17.306 52.531 82.534-99.84 24.73c-24.986 6.246-50.227-8.909-56.422-33.792-6.195-24.781 9.011-49.971 33.946-56.166zM946.227 379.29l-228.506-205.722-268.698 207.923c-5.12 3.994-11.008 6.81-17.306 8.397l-35.789 8.806-52.531-82.483 56.269-13.875 291.738-225.69c8.448-6.605 18.483-9.779 28.57-9.779 11.213 0 22.426 3.994 31.232 11.981l257.382 231.68c19.098 17.203 20.531 46.49 3.328 65.485-17.152 18.995-46.592 20.48-65.69 3.277zM444.621 605.133l250.214-160.205c21.094-13.466 49.152-7.885 63.437 12.646l257.434 370.79c14.592 21.094 9.318 49.92-11.827 64.512s-50.125 9.267-64.768-11.776l-231.834-333.926-251.75 161.178c-10.394 6.656-23.040 8.909-35.174 6.246s-22.63-9.984-29.235-20.429l-383.846-602.573c-13.824-21.606-7.373-50.176 14.336-63.898 7.731-4.915 16.384-7.219 24.934-7.219 15.411 0 30.464 7.578 39.322 21.504l358.758 563.149z" />
+<glyph unicode="&#xe646;" glyph-name="pie" d="M459.059 860.262c-197.325-23.45-353.69-179.866-377.139-377.139h377.139v377.139zM566.938 859.494v-432.896c0-28.365-22.989-51.354-51.405-51.354h-432.896c27.699-211.712 208.538-375.194 427.725-375.194 238.387 0 431.718 193.229 431.718 431.718 0 219.187-163.482 400.026-375.142 427.725z" />
+<glyph unicode="&#xe647;" glyph-name="minus" d="M819.2 870.4h-614.4c-56.32 0-102.4-46.080-102.4-102.4v-614.4c0-56.32 46.080-102.4 102.4-102.4h614.4c56.32 0 102.4 46.080 102.4 102.4v614.4c0 56.32-46.080 102.4-102.4 102.4zM768 409.6h-512v102.4h512v-102.4z" />
+<glyph unicode="&#xe648;" glyph-name="plus" d="M819.2 870.4h-614.4c-56.32 0-102.4-46.080-102.4-102.4v-614.4c0-56.32 46.080-102.4 102.4-102.4h614.4c56.32 0 102.4 46.080 102.4 102.4v614.4c0 56.32-46.080 102.4-102.4 102.4zM768 409.6h-204.8v-204.8h-102.4v204.8h-204.8v102.4h204.8v204.8h102.4v-204.8h204.8v-102.4z" />
+<glyph unicode="&#xe649;" glyph-name="info2" d="M505.702 931.789c-260.096-3.482-468.173-217.19-464.691-477.338 3.482-259.994 217.19-468.122 477.286-464.64s468.173 217.19 464.691 477.338c-3.43 260.045-217.19 468.122-477.286 464.64zM557.926 774.81c47.872 0 62.003-27.75 62.003-59.546 0-39.68-31.795-76.39-86.016-76.39-45.363 0-66.918 22.835-65.638 60.518 0 31.795 26.624 75.418 89.651 75.418zM435.149 166.4c-32.717 0-56.678 19.866-33.792 107.213l37.53 154.829c6.502 24.832 7.578 34.765 0 34.765-9.779 0-52.275-17.152-77.414-34.048l-16.333 26.778c79.616 66.458 171.162 105.472 210.381 105.472 32.717 0 38.144-38.707 21.811-98.253l-43.008-162.816c-7.578-28.774-4.301-38.707 3.277-38.707 9.779 0 41.984 11.878 73.626 36.762l18.483-24.832c-77.363-77.363-161.792-107.162-194.56-107.162z" />
+<glyph unicode="&#xe64a;" glyph-name="question" d="M721.408 858.419c-58.419 42.138-131.686 63.181-219.955 63.181-67.174 0-123.802-14.848-169.83-44.442-73.062-46.387-111.872-125.133-116.582-236.237h169.267c0 32.358 9.421 63.539 28.314 93.542s50.944 45.005 96.154 45.005c45.926 0 77.619-12.186 94.925-36.506 17.357-24.422 26.010-51.405 26.010-80.998 0-25.754-12.902-49.306-28.467-70.758-8.55-12.493-19.866-23.962-33.843-34.509 0 0-91.802-58.88-132.147-106.189-23.398-27.443-25.498-68.506-27.546-127.437-0.154-4.198 1.434-12.851 16.128-12.851s118.63 0 131.686 0 15.77 9.677 15.974 13.926c0.922 21.453 3.328 32.41 7.27 44.8 7.424 23.398 27.494 43.827 50.125 61.389l46.592 32.154c42.035 32.768 75.622 59.648 90.419 80.742 25.293 34.714 43.059 77.414 43.059 128.051 0 82.688-29.235 145.050-87.552 187.136zM498.739 208.691c-58.368 1.741-106.496-38.605-108.339-101.888-1.843-63.232 43.93-105.011 102.298-106.752 60.928-1.792 107.776 37.274 109.619 100.506 1.792 63.283-42.65 106.342-103.578 108.134z" />
+<glyph unicode="&#xe64b;" glyph-name="help" d="M505.754 931.789c-260.147-3.482-468.224-217.19-464.742-477.338 3.482-259.994 217.19-468.122 477.338-464.64 260.045 3.482 468.173 217.19 464.64 477.338-3.43 260.045-217.139 468.122-477.235 464.64zM504.371 174.080h-2.611c-40.038 1.178-68.301 30.72-67.174 70.195 1.126 38.758 30.054 66.97 68.813 66.97l2.355-0.051c41.165-1.229 69.12-30.464 67.891-71.066-1.126-38.861-29.645-66.048-69.274-66.048zM672.87 508.518c-9.472-13.363-30.157-30.003-56.269-50.33l-28.774-19.866c-15.77-12.288-25.293-23.808-28.826-35.123-2.867-9.011-4.198-11.315-4.454-29.491l-0.051-4.659h-109.722l0.307 9.318c1.331 38.195 2.304 60.621 18.125 79.206 24.832 29.133 79.616 64.41 81.92 65.894 7.834 5.939 14.438 12.646 19.405 19.814 11.52 15.872 16.589 28.416 16.589 40.653 0 17.050-5.069 32.819-15.053 46.848-9.626 13.568-27.904 20.429-54.323 20.429-26.214 0-44.134-8.346-54.886-25.395-11.11-17.562-16.64-35.942-16.64-54.784v-4.71h-113.152l0.205 4.915c2.918 69.325 27.648 119.194 73.523 148.326 28.774 18.586 64.614 27.955 106.394 27.955 54.733 0 101.018-13.312 137.37-39.526 36.864-26.573 55.552-66.406 55.552-118.323 0-29.082-9.165-56.371-27.238-81.152z" />
+<glyph unicode="&#xe64c;" glyph-name="warning" d="M999.014 52.122l-456.090 800.307c-6.298 11.059-18.125 17.869-30.925 17.869s-24.576-6.81-30.925-17.869l-456.038-800.307c-6.195-10.854-6.093-24.115 0.256-34.867s18.022-17.357 30.618-17.357h912.128c12.493 0 24.218 6.605 30.618 17.357 6.349 10.752 6.451 24.013 0.358 34.867zM568.32 102.298h-112.64v102.4h112.64v-102.4zM568.32 281.498h-112.64v307.2h112.64v-307.2z" />
+<glyph unicode="&#xe64d;" glyph-name="list" d="M819.2 512h-614.4c-28.262 0-51.2-22.938-51.2-51.2s22.938-51.2 51.2-51.2h614.4c28.314 0 51.2 22.938 51.2 51.2s-22.886 51.2-51.2 51.2zM204.8 614.4h614.4c28.314 0 51.2 22.938 51.2 51.2s-22.886 51.2-51.2 51.2h-614.4c-28.262 0-51.2-22.938-51.2-51.2s22.938-51.2 51.2-51.2zM819.2 307.2h-614.4c-28.262 0-51.2-22.886-51.2-51.2s22.938-51.2 51.2-51.2h614.4c28.314 0 51.2 22.886 51.2 51.2s-22.886 51.2-51.2 51.2z" />
+<glyph unicode="&#xe64e;" glyph-name="flow-tree" d="M918.989 215.245v117.555c0 71.014-47.002 176.64-176.589 176.64h-102.4c-72.294 0-79.002 35.43-79.36 53.76v143.155c43.674 18.893 74.24 62.31 74.24 112.845 0 67.84-54.989 122.88-122.88 122.88s-122.88-55.040-122.88-122.88c0-50.534 30.566-93.952 74.24-112.845v-143.155c0-13.261-3.84-53.76-79.36-53.76h-102.4c-129.587 0-176.64-105.626-176.64-176.64v-117.555c-43.674-18.842-74.24-62.31-74.24-112.845 0-67.84 54.989-122.88 122.88-122.88 67.84 0 122.88 55.040 122.88 122.88 0 50.534-30.566 94.003-74.24 112.845v117.555c0 13.261 3.84 79.36 79.36 79.36h102.4c31.078 0 57.293 4.71 79.36 12.698v-209.613c-43.674-18.842-74.24-62.31-74.24-112.845 0-67.84 54.989-122.88 122.88-122.88s122.88 55.040 122.88 122.88c0 50.534-30.618 94.003-74.291 112.845v209.613c22.067-7.987 48.282-12.698 79.36-12.698h102.4c72.294 0 79.002-61.030 79.411-79.36v-117.555c-43.674-18.842-74.24-62.31-74.24-112.845 0-67.84 54.989-122.88 122.88-122.88s122.88 55.040 122.88 122.88c0 50.534-30.566 94.003-74.291 112.845zM224.512 102.4c0-39.168-31.744-70.912-70.912-70.912s-70.912 31.744-70.912 70.912 31.744 70.912 70.912 70.912 70.912-31.744 70.912-70.912zM441.088 819.2c0 39.168 31.795 70.912 70.912 70.912s70.861-31.744 70.861-70.912-31.744-70.912-70.861-70.912c-39.117 0-70.912 31.744-70.912 70.912zM582.912 102.4c0-39.168-31.795-70.912-70.861-70.912-39.168 0-70.912 31.744-70.912 70.912s31.744 70.912 70.861 70.912c39.117 0 70.912-31.744 70.912-70.912zM870.4 31.488c-39.117 0-70.912 31.744-70.912 70.912s31.795 70.912 70.912 70.912 70.912-31.744 70.912-70.912-31.795-70.912-70.912-70.912z" />
+<glyph unicode="&#xe64f;" glyph-name="arrow-left3" d="M585.574 741.581c-21.402-20.89-230.502-240.435-230.502-240.435-11.418-11.162-17.101-25.754-17.101-40.346s5.683-29.184 17.101-40.346c0 0 209.101-219.546 230.502-240.384 21.402-20.89 59.904-22.323 82.739 0 22.784 22.272 24.576 53.35-0.051 80.64l-191.846 200.090 191.846 200.090c24.627 27.341 22.835 58.419 0.051 80.691-22.886 22.272-61.389 20.89-82.739 0z" />
+<glyph unicode="&#xe650;" glyph-name="arrow-right3" d="M438.426 741.581c21.402-20.89 230.502-240.435 230.502-240.435 11.469-11.162 17.152-25.754 17.152-40.346s-5.683-29.184-17.152-40.346c0 0-209.101-219.546-230.502-240.384-21.402-20.89-59.853-22.323-82.739 0-22.835 22.272-24.627 53.35 0 80.64l191.898 200.090-191.846 200.090c-24.627 27.341-22.835 58.419 0 80.691s61.338 20.89 82.688 0z" />
+<glyph unicode="&#xe651;" glyph-name="arrow-left4" d="M634.829 285.798c13.722-13.875 13.722-36.301 0-50.125-13.722-13.875-35.891-13.875-49.613 0l-196.096 200.038c-13.722 13.875-13.722 36.301 0 50.125l196.096 200.090c13.722 13.875 35.891 13.875 49.613 0s13.722-36.25 0-50.125l-160.768-175.002 160.768-175.002z" />
+<glyph unicode="&#xe652;" glyph-name="arrow-right4" d="M389.171 285.798c-13.722-13.875-13.722-36.301 0-50.125 13.67-13.875 35.891-13.875 49.613 0l196.096 200.038c13.722 13.875 13.722 36.301 0 50.125l-196.096 200.090c-13.722 13.875-35.891 13.875-49.613 0s-13.722-36.25-0.051-50.074l160.819-175.053-160.768-175.002z" />
+<glyph unicode="&#xe653;" glyph-name="arrow-left5" d="M737.229 80.998c13.722-13.875 13.722-36.25 0-50.125s-35.891-13.875-49.613 0l-400.896 404.838c-13.722 13.875-13.722 36.301 0 50.125l400.896 404.89c13.722 13.875 35.891 13.875 49.613 0s13.722-36.25 0-50.125l-365.568-379.802 365.568-379.802z" />
+<glyph unicode="&#xe654;" glyph-name="uniE654" d="M286.704 80.998c-13.722-13.875-13.722-36.25 0-50.125s35.891-13.875 49.613 0l400.896 404.838c13.722 13.875 13.722 36.301 0 50.125l-400.896 404.89c-13.722 13.875-35.891 13.875-49.613 0s-13.722-36.25 0-50.125l365.568-379.802-365.568-379.802z" />
+<glyph unicode="&#xe900;" glyph-name="google" d="M928 960h-832c-52.8 0-96-43.2-96-96v-832c0-52.8 43.2-96 96-96h832c52.8 0 96 43.2 96 96v832c0 52.8-43.2 96-96 96zM519.6 64c-212.2 0-384 171.8-384 384s171.8 384 384 384c103.6 0 190.4-37.8 257.2-100.4l-104.2-100.4c-28.6 27.4-78.4 59.2-153 59.2-131.2 0-238-108.6-238-242.4s107-242.4 238-242.4c152 0 209 109.2 217.8 165.6h-217.8v131.6h362.6c3.2-19.2 6-38.4 6-63.6 0.2-219.4-146.8-375.2-368.6-375.2z" />
+<glyph unicode="&#xe901;" glyph-name="imdb" horiz-adv-x="878" d="M526.857 495.428v-104c0-20.571 4-39.429-21.714-38.857v176.571c25.143 0 21.714-13.143 21.714-33.714zM707.429 440.571v-69.143c0-11.429 3.429-30.286-13.143-30.286-3.429 0-6.286 1.714-8 5.143-4.571 10.857-2.286 93.143-2.286 94.286 0 8-2.286 26.857 10.286 26.857 15.429 0 13.143-15.429 13.143-26.857zM102.857 305.714h69.714v269.714h-69.714v-269.714zM350.857 305.714h60.571v269.714h-90.857l-16-126.286c-5.714 42.286-11.429 84.571-18.286 126.286h-90.286v-269.714h61.143v178.286l25.714-178.286h43.429l24.571 182.286v-182.286zM593.714 480c0 17.143 0.571 35.429-2.857 51.429-9.143 47.429-66.286 44-103.429 44h-52v-269.714c181.714 0 158.286-12.571 158.286 174.286zM774.857 367.428v76c0 36.571-1.714 63.429-46.857 63.429-18.857 0-31.429-5.714-44-19.429v88h-66.857v-269.714h62.857l4 17.143c12-14.286 25.143-20.571 44-20.571 41.714 0 46.857 32 46.857 65.143zM877.714 786.286v-694.857c0-50.286-41.143-91.429-91.429-91.429h-694.857c-50.286 0-91.429 41.143-91.429 91.429v694.857c0 50.286 41.143 91.429 91.429 91.429h694.857c50.286 0 91.429-41.143 91.429-91.429z" />
</font></defs></svg> \ No newline at end of file
diff --git a/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.ttf b/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.ttf
index 376a791fd0..222767047b 100644
--- a/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.ttf
+++ b/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.ttf
Binary files differ
diff --git a/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.woff b/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.woff
index 9d7354fde2..b61b0f0c38 100644
--- a/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.woff
+++ b/addons/webinterface.default/themes/base/fonts/icomoon/fonts/icomoon.woff
Binary files differ
diff --git a/addons/webinterface.default/themes/base/fonts/icomoon/selection.json b/addons/webinterface.default/themes/base/fonts/icomoon/selection.json
index 5c2dd1a29a..7f8d2c48a2 100644
--- a/addons/webinterface.default/themes/base/fonts/icomoon/selection.json
+++ b/addons/webinterface.default/themes/base/fonts/icomoon/selection.json
@@ -1,2102 +1,2404 @@
{
- "IcoMoonType": "selection",
- "icons": [
- {
- "icon": {
- "paths": [
- "M1230.2 11.537h-1178.505c-16.134 0-29.219 13.085-29.219 29.219v813.28c0 16.134 13.085 29.203 29.219 29.203h443.167v70.082c0 1.011 0.199 1.977 0.306 2.957h-63.601c-14.786 0-26.782 11.997-26.782 26.782s11.997 26.798 26.782 26.798h433.422c14.786 0 26.782-11.997 26.782-26.798 0-14.786-11.997-26.782-26.782-26.782h-63.601c0.092-0.965 0.322-1.946 0.322-2.957v-70.082h428.55c16.149 0 29.219-13.085 29.219-29.203v-813.28c-0.046-16.134-13.131-29.219-29.28-29.219zM1176.635 726.558c0 16.134-13.085 29.219-29.219 29.219h-1012.938c-16.134 0-29.219-13.085-29.219-29.219v-616.655c0-16.134 13.085-29.219 29.219-29.219h1012.938c16.134 0 29.219 13.085 29.219 29.219v616.655z",
- "M139.489 109.903h1004.541v617.866h-1004.541v-617.866z"
- ],
- "attrs": [
- {
- "fill": "rgb(189, 189, 189)",
- "opacity": 1,
- "visibility": false
- },
- {
- "fill": "rgb(223, 223, 223)",
- "opacity": 1,
- "visibility": false
- }
- ],
- "width": 1279,
- "grid": 0,
- "tags": [
- "flatscreen"
- ]
- },
- "attrs": [
- {
- "fill": "rgb(189, 189, 189)",
- "opacity": 1,
- "visibility": false
- },
- {
- "fill": "rgb(223, 223, 223)",
- "opacity": 1,
- "visibility": false
- }
- ],
- "properties": {
- "order": 74,
- "id": 6,
- "prevSize": 32,
- "code": 58880,
- "name": "flatscreen"
- },
- "setIdx": 0,
- "iconIdx": 0
- },
- {
- "icon": {
- "paths": [
- "M1029.404 380.622v643.378h-1029.404v-557.597h85.781l85.79-85.781h85.781l-85.781 85.781h128.676l85.781-85.781h85.781l-85.781 85.781h128.676l85.79-85.781h85.771l-85.771 85.781h128.676l85.771-85.781h85.79l-85.79 85.781h128.676l85.79-85.781zM957.254 0l-81.764 25.91 107.665 55.891-25.901-81.801zM42.895 423.517c23.695 0 42.895-19.2 42.895-42.895s-19.2-42.895-42.895-42.895c-23.685 0-42.895 19.2-42.895 42.895s19.2 42.895 42.895 42.895zM164.962 340.733l53.823 27.923 776.456-246.074-12.711-40.965-122.462 38.814-107.242-55.634-81.792 25.91 107.306 55.634-122.674 38.869-107.306-55.643-81.755 25.91 107.26 55.661-122.665 38.869-107.269-55.625-81.792 25.91 107.315 55.634-122.72 38.888-107.214-55.661-81.782 25.901 107.223 55.68z"
- ],
- "attrs": [
- {
- "visibility": false
- }
- ],
- "width": 1029,
- "grid": 0,
- "tags": [
- "clapperboard"
- ]
- },
- "attrs": [
- {
- "visibility": false
- }
- ],
- "properties": {
- "order": 73,
- "id": 5,
- "prevSize": 32,
- "code": 58881,
- "name": "clapperboard"
- },
- "setIdx": 0,
- "iconIdx": 1
- },
- {
- "icon": {
- "paths": [
- "M1010.029 516.895c-3.176 10.312-10.144 17.862-17.605 25.295-49.987 49.819-99.818 99.806-149.697 149.721-17.974 17.982-37.181 17.934-55.224-0.129-51.481-51.521-102.966-103.034-154.427-154.564-17.532-17.557-17.524-36.719 0.052-54.316 51.754-51.826 103.516-103.645 155.291-155.439 16.846-16.858 36.635-16.862 53.481-0.016 50.192 50.2 100.308 100.476 150.584 150.572 7.465 7.441 14.4 15.023 17.545 25.339-0 4.514-0 9.023-0 13.537z",
- "M513.819 999.561c-10.264-3.265-17.701-10.369-25.102-17.814-49.774-50.027-99.701-99.902-149.572-149.833-17.846-17.87-17.866-36.936-0.060-54.766 51.618-51.662 103.235-103.32 154.869-154.973 17.163-17.167 36.828-17.231 53.899-0.149 51.626 51.654 103.247 103.32 154.857 154.989 17.729 17.757 17.781 37.209 0.124 54.874-50.305 50.361-100.693 100.653-150.881 151.122-7.184 7.22-14.573 13.714-24.588 16.545-4.514 0.004-9.027 0.004-13.545 0.004z",
- "M332.663 386.337c0-57.436 0.518-114.881-0.325-172.309-0.245-16.625 3.727-29.612 16.42-40.574 10.212-8.826 19.263-19.006 28.829-28.588 37.84-37.88 75.676-75.764 113.527-113.628 17.798-17.798 36.997-17.785 54.786 0.008 51.485 51.501 102.966 103.014 154.439 154.528 17.681 17.697 17.669 37.161-0.012 54.866-60.878 60.954-121.78 121.9-182.674 182.85-53.774 53.826-107.54 107.657-161.322 161.479-9.963 9.967-18.789 7.646-22.412-6.172-1.116-4.273-1.205-8.911-1.209-13.38-0.072-59.689-0.048-119.386-0.048-179.080z",
- "M209.547 510.799c0 52.714 0.076 105.436-0.104 158.15-0.020 5.004-0.815 10.304-2.606 14.954-3.518 9.152-10.124 10.288-17.031 3.393-24.243-24.203-48.417-48.473-72.616-72.712-27.969-28.021-55.947-56.031-83.904-84.068-11.573-11.597-11.625-27.696-0.096-39.354 51.481-52.075 102.974-104.139 154.491-156.19 3.409-3.441 6.618-8.112 12.404-5.923 5.534 2.088 7.718 7.080 8.505 12.613 0.49 3.429 0.879 6.915 0.883 10.373 0.052 52.923 0.036 105.849 0.036 158.772 0.012-0.008 0.024-0.008 0.036-0.008z"
- ],
- "attrs": [
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- }
- ],
- "width": 1040,
- "grid": 0,
- "tags": [
- "kodi-symbol"
- ]
- },
- "attrs": [
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- }
- ],
- "properties": {
- "order": 72,
- "id": 4,
- "prevSize": 32,
- "code": 58882,
- "name": "kodi-symbol"
- },
- "setIdx": 0,
- "iconIdx": 2
- },
- {
- "icon": {
- "paths": [
- "M1323.932 19.879c8.823 0.554 17.647 1.109 26.455 1.709 67.646 4.666 132.304 20.526 192.712 51.924 43.177 22.436 81.458 51.477 115.581 86.108 37.064 37.588 67.723 79.749 90.82 127.299 16.938 34.893 28.703 71.526 36.849 109.406 9.978 46.426 13.274 93.423 11.287 140.742-3.187 75.884-19.972 148.442-55.758 215.949-24.961 47.104-57.498 88.434-96.21 124.99-62.071 58.622-134.829 96.872-218.397 114.565-30.936 6.56-62.148 10.656-93.746 11.657-1.447 0.046-2.864 0.462-4.281 0.693-12.411 0-24.807 0-37.203 0-8.069-0.554-16.153-1.139-24.222-1.709-96.81-7.006-185.152-36.926-261.713-97.842-60.424-48.074-107.743-106.742-140.019-177.144-16.415-35.786-27.363-73.297-34.693-111.932-8.3-43.686-10.918-87.802-8.7-132.134 4.666-93.315 29.242-180.44 83.383-257.663 63.365-90.343 146.224-154.586 253.197-185.644 32.599-9.47 65.829-15.768 99.721-18.386 10.733-0.832 21.496-1.247 32.244-1.909 1.755-0.092 3.495-0.447 5.235-0.678 9.147-0 18.309-0 27.456-0zM1309.226 878.299c34.4-0.308 67.707-3.095 100.367-11.179 71.141-17.57 130.302-54.464 177.329-110.731 47.997-57.421 72.958-124.143 79.733-198.132 2.325-25.315 2.587-50.692 1.078-76.084-1.617-27.563-5.266-54.849-12.581-81.504-22.836-83.26-69.601-149.673-141.451-197.717-53.71-35.925-113.826-52.37-177.945-55.542-35.047-1.725-69.894-0.154-104.448 6.129-60.362 10.948-114.072 35.894-160.36 76.438-44.902 39.328-77.316 87.094-97.411 143.268-15.198 42.5-21.281 86.524-21.927 131.457-0.508 34.924 1.925 69.586 9.547 103.709 13.766 61.548 41.422 115.904 84.661 162.223 38.142 40.837 83.491 70.233 136.338 88.233 41.484 14.151 84.368 18.956 127.068 19.433z",
- "M3074.341 982.778c-3.649 8.793-6.437 10.594-16.369 10.594-32.475 0-64.966 0.015-97.442 0-11.441 0-15.676-4.235-15.676-15.737 0-310.049 0-620.082 0-930.115 0-11.934 4.204-16.076 16.307-16.091 32.475 0 64.966-0.123 97.426 0.169 4.004 0.031 8.392 1.617 11.811 3.742 2.094 1.293 2.695 4.958 3.957 7.576-0.015 313.282-0.015 626.565-0.015 939.863z",
- "M425.229 421.611c16.399 21.773 32.629 43.331 48.844 64.889 34.4 45.734 68.816 91.467 103.232 137.201 44.255 58.822 88.495 117.629 132.75 176.436 43.362 57.637 86.709 115.273 130.133 172.864 3.203 4.235 4.604 8.562 2.294 13.474-2.325 4.974-6.868 6.591-11.995 6.883-2.356 0.139-4.712 0.015-7.083 0.015-40.005 0-80.011-0.031-120.016 0.046-6.837 0.015-11.872-2.264-16.138-7.992-75.468-100.829-151.090-201.582-226.681-302.349-42.946-57.221-85.893-114.411-128.839-171.616-0.354-0.477-0.755-0.893-1.386-1.617-5.205 4.866-10.379 9.655-15.522 14.475-34.816 32.568-69.617 65.136-104.448 97.688-19.202 17.939-38.388 35.878-57.698 53.695-2.495 2.294-3.511 4.558-3.511 7.961 0.077 97.442 0.062 194.883 0.062 292.325 0 1.17 0.031 2.356 0 3.526-0.246 8.931-4.789 13.797-13.72 13.812-34.108 0.139-68.215 0.108-102.308 0.015-8.654-0.031-13.212-4.897-13.381-13.581-0.031-1.032-0.015-2.079-0.015-3.095 0-309.448 0-618.881 0-928.314 0-0.308 0-0.601 0-0.893 0.046-11.734 4.281-16.014 15.937-16.014 31.151-0.015 62.302-0.015 93.453-0.015 2.063 0 4.142-0.062 6.19 0.015 9.024 0.416 13.458 4.851 13.843 13.828 0.062 1.34 0 2.664 0 3.988 0 149.997 0 299.994 0 449.975 0 1.725 0 3.434 0 6.236 7.73-7.206 14.721-13.705 21.65-20.203 41.114-38.573 82.213-77.193 123.342-115.735 53.941-50.569 107.943-101.076 161.884-151.66 45.225-42.392 90.405-84.83 135.615-127.238 19.048-17.893 38.157-35.709 57.144-53.648 3.973-3.757 8.5-5.574 13.92-5.574 47.689 0.015 95.363 0 143.052 0.015 8.13 0 12.719 2.941 14.428 9.008 1.417 5.020-0.508 8.931-4.034 12.288-13.797 13.12-27.594 26.224-41.437 39.297-24.484 23.082-49.013 46.134-73.497 69.216-33.954 31.983-67.877 63.965-101.799 95.979-34.77 32.814-69.493 65.675-104.279 98.489-23.159 21.881-46.411 43.716-69.986 65.906z",
- "M1945.646 512.508c0-154.416 0-308.863 0-463.279 0-1.34-0.015-2.664 0-3.988 0.169-8.746 4.573-13.32 13.274-13.797 0.585-0.031 1.186-0.015 1.771-0.015 132.442 0.015 264.87-0.323 397.297 0.185 60.916 0.231 119.2 13.905 174.804 38.789 48.367 21.635 90.882 51.785 127.792 89.727 60.131 61.779 100.090 134.644 119.723 218.705 11.302 48.397 15.984 97.411 14.952 146.994-1.386 66.598-12.935 131.257-38.188 193.128-21.081 51.647-51.262 97.519-89.28 138.263-58.391 62.533-129.286 103.616-212.376 123.758-35.863 8.669-72.188 12.55-109.083 12.519-128.3-0.216-256.601-0.077-384.901-0.092-2.202 0-4.419-0.154-6.575-0.477-4.743-0.755-7.684-3.603-8.515-8.315-0.447-2.448-0.647-4.958-0.647-7.437-0.046-154.924-0.046-309.787-0.046-464.665zM2075.209 869.553c2.202 0 3.957 0 5.713 0 86.216 0 172.432 0.077 258.649-0.077 15.475-0.031 30.982-0.678 46.411-1.894 32.029-2.51 62.564-10.995 91.775-24.376 38.188-17.493 70.248-42.962 97.873-74.406 25.746-29.319 46.072-61.933 61.070-97.904 15.953-38.281 24.53-78.24 27.717-119.539 2.91-37.696 1.725-75.191-3.942-112.532-6.729-44.132-21.065-85.739-43.254-124.512-24.668-43.1-56.466-79.995-97.318-108.513-48.906-34.138-103.801-50.030-163.085-50.307-92.268-0.447-184.551-0.154-276.819-0.169-1.555 0-3.126 0-4.804 0 0.015 238.292 0.015 475.937 0.015 714.228z"
- ],
- "attrs": [
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- }
- ],
- "width": 3091,
- "grid": 0,
- "tags": [
- "kodi-text"
- ]
- },
- "attrs": [
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- }
- ],
- "properties": {
- "order": 71,
- "id": 3,
- "prevSize": 32,
- "code": 58883,
- "name": "kodi-text"
- },
- "setIdx": 0,
- "iconIdx": 3
- },
- {
- "icon": {
- "paths": [
- "M849.719 835.246c-27.065-11.106-49.364-28.595-47.79-62.087 1.574-33.448-23.917-55.572-23.917-55.572s22.343-73.28 1.574-133.75c-20.681-60.513-89.108-157.579-141.62-230.728-52.381-73.28-7.87-157.666-55.572-265.838-47.79-108.171-171.876-101.832-238.729-55.66-66.897 46.084-46.216 160.639-43.067 214.856 3.192 54.042 1.443 92.562-4.678 106.554-6.34 13.991-49.32 65.323-78.002 108.259-28.639 42.936-49.32 132.088-70.132 168.685-20.681 36.596-6.34 70.001-6.34 70.001s-14.341 4.722-25.491 28.726c-11.149 23.785-33.405 34.935-73.193 42.805-39.788 7.958-39.788 33.536-30.257 62.175 9.575 28.595 0.044 44.598-11.106 81.063s44.554 47.79 98.64 53.998c54.129 6.384 114.599 41.406 165.58 47.79 50.85 6.384 66.809-34.979 66.809-34.979s57.278-12.811 117.659-14.298c60.557-1.618 117.703 12.723 117.703 12.723s11.149 25.447 31.831 36.553c20.769 11.149 65.279 12.767 93.918-17.358 28.682-30.3 105.067-68.427 148.003-92.387 43.111-23.917 35.241-60.469 8.176-71.531zM477.284 133.444c27.283 0 49.32 27.065 49.32 60.426 0 23.698-11.062 44.117-27.196 54.042-4.11-1.793-8.395-3.629-13.030-5.597 9.75-4.81 16.615-17.183 16.615-31.612 0-18.801-11.63-34.060-26.015-34.060-14.21 0-25.884 15.303-25.884 34.060 0 6.952 1.661 13.642 4.504 19.107-8.439-3.367-16.309-6.515-22.43-8.832-3.323-8.133-5.203-17.314-5.203-27.108 0-33.361 22.037-60.426 49.32-60.426zM473.742 260.853c13.685 4.722 28.814 13.598 27.24 22.386-1.618 8.832-8.788 8.832-27.24 20.113-18.495 11.193-58.546 36.028-71.356 37.646-12.898 1.618-20.069-5.597-33.711-14.385-13.642-8.832-39.307-29.776-32.836-40.925 0 0 19.982-15.303 28.726-23.305 8.832-8.045 31.35-27.24 44.948-24.747 13.685 2.317 50.588 18.408 64.23 23.217zM350.748 143.019c21.512 0 39.001 25.622 39.001 57.234 0 5.815-0.568 11.193-1.661 16.396-5.247 1.793-10.581 4.678-15.697 9.051-2.667 2.142-4.984 4.154-7.214 6.165 3.41-6.384 4.766-15.478 3.236-25.053-2.886-17.271-14.385-29.863-25.797-28.070-11.368 1.968-18.233 17.489-15.347 34.847 2.929 17.358 14.385 29.95 25.753 28.070 0.656-0.131 1.268-0.306 1.924-0.525-5.553 5.334-10.668 9.925-15.872 13.817-15.74-7.302-27.283-29.032-27.283-54.742 0-31.612 17.446-57.19 38.957-57.19zM308.73 947.134c-5.072 22.824-31.831 39.395-31.831 39.395-24.223 7.608-91.557-21.599-122.075-34.41-30.431-12.636-108.084-16.571-118.272-27.852-10.056-11.587 5.072-36.99 8.963-61.038 3.76-24.266-7.608-39.438-3.848-56.010 3.848-16.484 53.43-16.484 72.45-27.939 19.107-11.456 22.867-44.51 38.17-53.386 15.259-8.963 43.199 22.78 54.654 40.706 11.412 17.708 54.654 94.049 72.45 113.112s34.41 44.598 29.338 67.421zM590.177 725.37c-4.547 22.43-4.547 103.493-4.547 103.493s-49.32 68.34-125.792 79.533c-76.385 11.193-114.599 3.148-114.599 3.148l-42.936-49.276c0 0 33.361-4.853 28.639-38.258-4.81-33.448-101.832-79.576-119.365-121.026-17.402-41.319-3.104-111.451 19.151-146.473 22.211-34.891 36.465-111.232 58.764-136.767 22.299-25.36 39.744-79.489 31.831-103.406 0 0 47.746 57.321 81.063 47.833 33.405-9.575 108.346-65.323 119.365-55.704 11.106 9.575 106.597 219.578 116.042 286.431 9.619 66.765-6.384 117.659-6.384 117.659s-36.509-9.488-41.231 12.811zM834.416 875.297c-14.866 13.685-97.547 47.046-122.382 73.105-24.616 25.884-56.884 46.871-76.603 40.794-19.85-6.296-37.121-33.448-28.464-73.018 8.613-39.482 16.090-82.812 14.91-107.516-1.224-24.704-6.296-58.196 0-63.136 6.165-4.766 15.959-2.405 15.959-2.405s-4.81 46.871 23.523 59.333c28.376 12.243 69.214-4.941 81.588-17.358 12.417-12.286 21.075-30.825 21.075-30.825s12.286 6.296 11.106 26.015c-1.224 19.719 8.57 48.271 27.24 58.065 18.495 9.707 46.915 23.392 32.049 36.946z"
- ],
- "attrs": [
- {
- "visibility": false
- }
- ],
- "width": 872,
- "grid": 0,
- "tags": [
- "linux"
- ]
- },
- "attrs": [
- {
- "visibility": false
- }
- ],
- "properties": {
- "order": 70,
- "id": 2,
- "prevSize": 32,
- "code": 58884,
- "name": "linux"
- },
- "setIdx": 0,
- "iconIdx": 4
- },
- {
- "icon": {
- "paths": [
- "M179.763 596.473v-238.597c0-32.946-26.703-59.649-59.649-59.649s-59.649 26.703-59.649 59.649v238.597c0 32.966 26.703 59.649 59.649 59.649s59.649-26.663 59.649-59.649z",
- "M371.973 845.052v-695.929c0-32.946-26.703-59.649-59.649-59.649s-59.649 26.703-59.649 59.649v695.929c0 32.926 26.703 59.649 59.649 59.649s59.649-26.703 59.649-59.649z",
- "M564.183 742.296v-384.4c0-32.946-26.703-59.649-59.649-59.649s-59.649 26.703-59.649 59.649v384.4c0 32.966 26.703 59.649 59.649 59.649s59.649-26.663 59.649-59.649z",
- "M1087.765 417.565c-32.946 0-59.649 26.703-59.649 59.649v331.412c0 32.926 26.703 59.649 59.649 59.649s59.649-26.723 59.649-59.649v-331.412c0-32.946-26.703-59.649-59.649-59.649z",
- "M895.575-0c-32.946 0-59.649 26.703-59.649 59.649v904.701c0 32.926 26.703 59.649 59.649 59.649s59.649-26.723 59.649-59.649v-904.701c0-32.946-26.723-59.649-59.649-59.649z",
- "M703.365 868.275c32.946 0 59.649-26.723 59.649-59.649v-574.98c0-32.946-26.703-59.649-59.649-59.649s-59.649 26.703-59.649 59.649v574.98c0 32.946 26.703 59.649 59.649 59.649z"
- ],
- "attrs": [
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- }
- ],
- "width": 1203,
- "grid": 0,
- "tags": [
- "music"
- ]
- },
- "attrs": [
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- },
- {
- "visibility": false
- }
- ],
- "properties": {
- "order": 69,
- "id": 1,
- "prevSize": 32,
- "code": 58885,
- "name": "music"
- },
- "setIdx": 0,
- "iconIdx": 5
- },
- {
- "icon": {
- "paths": [
- "M574.745 10.282c5.611 0 11.222 0 16.826 0 34.465 7.35 68.818 15.297 103.417 21.918 49.657 9.497 72.893 38.183 63.383 81.17-17.717 80.132-53.045 148.235-131.451 186.066 55.71 43.611 70.923 70.284 81.366 129.052 2.763 15.549 12.211 32.558 23.734 43.457 58.684 55.485 67.71 134.81 24.464 203.509-12.856 20.424-21.771 46.073-23.797 70.067-6.193 73.532-42.461 121.589-108.579 153.060-41.5 19.751-81.422 44.607-118.005 72.501-60.234 45.933-135.666 51.032-197.751 10.373-49.615-32.494-100.682-62.815-151.65-93.205-42.3-25.221-67.773-61.384-81.899-108.53-11.341-37.839-26.252-75.026-43.569-110.557-25.081-51.467-33.666-105.605 0.484-151.285 32.649-43.674 53.942-88.113 68.629-140.337 8.886-31.576 40.967-56.629 62.366-84.27-13.466-10.801-33.427-23.005-48.479-39.648-34.935-38.624-59.553-84.354-64.252-136.304-1.95-21.574-14.841-51.382 12.779-67.633 15.402-9.062 34.087-13.27 51.81-17.548 33.518-8.087 67.402-14.652 101.138-21.848 5.611 0 11.222 0 16.826 0 8.262 2.293 16.412 5.155 24.8 6.782 50.036 9.735 98.886 21.455 126.008 71.435 6.579 12.127 12.548 24.576 19.856 38.975 2.279-4.818 3.9-7.652 5.015-10.675 25.2-68.005 78.659-93.647 146.453-98.542 6.845-0.491 13.396-5.218 20.080-7.982zM726.507 72.907c-11.341-1.045-33.189-0.722-33.575-3.451-3.563-24.983-18.481-11.278-29.563-10.703-5.288 0.274-11.033 0.814-15.865-0.835-13.88-4.72-27.122-13.642-41.149-14.911-12.309-1.108-23.222 6.032-38.863 2.616-16.91-3.696-37.727 10.436-57.449 16.994-1.592-2.202-4.215-5.849-7.554-10.485-8.627 9.763-15.030 23.615-22.254 24.064-40.027 2.483-42.194 35.952-51.053 61.426-11.643 33.469-2.602 49.531 26.372 66.083 54.805-30.951 107.758-60.844 160.712-90.743 1.452 2.504 2.904 5.015 4.356 7.519-13.88 8.269-28.384 15.641-41.493 24.99-31.092 22.184-61.756 44.986-91.95 68.356-4.959 3.836-9.868 12.134-9.363 17.892 2.7 30.503 80.777 70.74 108.179 55.591 17.597-9.728 32.754-24.141 50.779-32.74 12.884-6.144 23.769-9.546 28.763-25.677 3.093-9.98 20.873-7.357 21.806-28.511 0.884-19.786 23.131-38.624 36.107-58.080-5.246-2.041-9.693-3.766-14.799-5.744 8.571-9.84 15.739-18.081 23.538-27.031-32.074-10.205-0.189-24.695-5.681-36.619zM350.629 204.779c19.645-9.658 35.517-27.627 27.704-51.88-8.816-27.353-23.257-53.613-39.424-77.529-5.962-8.816-23.797-9.609-40.504-15.591 1.305-1.073-2.665 2.195-7 5.751-9.588-8.844-17.24-13.228-33.883-12.611-22.823 0.849-44.572-11.411-70.586-0.014-17.632 7.736-41.058 2.237-61.889 2.707-2.784 0.063-7.904 0.035-8.024 0.708-4.208 25.025-27.045 10.507-35.728 15.192 0.722 15.437 1.298 27.718 1.873 40.006-2.588 0.414-5.169 0.828-7.757 1.241 7.238 7.918 14.469 15.837 22.409 24.527-5.92 1.992-10.163 3.416-15.388 5.169 7.596 9.581 23.131 22.963 20.894 27.396-11.79 23.419 17.163 27.192 19.842 45.533 2.16 14.778 29.878 25.838 46.283 38.526 1.459 1.129 3.016 2.146 4.58 3.121 17.31 10.675 34.15 29.177 52.063 30.285 32.081 1.978 64.954-6.298 89.046-32.186 15.942-17.127 18.986-33.301-3.198-48.626-17.618-12.169-33.876-26.301-51.474-38.505-21.153-14.673-43.085-28.23-64.68-42.272 1.599-2.602 3.191-5.204 4.79-7.806 48.724 28.195 97.441 56.404 150.051 86.858zM164.492 550.652c-0.288 59.736 36.794 99.679 92.707 99.868 65.606 0.231 121.681-60.164 121.933-131.317 0.203-57.197-37.993-98.732-91.452-99.447-64.687-0.856-122.859 60.949-123.189 130.897zM636.549 548.317c-0.337-53.69-37.341-106.524-87.496-124.9-56.951-20.866-107.815 6.439-121.582 65.276-12.463 53.241 17.373 116.028 68.194 143.514 71.021 38.414 141.389-3.493 140.884-83.891zM403.218 839.848c61.461-0.905 116.441-52.701 114.562-107.941-1.936-57.042-54.812-103.515-115.873-101.846-62.268 1.697-112.366 48.773-112.584 105.795-0.224 55.934 53.374 104.876 113.895 103.992zM701.012 740.373c-4.58-21.651 1.248-53.928-28.833-66.7-27.816-11.811-52.301 3.949-73.461 22.128-37.846 32.537-64.47 71.961-72.024 122.312-6.193 41.325 14.441 62.359 55.387 57.183 67.177-8.459 115.972-62.155 118.931-134.923zM226.213 876.937c28.104 1.382 44.6-14.764 45.533-44.572 1.739-56.039-61.475-136.416-115.74-147.175-26.35-5.225-45.835 7.722-51.551 34.262-15.914 73.938 45.785 153.747 121.758 157.486zM384.049 289.96c-14.455 7.189-43.941 18.18-69.12 35.454-23.924 16.405-20.732 42.461 2.658 60.668 39.676 30.895 125.763 33.371 166.996 4.804 24.029-16.644 26.954-40.693 6.221-61.461-24.66-24.695-54.938-37.537-106.756-39.466zM400.202 868.492c-28.083 7.961-60.479 14.89-91.052 26.561-22.149 8.444-20.747 25.067-5.239 41.816 50.976 55.051 144.819 54.083 193.276-2.378 21.188-24.681 18.832-37.944-12.681-48.142-25.242-8.178-52.14-11.278-84.305-17.857zM708.229 678.267c61.882-53.101 56.039-147.603-7.743-190.24-16.615-11.103-26.891-10.065-30.727 11.881-9.433 53.935 1.866 104.939 21.511 154.652 3.177 8.045 10.261 14.546 16.959 23.706zM133.337 551.494c-2.258-0.575-4.524-1.15-6.782-1.732 0-8.367 1.739-17.205-0.393-24.99-3.514-12.849-9.525-25.018-14.483-37.474-11.776 6.368-25.81 10.45-34.935 19.491-42.089 41.71-46.255 107.211-11.566 155.655 15.458 21.581 27.886 22.374 37.397-2.616 13.312-34.949 20.789-72.115 30.762-108.334zM515.051 319.804c18.867 45.014 114.969 125.173 157.878 132.327 14.203-85.188-73.433-160.319-157.878-132.327zM279.643 322.329c-40.42-18.509-92.363-6.319-125.763 27.178-30.061 30.159-44.081 75.502-30.18 104.539 61.777-32.347 115.032-73.553 155.943-131.717z",
- "M574.745 10.282c-6.684 2.763-13.235 7.484-20.073 7.982-67.801 4.896-121.253 30.531-146.453 98.528-1.115 3.023-2.735 5.863-5.015 10.675-7.308-14.392-13.277-26.848-19.856-38.975-27.122-49.966-75.972-61.685-126.008-71.42-8.388-1.627-16.538-4.489-24.8-6.782 114.071-0.007 228.135-0.007 342.205-0.007z"
- ],
- "attrs": [
- {
- "visibility": false
- },
- {
- "visibility": false
- }
- ],
- "width": 793,
- "grid": 0,
- "tags": [
- "pi"
- ]
- },
- "attrs": [
- {
- "visibility": false
- },
- {
- "visibility": false
- }
- ],
- "properties": {
- "order": 68,
- "id": 0,
- "prevSize": 32,
- "code": 58886,
- "name": "pi"
- },
- "setIdx": 0,
- "iconIdx": 6
- },
- {
- "icon": {
- "paths": [
- "M1024 590.444l-512-397.426-512 397.428v-162.038l512-397.426 512 397.428zM896 576v384h-256v-256h-256v256h-256v-384l384-288z"
- ],
- "tags": [
- "home",
- "house",
- "building"
- ],
- "grid": 16
- },
- "properties": {
- "id": 0,
- "order": 67,
- "prevSize": 32,
- "code": 58887,
- "name": "home"
- },
- "setIdx": 1,
- "iconIdx": 0
- },
- {
- "icon": {
- "paths": [
- "M864 0c88.364 0 160 71.634 160 160 0 36.020-11.91 69.258-32 96l-64 64-224-224 64-64c26.742-20.090 59.978-32 96-32zM64 736l-64 288 288-64 592-592-224-224-592 592zM715.578 363.578l-448 448-55.156-55.156 448-448 55.156 55.156z"
- ],
- "tags": [
- "pencil",
- "write",
- "edit",
- "blog",
- "note"
- ],
- "grid": 16
- },
- "properties": {
- "id": 5,
- "order": 75,
- "prevSize": 32,
- "code": 58888,
- "name": "pencil"
- },
- "setIdx": 1,
- "iconIdx": 5
- },
- {
- "icon": {
- "paths": [
- "M0 128v832h1024v-832h-1024zM960 896h-896v-704h896v704zM704 352c0-53.019 42.981-96 96-96s96 42.981 96 96c0 53.019-42.981 96-96 96-53.019 0-96-42.981-96-96zM896 832h-768l192-512 256 320 128-96z"
- ],
- "tags": [
- "image",
- "picture",
- "photo",
- "graphic"
- ],
- "grid": 16
- },
- "properties": {
- "id": 13,
- "order": 41,
- "prevSize": 32,
- "code": 58889,
- "name": "image"
- },
- "setIdx": 1,
- "iconIdx": 13
- },
- {
- "icon": {
- "paths": [
- "M320 192l704-192v64 128 544c0 88.366-100.29 160-224 160s-224-71.634-224-160c0-88.366 100.29-160 224-160 34.358 0 66.902 5.532 96 15.406v-329.588l-448 122.182v480c0 88.366-100.288 160-224 160-123.712 0-224-71.634-224-160 0-88.366 100.288-160 224-160 34.358 0 66.902 5.532 96 15.406v-335.406-192z"
- ],
- "tags": [
- "music",
- "song",
- "audio",
- "sound"
- ],
- "grid": 16
- },
- "properties": {
- "id": 16,
- "order": 40,
- "prevSize": 32,
- "code": 58890,
- "name": "music2"
- },
- "setIdx": 1,
- "iconIdx": 16
- },
- {
- "icon": {
- "paths": [
- "M192 578.286v443.43c10.454 1.496 21.134 2.286 32 2.286h32v-448.002h-32c-10.866 0-21.546 0.79-32 2.286zM768 576v448h32c10.868 0 21.546-0.79 32-2.286v-443.428c-10.454-1.496-21.132-2.286-32-2.286h-32zM1024 512c0-282.77-229.23-512-512-512s-512 229.23-512 512c0 61.418 10.828 120.306 30.656 174.874-19.472 33.202-30.656 71.852-30.656 113.126 0 89.354 52.326 166.478 128 202.432v-404.864c-20.126 9.562-38.58 22.060-54.858 36.904-5.992-29.22-9.142-59.478-9.142-90.472 0-247.424 200.576-448 448-448s448 200.576 448 448c0 30.994-3.148 61.252-9.142 90.472-16.28-14.844-34.73-27.342-54.858-36.904v404.864c75.676-35.954 128-113.078 128-202.432 0-41.274-11.184-79.924-30.656-113.126 19.828-54.568 30.656-113.456 30.656-174.874z"
- ],
- "tags": [
- "headphones",
- "headset",
- "music",
- "song",
- "audio"
- ],
- "grid": 16
- },
- "properties": {
- "id": 17,
- "order": 42,
- "prevSize": 32,
- "code": 58891,
- "name": "headphones"
- },
- "setIdx": 1,
- "iconIdx": 17
- },
- {
- "icon": {
- "paths": [
- "M981.188 160.108c-143.632-20.65-302.332-32.108-469.186-32.108-166.86 0-325.556 11.458-469.194 32.108-27.53 107.726-42.808 226.75-42.808 351.892 0 125.14 15.278 244.166 42.808 351.89 143.638 20.652 302.336 32.11 469.194 32.11 166.854 0 325.552-11.458 469.186-32.11 27.532-107.724 42.812-226.75 42.812-351.89 0-125.142-15.28-244.166-42.812-351.892zM384.002 704v-384l320 192-320 192z"
- ],
- "tags": [
- "play",
- "video",
- "movie"
- ],
- "grid": 16
- },
- "properties": {
- "id": 18,
- "order": 45,
- "prevSize": 32,
- "code": 58892,
- "name": "play"
- },
- "setIdx": 1,
- "iconIdx": 18
- },
- {
- "icon": {
- "paths": [
- "M0 128v768h1024v-768h-1024zM192 832h-128v-128h128v128zM192 576h-128v-128h128v128zM192 320h-128v-128h128v128zM768 832h-512v-640h512v640zM960 832h-128v-128h128v128zM960 576h-128v-128h128v128zM960 320h-128v-128h128v128zM384 320v384l256-192z"
- ],
- "tags": [
- "film",
- "video",
- "movie",
- "tape",
- "play"
- ],
- "grid": 16
- },
- "properties": {
- "id": 19,
- "order": 43,
- "prevSize": 32,
- "code": 58893,
- "name": "film"
- },
- "setIdx": 1,
- "iconIdx": 19
- },
- {
- "icon": {
- "paths": [
- "M384 288c0-88.366 71.634-160 160-160s160 71.634 160 160c0 88.366-71.634 160-160 160-88.366 0-160-71.634-160-160zM0 288c0-88.366 71.634-160 160-160 88.366 0 160 71.634 160 160 0 88.366-71.634 160-160 160-88.366 0-160-71.634-160-160zM768 608v-96c0-35.2-28.8-64-64-64h-160-480c-35.2 0-64 28.8-64 64v320c0 35.2 28.8 64 64 64h640c35.2 0 64-28.8 64-64v-96l256 160v-448l-256 160zM640 768h-512v-192h512v192z"
- ],
- "tags": [
- "camera",
- "video",
- "media",
- "film",
- "movie"
- ],
- "grid": 16
- },
- "properties": {
- "id": 20,
- "order": 44,
- "prevSize": 32,
- "code": 58894,
- "name": "camera"
- },
- "setIdx": 1,
- "iconIdx": 20
- },
- {
- "icon": {
- "paths": [
- "M964.73 178.804c-93.902-109.45-233.21-178.804-388.73-178.804-282.77 0-512 229.23-512 512s229.23 512 512 512c155.52 0 294.828-69.356 388.728-178.804l-324.728-333.196 324.73-333.196zM704 120.602c39.432 0 71.398 31.964 71.398 71.398 0 39.432-31.966 71.398-71.398 71.398s-71.398-31.966-71.398-71.398c0-39.432 31.966-71.398 71.398-71.398z"
- ],
- "tags": [
- "pacman",
- "game",
- "arcade"
- ],
- "grid": 16
- },
- "properties": {
- "id": 22,
- "order": 66,
- "prevSize": 32,
- "code": 58895,
- "name": "pacman"
- },
- "setIdx": 1,
- "iconIdx": 22
- },
- {
- "icon": {
- "paths": [
- "M927.812 0h-288.562c-52.906 0-126.796 30.606-164.204 68.014l-446.99 446.99c-37.408 37.408-37.408 98.624 0 136.032l344.91 344.906c37.408 37.41 98.622 37.41 136.030 0l446.99-446.988c37.408-37.41 68.014-111.302 68.014-164.204v-288.562c0-52.904-43.286-96.188-96.188-96.188zM800 320c-53.020 0-96-42.98-96-96s42.98-96 96-96 96 42.98 96 96-42.98 96-96 96z"
- ],
- "tags": [
- "tag",
- "price"
- ],
- "grid": 16
- },
- "properties": {
- "id": 48,
- "order": 64,
- "prevSize": 32,
- "code": 58896,
- "name": "tag"
- },
- "setIdx": 1,
- "iconIdx": 48
- },
- {
- "icon": {
- "paths": [
- "M992 64h-224c-52.8 0-126.546 30.546-163.882 67.882l-376.236 376.236c-37.334 37.334-37.334 98.428 0 135.764l280.236 280.234c37.334 37.336 98.428 37.336 135.764 0l376.234-376.234c37.338-37.336 67.884-111.082 67.884-163.882v-224c0-52.8-43.2-96-96-96zM864 384c-53.020 0-96-42.98-96-96s42.98-96 96-96 96 42.98 96 96-42.98 96-96 96zM86.626 598.626l342.378 342.378c-36.264 19.16-82.462 13.538-112.886-16.888l-280.236-280.234c-37.334-37.336-37.334-98.43 0-135.764l376.236-376.236c37.336-37.336 111.082-67.882 163.882-67.882l-489.374 489.372c-12.444 12.446-12.444 32.808 0 45.254z"
- ],
- "width": 1088,
- "tags": [
- "tags",
- "prices"
- ],
- "grid": 16
- },
- "properties": {
- "id": 49,
- "order": 65,
- "prevSize": 32,
- "code": 58897,
- "name": "tags"
- },
- "setIdx": 1,
- "iconIdx": 49
- },
- {
- "icon": {
- "paths": [
- "M512 0c-176.732 0-320 143.268-320 320 0 320 320 704 320 704s320-384 320-704c0-176.732-143.27-320-320-320zM512 512c-106.040 0-192-85.96-192-192s85.96-192 192-192 192 85.96 192 192-85.96 192-192 192z"
- ],
- "tags": [
- "location",
- "map",
- "marker",
- "pin"
- ],
- "grid": 16
- },
- "properties": {
- "id": 66,
- "order": 63,
- "prevSize": 32,
- "code": 58898,
- "name": "location"
- },
- "setIdx": 1,
- "iconIdx": 66
- },
- {
- "icon": {
- "paths": [
- "M1024 832v-768h-1024v768h448v64h-192v64h512v-64h-192v-64h448zM128 192h768v512h-768v-512z"
- ],
- "tags": [
- "screen",
- "monitor",
- "computer",
- "pc",
- "desktop"
- ],
- "grid": 16
- },
- "properties": {
- "id": 82,
- "order": 47,
- "prevSize": 32,
- "code": 58899,
- "name": "screen"
- },
- "setIdx": 1,
- "iconIdx": 82
- },
- {
- "icon": {
- "paths": [
- "M736 0h-448c-52.8 0-96 43.2-96 96v832c0 52.8 43.2 96 96 96h448c52.8 0 96-43.2 96-96v-832c0-52.8-43.2-96-96-96zM384 48h256v32h-256v-32zM512 960c-35.346 0-64-28.654-64-64s28.654-64 64-64 64 28.654 64 64-28.654 64-64 64zM768 768h-512v-640h512v640z"
- ],
- "tags": [
- "mobile",
- "phone",
- "handheld"
- ],
- "grid": 16
- },
- "properties": {
- "id": 84,
- "order": 46,
- "prevSize": 32,
- "code": 58900,
- "name": "mobile"
- },
- "setIdx": 1,
- "iconIdx": 84
- },
- {
- "icon": {
- "paths": [
- "M981.188 288.108c-88.808-12.768-183.382-22.016-282.076-27.22l164.888-164.888-64-64-224.558 224.556c-21.006-0.368-42.156-0.556-63.442-0.556v0l-256-256-64 64 194.196 194.196c-120.922 4.242-236.338 14.524-343.386 29.912-27.532 107.726-42.81 226.752-42.81 351.892s15.278 244.166 42.804 351.89c143.642 20.652 302.34 32.11 469.196 32.11 166.856 0 325.55-11.458 469.188-32.11 27.534-107.724 42.812-226.75 42.812-351.89s-15.278-244.166-42.812-351.892zM863.892 874.594c-107.73 13.766-226.75 21.406-351.892 21.406-125.142 0-244.166-7.64-351.892-21.406-20.648-71.816-32.108-151.166-32.108-234.594 0-83.43 11.458-162.78 32.108-234.596 107.726-13.766 226.75-21.404 351.892-21.404 125.136 0 244.162 7.638 351.886 21.404 20.656 71.816 32.114 151.166 32.114 234.596 0 83.428-11.458 162.778-32.108 234.594z"
- ],
- "tags": [
- "tv",
- "television",
- "show"
- ],
- "grid": 16
- },
- "properties": {
- "id": 87,
- "order": 39,
- "prevSize": 32,
- "code": 58901,
- "name": "tv"
- },
- "setIdx": 1,
- "iconIdx": 87
- },
- {
- "icon": {
- "paths": [
- "M512 64c282.77 0 512 186.25 512 416 0 229.752-229.23 416-512 416-27.156 0-53.81-1.734-79.824-5.044-109.978 109.978-241.25 129.7-368.176 132.596v-26.916c68.536-33.578 128-94.74 128-164.636 0-9.754-0.758-19.33-2.164-28.696-115.796-76.264-189.836-192.754-189.836-323.304 0-229.75 229.23-416 512-416z"
- ],
- "tags": [
- "bubble",
- "comment",
- "chat",
- "talk"
- ],
- "grid": 16
- },
- "properties": {
- "id": 106,
- "order": 36,
- "prevSize": 32,
- "code": 58902,
- "name": "bubble"
- },
- "setIdx": 1,
- "iconIdx": 106
- },
- {
- "icon": {
- "paths": [
- "M480 0v0c265.096 0 480 173.914 480 388.448s-214.904 388.448-480 388.448c-25.458 0-50.446-1.62-74.834-4.71-103.106 102.694-222.172 121.108-341.166 123.814v-25.134c64.252-31.354 116-88.466 116-153.734 0-9.106-0.712-18.048-2.030-26.794-108.558-71.214-177.97-179.988-177.97-301.89 0-214.534 214.904-388.448 480-388.448zM996 870.686c0 55.942 36.314 104.898 92 131.772v21.542c-103.126-2.318-197.786-18.102-287.142-106.126-21.14 2.65-42.794 4.040-64.858 4.040-95.47 0-183.408-25.758-253.614-69.040 144.674-0.506 281.26-46.854 384.834-130.672 52.208-42.252 93.394-91.826 122.414-147.348 30.766-58.866 46.366-121.582 46.366-186.406 0-10.448-0.45-20.836-1.258-31.168 72.57 59.934 117.258 141.622 117.258 231.676 0 104.488-60.158 197.722-154.24 258.764-1.142 7.496-1.76 15.16-1.76 22.966z"
- ],
- "width": 1152,
- "tags": [
- "bubbles",
- "comments",
- "chat",
- "talk"
- ],
- "grid": 16
- },
- "properties": {
- "id": 108,
- "order": 62,
- "prevSize": 32,
- "code": 58903,
- "name": "bubbles"
- },
- "setIdx": 1,
- "iconIdx": 108
- },
- {
- "icon": {
- "paths": [
- "M256 320c0-141.385 114.615-256 256-256s256 114.615 256 256c0 141.385-114.615 256-256 256-141.385 0-256-114.615-256-256zM768 640h-512c-141.384 0-256 114.618-256 256v64h1024v-64c0-141.382-114.616-256-256-256z"
- ],
- "tags": [
- "user",
- "profile",
- "avatar",
- "person",
- "talk",
- "member"
- ],
- "grid": 16
- },
- "properties": {
- "id": 116,
- "order": 38,
- "prevSize": 32,
- "code": 58904,
- "name": "user"
- },
- "setIdx": 1,
- "iconIdx": 116
- },
- {
- "icon": {
- "paths": [
- "M384 128c0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128 0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128zM655.53 240.47c0-70.692 57.308-128 128-128s128 57.308 128 128c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128zM832 512c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM719.53 783.53c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM448.002 896c-0-0-0-0-0-0 0-35.346 28.654-64 64-64 35.346 0 64 28.654 64 64 0 0 0 0 0 0 0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM176.472 783.53c-0-0-0-0-0-0 0-35.346 28.654-64 64-64 35.346 0 64 28.654 64 64 0 0 0 0 0 0 0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM144.472 240.47c-0-0-0-0-0-0 0-53.019 42.981-96 96-96 53.019 0 96 42.981 96 96 0 0 0 0 0 0 0 53.019-42.981 96-96 96-53.019 0-96-42.981-96-96zM56 512c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.765-32.235 72-72 72-39.765 0-72-32.235-72-72z"
- ],
- "tags": [
- "spinner",
- "loading",
- "busy",
- "wait",
- "wheel"
- ],
- "grid": 16
- },
- "properties": {
- "id": 120,
- "order": 37,
- "prevSize": 32,
- "code": 58905,
- "name": "spinner"
- },
- "setIdx": 1,
- "iconIdx": 120
- },
- {
- "icon": {
- "paths": [
- "M992.262 871.396l-242.552-206.294c-25.074-22.566-51.89-32.926-73.552-31.926 57.256-67.068 91.842-154.078 91.842-249.176 0-212.078-171.922-384-384-384-212.076 0-384 171.922-384 384 0 212.078 171.922 384 384 384 95.098 0 182.108-34.586 249.176-91.844-1 21.662 9.36 48.478 31.926 73.552l206.294 242.552c35.322 39.246 93.022 42.554 128.22 7.356s31.892-92.898-7.354-128.22zM384 640c-141.384 0-256-114.616-256-256s114.616-256 256-256 256 114.616 256 256-114.614 256-256 256z"
- ],
- "tags": [
- "search",
- "magnifier",
- "lookup",
- "find"
- ],
- "grid": 16
- },
- "properties": {
- "id": 127,
- "order": 33,
- "prevSize": 32,
- "code": 58906,
- "name": "search"
- },
- "setIdx": 1,
- "iconIdx": 127
- },
- {
- "icon": {
- "paths": [
- "M704 0c-176.73 0-320 143.268-320 320 0 20.026 1.858 39.616 5.376 58.624l-389.376 389.376v192c0 35.346 28.654 64 64 64h64v-64h128v-128h128v-128h128l83.042-83.042c34.010 12.316 70.696 19.042 108.958 19.042 176.73 0 320-143.268 320-320s-143.27-320-320-320zM799.874 320.126c-53.020 0-96-42.98-96-96s42.98-96 96-96 96 42.98 96 96-42.98 96-96 96z"
- ],
- "tags": [
- "key",
- "password",
- "login",
- "log in",
- "signin",
- "sign in"
- ],
- "grid": 16
- },
- "properties": {
- "id": 135,
- "order": 60,
- "prevSize": 32,
- "code": 58907,
- "name": "key"
- },
- "setIdx": 1,
- "iconIdx": 135
- },
- {
- "icon": {
- "paths": [
- "M448 128v-16c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v16h-192v128h192v16c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-16h576v-128h-576zM256 256v-128h128v128h-128zM832 432c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v16h-576v128h576v16c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-16h192v-128h-192v-16zM640 576v-128h128v128h-128zM448 752c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v16h-192v128h192v16c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-16h576v-128h-576v-16zM256 896v-128h128v128h-128z"
- ],
- "tags": [
- "settings",
- "preferences",
- "options"
- ],
- "grid": 16
- },
- "properties": {
- "id": 140,
- "order": 61,
- "prevSize": 32,
- "code": 58908,
- "name": "settings"
- },
- "setIdx": 1,
- "iconIdx": 140
- },
- {
- "icon": {
- "paths": [
- "M1024 608.094v-192.188l-146.774-24.462c-5.958-18.132-13.222-35.668-21.694-52.5l86.454-121.034-135.896-135.898-120.826 86.304c-16.91-8.554-34.538-15.888-52.768-21.902l-24.402-146.414h-192.188l-24.402 146.416c-18.23 6.014-35.858 13.348-52.766 21.902l-120.828-86.304-135.898 135.898 86.454 121.036c-8.47 16.83-15.734 34.366-21.692 52.498l-146.774 24.46v192.188l147.118 24.52c5.96 17.968 13.21 35.348 21.642 52.030l-86.748 121.448 135.898 135.896 121.654-86.894c16.602 8.35 33.89 15.528 51.764 21.434l24.578 147.472h192.188l24.578-147.474c17.874-5.906 35.162-13.084 51.766-21.432l121.652 86.892 135.896-135.896-86.744-121.446c8.432-16.682 15.678-34.062 21.64-52.032l147.118-24.518zM512 640c-70.692 0-128-57.306-128-128 0-70.692 57.308-128 128-128 70.694 0 128 57.308 128 128 0 70.694-57.306 128-128 128z"
- ],
- "tags": [
- "cog",
- "preferences",
- "settings",
- "gear",
- "generate",
- "control",
- "options"
- ],
- "grid": 16
- },
- "properties": {
- "id": 144,
- "order": 35,
- "prevSize": 32,
- "code": 58909,
- "name": "cog"
- },
- "setIdx": 1,
- "iconIdx": 144
- },
- {
- "icon": {
- "paths": [
- "M128 896h896v128h-1024v-1024h128zM288 832c-53.020 0-96-42.98-96-96s42.98-96 96-96c2.828 0 5.622 0.148 8.388 0.386l103.192-171.986c-9.84-15.070-15.58-33.062-15.58-52.402 0-53.020 42.98-96 96-96 53.020 0 96 42.98 96 96 0 19.342-5.74 37.332-15.58 52.402l103.192 171.986c2.766-0.238 5.56-0.386 8.388-0.386 2.136 0 4.248 0.094 6.35 0.23l170.356-298.122c-10.536-15.408-16.706-34.036-16.706-54.11 0-53.020 42.98-96 96-96 53.020 0 96 42.98 96 96 0 53.020-42.98 96-96 96-2.14 0-4.248-0.094-6.35-0.232l-170.356 298.124c10.536 15.406 16.706 34.036 16.706 54.11 0 53.020-42.98 96-96 96-53.020 0-96-42.98-96-96 0-19.34 5.74-37.332 15.578-52.402l-103.19-171.984c-2.766 0.238-5.56 0.386-8.388 0.386s-5.622-0.146-8.388-0.386l-103.192 171.986c9.84 15.068 15.58 33.060 15.58 52.4 0 53.020-42.98 96-96 96z"
- ],
- "tags": [
- "stats",
- "graph",
- "plot",
- "statistics",
- "chart"
- ],
- "grid": 16
- },
- "properties": {
- "id": 150,
- "order": 34,
- "prevSize": 32,
- "code": 58910,
- "name": "stats"
- },
- "setIdx": 1,
- "iconIdx": 150
- },
- {
- "icon": {
- "paths": [
- "M640 146.588v135.958c36.206 15.804 69.5 38.408 98.274 67.18 60.442 60.44 93.726 140.8 93.726 226.274s-33.286 165.834-93.726 226.274c-60.44 60.44-140.798 93.726-226.274 93.726s-165.834-33.286-226.274-93.726c-60.44-60.44-93.726-140.8-93.726-226.274s33.286-165.834 93.726-226.274c28.774-28.774 62.068-51.378 98.274-67.182v-135.956c-185.048 55.080-320 226.472-320 429.412 0 247.424 200.578 448 448 448 247.424 0 448-200.576 448-448 0-202.94-134.95-374.332-320-429.412zM448 0h128v512h-128z"
- ],
- "tags": [
- "switch",
- "power",
- "turn off",
- "off",
- "shutdown"
- ],
- "grid": 16
- },
- "properties": {
- "id": 177,
- "order": 27,
- "prevSize": 32,
- "code": 58911,
- "name": "switch"
- },
- "setIdx": 1,
- "iconIdx": 177
- },
- {
- "icon": {
- "paths": [
- "M976 768h-16v-208c0-61.756-50.242-112-112-112h-272v-128h16c26.4 0 48-21.6 48-48v-160c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v160c0 26.4 21.6 48 48 48h16v128h-272c-61.756 0-112 50.244-112 112v208h-16c-26.4 0-48 21.6-48 48v160c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-160c0-26.4-21.6-48-48-48h-16v-192h256v192h-16c-26.4 0-48 21.6-48 48v160c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-160c0-26.4-21.6-48-48-48h-16v-192h256v192h-16c-26.4 0-48 21.6-48 48v160c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-160c0-26.4-21.6-48-48-48zM192 960h-128v-128h128v128zM576 960h-128v-128h128v128zM448 256v-128h128v128h-128zM960 960h-128v-128h128v128z"
- ],
- "tags": [
- "tree",
- "branches",
- "descendants"
- ],
- "grid": 16
- },
- "properties": {
- "id": 185,
- "order": 32,
- "prevSize": 32,
- "code": 58912,
- "name": "tree"
- },
- "setIdx": 1,
- "iconIdx": 185
- },
- {
- "icon": {
- "paths": [
- "M1024 657.542c0-82.090-56.678-150.9-132.996-169.48-3.242-128.7-108.458-232.062-237.862-232.062-75.792 0-143.266 35.494-186.854 90.732-24.442-31.598-62.69-51.96-105.708-51.96-73.81 0-133.642 59.874-133.642 133.722 0 6.436 0.48 12.76 1.364 18.954-11.222-2.024-22.766-3.138-34.57-3.138-106.998-0.002-193.732 86.786-193.732 193.842 0 107.062 86.734 193.848 193.73 193.848l656.262-0.012c96.138-0.184 174.008-78.212 174.008-174.446z"
- ],
- "tags": [
- "cloud",
- "weather"
- ],
- "grid": 16
- },
- "properties": {
- "id": 186,
- "order": 31,
- "prevSize": 32,
- "code": 58913,
- "name": "cloud"
- },
- "setIdx": 1,
- "iconIdx": 186
- },
- {
- "icon": {
- "paths": [
- "M874.040 149.962c96.702 96.704 149.96 225.28 149.96 362.040s-53.258 265.334-149.96 362.038c-96.706 96.702-225.28 149.96-362.040 149.96-136.76 0-265.334-53.258-362.040-149.96-96.702-96.704-149.96-225.278-149.96-362.038 0-136.76 53.254-265.336 149.96-362.040 96.706-96.704 225.28-149.962 362.040-149.962 136.76 0 265.334 53.258 362.040 149.962zM828.784 828.786c63.058-63.060 104.986-141.608 122.272-227.062-13.474 19.836-26.362 27.194-34.344-17.206-8.22-72.39-74.708-26.148-116.516-51.86-44.004 29.658-142.906-57.662-126.098 40.824 25.934 44.422 140.008-59.45 83.148 34.542-36.274 65.616-132.642 210.932-120.106 286.258 1.582 109.744-112.134 22.884-151.314-13.52-26.356-72.92-8.982-200.374-77.898-236.086-74.802-3.248-139.004-10.046-167.994-93.67-17.446-59.828 18.564-148.894 82.678-162.644 93.85-58.966 127.374 69.054 215.39 71.434 27.328-28.594 101.816-37.686 107.992-69.75-57.75-10.19 73.268-48.558-5.528-70.382-43.47 5.112-71.478 45.074-48.368 78.958-84.238 19.642-86.936-121.904-167.91-77.258-2.058 70.59-132.222 22.886-45.036 8.572 29.956-13.088-48.86-51.016-6.28-44.124 20.916-1.136 91.332-25.812 72.276-42.402 39.21-24.34 72.16 58.29 110.538-1.882 27.708-46.266-11.62-54.808-46.35-31.356-19.58-21.924 34.57-69.276 82.332-89.738 15.918-6.82 31.122-10.536 42.746-9.484 24.058 27.792 68.55 32.606 70.878-3.342-59.582-28.534-125.276-43.608-193.292-43.608-97.622 0-190.47 31.024-267.308 88.39 20.65 9.46 32.372 21.238 12.478 36.296-15.456 46.054-78.17 107.876-133.224 99.124-28.586 49.296-47.412 103.606-55.46 160.528 46.112 15.256 56.744 45.45 46.836 55.55-23.496 20.488-37.936 49.53-45.376 81.322 15.010 91.836 58.172 176.476 125.27 243.576 84.616 84.614 197.118 131.214 316.784 131.214 119.664 0 232.168-46.6 316.784-131.214z"
- ],
- "tags": [
- "earth",
- "globe",
- "web",
- "internet",
- "sphere",
- "planet"
- ],
- "grid": 16
- },
- "properties": {
- "id": 194,
- "order": 28,
- "prevSize": 32,
- "code": 58914,
- "name": "earth"
- },
- "setIdx": 1,
- "iconIdx": 194
- },
- {
- "icon": {
- "paths": [
- "M953.396 74.642l-4.028-4.042c-94.148-94.134-248.194-94.134-342.326 0l-218.106 218.136c-94.134 94.132-94.134 248.176 0 342.31l4.026 4.026c7.832 7.848 16.146 14.924 24.736 21.458l79.848-79.85c-9.302-5.494-18.126-12.072-26.116-20.060l-4.042-4.042c-51.114-51.098-51.114-134.272 0-185.39l218.128-218.112c51.116-51.118 134.274-51.118 185.386 0l4.042 4.024c51.1 51.116 51.1 134.292 0 185.39l-98.686 98.686c17.132 42.308 25.248 87.4 24.538 132.386l152.604-152.604c94.134-94.136 94.134-248.178-0.004-342.316zM631.042 388.934c-7.832-7.832-16.146-14.922-24.736-21.44l-79.848 79.832c9.304 5.496 18.126 12.074 26.116 20.062l4.042 4.040c51.116 51.116 51.116 134.272 0 185.388l-218.13 218.134c-51.118 51.102-134.276 51.102-185.388 0l-4.042-4.042c-51.098-51.12-51.098-134.276 0-185.388l98.688-98.686c-17.134-42.306-25.246-87.402-24.538-132.386l-152.602 152.598c-94.136 94.132-94.136 248.178 0 342.324l4.026 4.032c94.152 94.128 248.192 94.128 342.328 0l218.11-218.118c94.134-94.132 94.134-248.194 0-342.326l-4.026-4.024z"
- ],
- "tags": [
- "link",
- "chain",
- "url",
- "uri",
- "anchor"
- ],
- "grid": 16
- },
- "properties": {
- "id": 195,
- "order": 29,
- "prevSize": 32,
- "code": 58915,
- "name": "link"
- },
- "setIdx": 1,
- "iconIdx": 195
- },
- {
- "icon": {
- "paths": [
- "M697.832 327.048l-64.952-64.922-324.81 324.742c-53.814 53.792-53.814 141.048 0 194.844 53.804 53.792 141.060 53.792 194.874 0l389.772-389.708c89.714-89.662 89.714-235.062 0-324.726-89.666-89.704-235.112-89.704-324.782 0l-409.23 409.178c-0.29 0.304-0.612 0.576-0.876 0.846-125.102 125.096-125.102 327.856 0 452.906 125.054 125.056 327.868 125.056 452.988 0 0.274-0.274 0.516-0.568 0.82-0.876l0.032 0.034 279.332-279.292-64.986-64.92-279.33 279.262c-0.296 0.268-0.564 0.57-0.846 0.844-89.074 89.058-233.98 89.058-323.076 0-89.062-89.042-89.062-233.922 0-322.978 0.304-0.304 0.604-0.582 0.888-0.846l-0.046-0.060 409.28-409.166c53.712-53.738 141.144-53.738 194.886 0 53.712 53.734 53.712 141.148 0 194.84l-389.772 389.7c-17.936 17.922-47.054 17.922-64.972 0-17.894-17.886-17.894-47.032 0-64.92l324.806-324.782z"
- ],
- "tags": [
- "attachment",
- "paperclip"
- ],
- "grid": 16
- },
- "properties": {
- "id": 197,
- "order": 30,
- "prevSize": 32,
- "code": 58916,
- "name": "attachment"
- },
- "setIdx": 1,
- "iconIdx": 197
- },
- {
- "icon": {
- "paths": [
- "M1024 397.050l-353.78-51.408-158.22-320.582-158.216 320.582-353.784 51.408 256 249.538-60.432 352.352 316.432-166.358 316.432 166.358-60.434-352.352 256.002-249.538zM512 753.498l-223.462 117.48 42.676-248.83-180.786-176.222 249.84-36.304 111.732-226.396 111.736 226.396 249.836 36.304-180.788 176.222 42.678 248.83-223.462-117.48z"
- ],
- "tags": [
- "star",
- "rate",
- "favorite",
- "bookmark"
- ],
- "grid": 16
- },
- "properties": {
- "id": 206,
- "order": 59,
- "prevSize": 32,
- "code": 58917,
- "name": "star"
- },
- "setIdx": 1,
- "iconIdx": 206
- },
- {
- "icon": {
- "paths": [
- "M1024 397.050l-353.78-51.408-158.22-320.582-158.216 320.582-353.784 51.408 256 249.538-60.432 352.352 316.432-166.358 316.432 166.358-60.434-352.352 256.002-249.538z"
- ],
- "tags": [
- "star",
- "rate",
- "favorite",
- "bookmark"
- ],
- "grid": 16
- },
- "properties": {
- "id": 208,
- "order": 58,
- "prevSize": 32,
- "code": 58918,
- "name": "star2"
- },
- "setIdx": 1,
- "iconIdx": 208
- },
- {
- "icon": {
- "paths": [
- "M1024 358.156c0 86.362-37.218 164.030-96.49 217.844h0.49l-320 320c-32 32-64 64-96 64s-64-32-96-64l-319.51-320c-59.272-53.814-96.49-131.482-96.49-217.844 0-162.458 131.698-294.156 294.156-294.156 86.362 0 164.030 37.218 217.844 96.49 53.814-59.272 131.482-96.49 217.844-96.49 162.456 0 294.156 131.698 294.156 294.156z"
- ],
- "tags": [
- "heart",
- "like",
- "love",
- "favorite"
- ],
- "grid": 16
- },
- "properties": {
- "id": 209,
- "order": 25,
- "prevSize": 32,
- "code": 58919,
- "name": "heart"
- },
- "setIdx": 1,
- "iconIdx": 209
- },
- {
- "icon": {
- "paths": [
- "M1024 358.156c0-162.458-131.7-294.156-294.156-294.156-86.362 0-164.030 37.218-217.844 96.49-53.814-59.272-131.482-96.49-217.844-96.49-162.458 0-294.156 131.698-294.156 294.156 0 86.362 37.218 164.030 96.49 217.844h-0.49l320 320c32 32 64 64 96 64s64-32 96-64l319.51-320c59.272-53.814 96.49-131.482 96.49-217.844zM841.468 481.232l-323.978 324.258c-1.678 1.678-3.532 3.532-5.49 5.48-1.96-1.95-3.814-3.802-5.49-5.48l-323.978-324.256c-35.166-31.928-54.532-75.638-54.532-123.078 0-91.618 74.538-166.156 166.156-166.156 47.44 0 91.15 19.366 123.076 54.532l94.768 104.38 94.768-104.378c31.928-35.168 75.636-54.534 123.076-54.534 91.618 0 166.156 74.538 166.156 166.156 0 47.44-19.368 91.15-54.532 123.076z"
- ],
- "tags": [
- "heart",
- "like",
- "love",
- "favorite"
- ],
- "grid": 16
- },
- "properties": {
- "id": 210,
- "order": 26,
- "prevSize": 32,
- "code": 58920,
- "name": "heart2"
- },
- "setIdx": 1,
- "iconIdx": 210
- },
- {
- "icon": {
- "paths": [
- "M512 1024c282.77 0 512-229.23 512-512s-229.23-512-512-512-512 229.23-512 512 229.23 512 512 512zM512 96c229.75 0 416 186.25 416 416s-186.25 416-416 416-416-186.25-416-416 186.25-416 416-416zM256 320c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM640 320c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM704.098 627.26l82.328 49.396c-55.962 93.070-157.916 155.344-274.426 155.344s-218.464-62.274-274.426-155.344l82.328-49.396c39.174 65.148 110.542 108.74 192.098 108.74s152.924-43.592 192.098-108.74z"
- ],
- "tags": [
- "smiley",
- "emoticon",
- "face"
- ],
- "grid": 16
- },
- "properties": {
- "id": 216,
- "order": 24,
- "prevSize": 32,
- "code": 58921,
- "name": "smiley"
- },
- "setIdx": 1,
- "iconIdx": 216
- },
- {
- "icon": {
- "paths": [
- "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM704 256c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64 28.654-64 64-64zM320 256c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64 28.654-64 64-64zM512 832c-116.51 0-218.464-62.274-274.426-155.344l82.328-49.396c39.174 65.148 110.542 108.74 192.098 108.74s152.924-43.592 192.098-108.74l82.328 49.396c-55.962 93.070-157.916 155.344-274.426 155.344z"
- ],
- "tags": [
- "smiley",
- "emoticon",
- "face"
- ],
- "grid": 16
- },
- "properties": {
- "id": 217,
- "order": 23,
- "prevSize": 32,
- "code": 58922,
- "name": "smiley2"
- },
- "setIdx": 1,
- "iconIdx": 217
- },
- {
- "icon": {
- "paths": [
- "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM448 192h128v128h-128v-128zM640 832h-256v-64h64v-256h-64v-64h192v320h64v64z"
- ],
- "tags": [
- "info",
- "information"
- ],
- "grid": 16
- },
- "properties": {
- "id": 248,
- "order": 57,
- "prevSize": 32,
- "code": 58923,
- "name": "info"
- },
- "setIdx": 1,
- "iconIdx": 248
- },
- {
- "icon": {
- "paths": [
- "M864 128l-480 480-224-224-160 160 384 384 640-640z"
- ],
- "tags": [
- "checkmark",
- "tick",
- "correct",
- "accept",
- "ok"
- ],
- "grid": 16
- },
- "properties": {
- "id": 254,
- "order": 56,
- "prevSize": 32,
- "code": 58924,
- "name": "checkmark"
- },
- "setIdx": 1,
- "iconIdx": 254
- },
- {
- "icon": {
- "paths": [
- "M621.254 877.254l320-320c24.994-24.992 24.994-65.516 0-90.51l-320-320c-24.994-24.992-65.516-24.992-90.51 0-24.994 24.994-24.994 65.516 0 90.51l210.746 210.746h-613.49c-35.346 0-64 28.654-64 64s28.654 64 64 64h613.49l-210.746 210.746c-12.496 12.496-18.744 28.876-18.744 45.254s6.248 32.758 18.744 45.254c24.994 24.994 65.516 24.994 90.51 0z"
- ],
- "tags": [
- "arrow-right",
- "right",
- "next"
- ],
- "grid": 16
- },
- "properties": {
- "id": 298,
- "order": 21,
- "prevSize": 32,
- "code": 58925,
- "name": "arrow-right"
- },
- "setIdx": 1,
- "iconIdx": 298
- },
- {
- "icon": {
- "paths": [
- "M402.746 146.746l-320 320c-24.994 24.992-24.994 65.516 0 90.508l320 320c24.994 24.992 65.516 24.992 90.51 0 24.996-24.992 24.996-65.516 0-90.508l-210.748-210.746h613.492c35.346 0 64-28.652 64-64 0-35.346-28.654-64-64-64h-613.492l210.746-210.746c12.496-12.496 18.746-28.876 18.746-45.254s-6.248-32.758-18.744-45.254c-24.996-24.994-65.516-24.994-90.51 0z"
- ],
- "tags": [
- "arrow-left",
- "left",
- "previous"
- ],
- "grid": 16
- },
- "properties": {
- "id": 302,
- "order": 22,
- "prevSize": 32,
- "code": 58926,
- "name": "arrow-left"
- },
- "setIdx": 1,
- "iconIdx": 302
- },
- {
- "icon": {
- "paths": [
- "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM512 928c-229.75 0-416-186.25-416-416s186.25-416 416-416 416 186.25 416 416-186.25 416-416 416zM813.256 466.746l-256.002-256c-24.992-24.994-65.514-24.994-90.508 0s-24.994 65.516 0 90.51l146.744 146.744h-357.49c-35.346 0-64 28.654-64 64s28.654 64 64 64h357.49l-146.746 146.744c-24.994 24.994-24.994 65.518 0 90.512 12.498 12.496 28.878 18.744 45.256 18.744s32.758-6.248 45.254-18.744l256.002-256c24.992-24.994 24.992-65.518-0-90.51z"
- ],
- "tags": [
- "arrow-right",
- "right",
- "next"
- ],
- "grid": 16
- },
- "properties": {
- "id": 306,
- "order": 19,
- "prevSize": 32,
- "code": 58927,
- "name": "arrow-right2"
- },
- "setIdx": 1,
- "iconIdx": 306
- },
- {
- "icon": {
- "paths": [
- "M512 0c282.77 0 512 229.23 512 512s-229.23 512-512 512-512-229.23-512-512 229.23-512 512-512zM512 928c229.75 0 416-186.25 416-416s-186.25-416-416-416-416 186.25-416 416 186.25 416 416 416zM210.744 466.746l256.002-256c24.992-24.994 65.514-24.994 90.508 0s24.994 65.516 0 90.51l-146.744 146.744h357.49c35.346 0 64 28.654 64 64s-28.654 64-64 64h-357.49l146.746 146.744c24.994 24.994 24.994 65.518 0 90.512-12.498 12.496-28.878 18.744-45.256 18.744s-32.758-6.248-45.254-18.744l-256.002-256c-24.992-24.994-24.992-65.518 0-90.51z"
- ],
- "tags": [
- "arrow-left",
- "left",
- "previous"
- ],
- "grid": 16
- },
- "properties": {
- "id": 310,
- "order": 20,
- "prevSize": 32,
- "code": 58928,
- "name": "arrow-left2"
- },
- "setIdx": 1,
- "iconIdx": 310
- },
- {
- "icon": {
- "paths": [
- "M864 704c-45.16 0-85.92 18.738-115.012 48.83l-431.004-215.502c1.314-8.252 2.016-16.706 2.016-25.328s-0.702-17.076-2.016-25.326l431.004-215.502c29.092 30.090 69.852 48.828 115.012 48.828 88.366 0 160-71.634 160-160s-71.634-160-160-160-160 71.634-160 160c0 8.622 0.704 17.076 2.016 25.326l-431.004 215.504c-29.092-30.090-69.852-48.83-115.012-48.83-88.366 0-160 71.636-160 160 0 88.368 71.634 160 160 160 45.16 0 85.92-18.738 115.012-48.828l431.004 215.502c-1.312 8.25-2.016 16.704-2.016 25.326 0 88.368 71.634 160 160 160s160-71.632 160-160c0-88.364-71.634-160-160-160z"
- ],
- "tags": [
- "share",
- "social"
- ],
- "grid": 16
- },
- "properties": {
- "id": 350,
- "order": 12,
- "prevSize": 32,
- "code": 58929,
- "name": "share"
- },
- "setIdx": 1,
- "iconIdx": 350
- },
- {
- "icon": {
- "paths": [
- "M0.806 869.664c-0.244-2.532-0.452-5.070-0.584-7.63 0.13 2.56 0.34 5.098 0.584 7.63zM235.908 565.148c92.010 2.738 153.734-92.698 137.862-213.198-15.894-120.48-103.396-217.168-195.408-219.922-92.026-2.73-153.74 89.482-137.852 210 15.882 120.468 103.352 220.374 195.398 223.12zM1024 256v-85.31c0-93.88-76.782-170.69-170.658-170.69h-682.656c-92.276 0-168.012 74.232-170.564 165.926 58.362-51.386 139.324-94.316 222.874-94.316 89.304 0 357.244 0 357.244 0l-79.948 67.618h-113.268c75.13 28.804 115.156 116.124 115.156 205.722 0 75.248-41.81 139.954-100.888 185.968-57.644 44.902-68.572 63.708-68.572 101.878 0 32.578 61.746 88 94.032 110.788 94.382 66.538 124.916 128.312 124.916 231.456 0 16.428-2.042 32.83-6.066 48.96h307.742c93.874 0 170.656-76.75 170.656-170.69v-533.308h-192v191.998h-64v-192h-191.998v-64h191.998v-192h64v192h192zM185.886 765.936c21.614 0 41.422-0.59 61.936-0.59-27.146-26.334-48.626-58.6-48.626-98.38 0-23.608 7.564-46.336 18.134-66.52-10.782 0.77-21.79 0.994-33.126 0.994-74.356 0-137.506-24.076-184.204-63.854v67.242l0.006 201.73c53.44-25.374 116.888-40.622 185.88-40.622zM3.42 887.258c-1.112-5.458-1.966-11.006-2.542-16.634 0.574 5.628 1.43 11.176 2.542 16.634zM455.45 952.846c-15.058-58.806-68.454-87.964-142.888-139.568-27.072-8.732-56.894-13.874-88.894-14.208-89.618-0.964-173.108 34.942-220.216 88.372 15.92 77.706 85.034 136.558 167.234 136.558h286.444c1.816-11.128 2.696-22.632 2.696-34.432 0-12.534-1.534-24.792-4.376-36.722z"
- ],
- "tags": [
- "google plus",
- "social"
- ],
- "grid": 16
- },
- "properties": {
- "id": 358,
- "order": 13,
- "prevSize": 32,
- "code": 58930,
- "name": "googleplus"
- },
- "setIdx": 1,
- "iconIdx": 358
- },
- {
- "icon": {
- "paths": [
- "M853.344 0h-682.66c-93.872 0-170.684 76.814-170.684 170.688v682.626c0 93.938 76.812 170.686 170.684 170.686l682.66-0.002c93.876 0 170.656-76.746 170.656-170.688v-682.622c0-93.874-76.782-170.688-170.656-170.688zM870.592 512h-166.592v448h-192v-448h-92.526v-146.564h92.526v-95.186c0-129.342 55.792-206.25 207.87-206.25h175.244v158.57h-143.13c-42.482-0.070-47.752 22.152-47.752 63.512l-0.232 79.354h192l-25.408 146.564z"
- ],
- "tags": [
- "facebook",
- "social"
- ],
- "grid": 16
- },
- "properties": {
- "id": 362,
- "order": 14,
- "prevSize": 32,
- "code": 58931,
- "name": "facebook"
- },
- "setIdx": 1,
- "iconIdx": 362
- },
- {
- "icon": {
- "paths": [
- "M853.342 0h-682.656c-93.874 0-170.686 76.81-170.686 170.69v682.622c0 93.938 76.812 170.688 170.686 170.688h682.656c93.876 0 170.658-76.75 170.658-170.69v-682.62c0-93.88-76.782-170.69-170.658-170.69zM838.052 341.834c0.328 7.342 0.49 14.728 0.49 22.148 0 226.214-169.216 487.068-478.658 487.068-95.004 0-183.434-28.348-257.886-76.918 13.16 1.588 26.552 2.394 40.13 2.394 78.822 0 151.358-27.37 208.934-73.282-73.616-1.38-135.744-50.876-157.154-118.882 10.274 2 20.812 3.074 31.652 3.074 15.344 0 30.206-2.096 44.32-6.008-76.96-15.732-134.95-84.916-134.95-167.856 0-0.722 0-1.438 0.016-2.152 22.68 12.82 48.624 20.52 76.2 21.41-45.142-30.698-74.842-83.092-74.842-142.488 0-31.37 8.294-60.778 22.778-86.058 82.974 103.57 206.936 171.72 346.754 178.862-2.87-12.532-4.358-25.596-4.358-39.014 0-94.538 75.326-171.18 168.23-171.18 48.39 0 92.118 20.786 122.802 54.058 38.32-7.676 74.324-21.92 106.832-41.542-12.562 39.976-39.234 73.522-73.966 94.71 34.026-4.138 66.452-13.34 96.62-26.954-22.546 34.324-51.070 64.476-83.944 88.61z"
- ],
- "tags": [
- "twitter",
- "tweet",
- "social"
- ],
- "grid": 16
- },
- "properties": {
- "id": 366,
- "order": 15,
- "prevSize": 32,
- "code": 58932,
- "name": "twitter"
- },
- "setIdx": 1,
- "iconIdx": 366
- },
- {
- "icon": {
- "paths": [
- "M136.294 750.93c-75.196 0-136.292 61.334-136.292 136.076 0 75.154 61.1 135.802 136.292 135.802 75.466 0 136.494-60.648 136.494-135.802-0.002-74.742-61.024-136.076-136.494-136.076zM0.156 347.93v196.258c127.784 0 247.958 49.972 338.458 140.512 90.384 90.318 140.282 211.036 140.282 339.3h197.122c-0.002-372.82-303.282-676.070-675.862-676.070zM0.388 0v196.356c455.782 0 826.756 371.334 826.756 827.644h196.856c0-564.47-459.254-1024-1023.612-1024z"
- ],
- "tags": [
- "feed",
- "rss",
- "social"
- ],
- "grid": 16
- },
- "properties": {
- "id": 368,
- "order": 17,
- "prevSize": 32,
- "code": 58933,
- "name": "feed"
- },
- "setIdx": 1,
- "iconIdx": 368
- },
- {
- "icon": {
- "paths": [
- "M853.34 0h-682.654c-93.876 0-170.686 76.812-170.686 170.688v682.628c0 93.934 76.812 170.684 170.688 170.684h682.652c93.876 0 170.66-76.748 170.66-170.684v-682.628c0-93.876-76.784-170.688-170.66-170.688zM278.944 831.248c-47.97 0-86.944-38.692-86.944-86.628 0-47.684 38.972-86.812 86.944-86.812 48.158 0 87.060 39.128 87.060 86.812-0.002 47.936-38.904 86.628-87.060 86.628zM497.468 831.996c0-81.81-31.808-158.818-89.46-216.444-57.714-57.75-134.376-89.626-215.904-89.626l-0-125.186c237.652 0 431.126 193.442 431.126 431.254l-125.762 0.002zM719.628 831.996c0-291.062-236.658-527.94-527.376-527.94l-0-125.248c360.002 0 652.946 293.124 652.946 653.192l-125.57-0.004z"
- ],
- "tags": [
- "feed",
- "rss",
- "social"
- ],
- "grid": 16
- },
- "properties": {
- "id": 369,
- "order": 16,
- "prevSize": 32,
- "code": 58934,
- "name": "feed2"
- },
- "setIdx": 1,
- "iconIdx": 369
- },
- {
- "icon": {
- "paths": [
- "M832 128h-640c-105.6 0-192 86.4-192 192v384c0 105.6 86.4 192 192 192h640c105.6 0 192-86.4 192-192v-384c0-105.6-86.4-192-192-192zM384 768v-512l320 256-320 256z"
- ],
- "tags": [
- "youtube",
- "social"
- ],
- "grid": 16
- },
- "properties": {
- "id": 371,
- "order": 18,
- "prevSize": 32,
- "code": 58935,
- "name": "youtube"
- },
- "setIdx": 1,
- "iconIdx": 371
- },
- {
- "icon": {
- "paths": [
- "M704 394.26l-364.456-364.456c53.89-19.276 111.94-29.804 172.456-29.804 67.904 0 132.704 13.25 192 37.256v357.004zM768 704v-635.486c153.034 88.528 256 253.978 256 443.486 0 67.904-13.25 132.704-37.256 192h-218.744zM320 768h635.486c-88.528 153.034-253.978 256-443.486 256-67.904 0-132.704-13.25-192-37.256v-218.744zM426.26 224l-411.282 411.282c-9.764-39.49-14.978-80.774-14.978-123.282 0-193.382 107.226-361.702 265.452-448.808l160.808 160.808zM256 501.74v453.746c-94.596-54.722-170.036-138.848-213.874-239.872l213.874-213.874z"
- ],
- "tags": [
- "picassa",
- "social"
- ],
- "grid": 16
- },
- "properties": {
- "id": 381,
- "order": 11,
- "prevSize": 32,
- "code": 58936,
- "name": "picassa"
- },
- "setIdx": 1,
- "iconIdx": 381
- },
- {
- "icon": {
- "paths": [
- "M512 831.892c-19.154 0-38.308-9.916-58.142-29.75-7.81-7.81-7.81-20.474 0-28.286 7.81-7.808 20.474-7.808 28.286 0 12.206 12.21 21.972 18.144 29.856 18.144 7.882 0 17.65-5.934 29.858-18.142 7.812-7.808 20.472-7.808 28.286 0 7.81 7.81 7.81 20.474 0 28.286-19.836 19.832-38.99 29.748-58.144 29.748zM0 525.492c0 49.892 4.266 95.122 12.8 135.682 8.534 40.56 20.534 75.74 36 105.532 15.466 29.792 35.022 55.904 58.666 78.34 23.644 22.436 49.332 40.92 77.066 55.458 27.734 14.536 59.466 26.296 95.2 35.266 35.732 8.974 72.088 15.256 109.066 18.846 36.978 3.59 77.69 5.384 122.134 5.384 44.444 0 85.242-1.79 122.398-5.38 37.156-3.59 73.602-9.872 109.332-18.846 35.734-8.974 67.558-20.73 95.468-35.266 27.91-14.538 53.778-33.026 77.598-55.458 23.824-22.436 43.47-48.548 58.934-78.34 15.47-29.794 27.56-64.974 36.27-105.532 8.71-40.56 13.066-85.788 13.066-135.68 0-89.38-27.736-166.372-83.2-230.982 3.2-8.616 5.954-18.486 8.266-29.614 2.308-11.128 4.532-26.832 6.664-47.112 2.138-20.282 1.336-43.704-2.398-70.264-3.734-26.564-10.754-53.664-21.066-81.302l-8-1.618c-5.332-1.076-14.042-0.718-26.132 1.080-12.086 1.794-26.222 5.022-42.398 9.69-16.176 4.664-37.066 13.908-62.668 27.728-25.598 13.818-52.62 31.318-81.066 52.496-48.356-14.718-115.020-30.116-200-30.116-84.976 0-151.822 15.396-200.53 30.114-28.446-21.18-55.556-38.588-81.334-52.228-25.78-13.642-46.402-22.974-61.868-27.998-15.468-5.024-29.778-8.256-42.934-9.69-13.156-1.436-21.602-1.886-25.334-1.346-3.732 0.538-6.488 1.166-8.266 1.884-10.314 27.64-17.424 54.74-21.336 81.304-3.91 26.56-4.8 49.892-2.666 69.992 2.134 20.102 4.444 35.898 6.934 47.382 2.49 11.486 5.334 21.358 8.534 29.614-55.466 64.25-83.2 141.242-83.2 230.98zM136.536 639.404c0-58.022 21.332-110.638 64-157.856 12.8-14.406 27.646-25.312 44.534-32.712 16.89-7.402 36.088-11.606 57.6-12.606 21.512-1 42.044-0.8 61.6 0.6 19.556 1.402 43.734 3.302 72.534 5.702 28.798 2.404 53.688 3.602 74.666 3.602 20.976 0 45.868-1.2 74.664-3.602 28.806-2.4 52.982-4.3 72.536-5.702 19.56-1.4 40.090-1.6 61.602-0.6 21.512 1.002 40.802 5.204 57.868 12.606 17.066 7.4 32 18.306 44.8 32.712 42.664 47.218 64 99.834 64 157.856 0 34.012-3.554 64.324-10.668 90.934-7.11 26.612-16.090 48.916-26.934 66.922-10.844 18.008-26.048 33.218-45.598 45.62-19.558 12.406-38.492 22.010-56.8 28.81-18.312 6.8-41.958 12.104-70.934 15.906-28.982 3.796-54.934 6.102-77.872 6.9-22.934 0.8-51.82 1.2-86.664 1.2-34.844 0-63.644-0.402-86.4-1.2-22.756-0.798-48.622-3.104-77.6-6.9-28.978-3.802-52.622-9.104-70.934-15.906-18.31-6.802-37.244-16.404-56.8-28.81-19.556-12.404-34.756-27.612-45.6-45.62-10.846-18.006-19.824-40.31-26.934-66.922-7.11-26.61-10.666-56.922-10.666-90.934zM256 608.004c0-53.019 28.654-96 64-96s64 42.981 64 96c0 53.019-28.654 96-64 96-35.346 0-64-42.981-64-96zM640 608.004c0-53.019 28.654-96 64-96s64 42.981 64 96c0 53.019-28.654 96-64 96-35.346 0-64-42.981-64-96z"
- ],
- "tags": [
- "github",
- "octacat",
- "social"
- ],
- "grid": 16
- },
- "properties": {
- "id": 393,
- "order": 6,
- "prevSize": 32,
- "code": 58937,
- "name": "github"
- },
- "setIdx": 1,
- "iconIdx": 393
- },
- {
- "icon": {
- "paths": [
- "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM816.056 816.056c-39.518 39.516-85.512 70.532-136.708 92.186-13.006 5.5-26.214 10.328-39.6 14.492v-76.734c0-40.334-13.834-70-41.5-89 17.334-1.666 33.25-4 47.75-7s29.834-7.334 46-13 30.666-12.416 43.5-20.25 25.166-18 37-30.5 21.75-26.666 29.75-42.5 14.334-34.834 19-57 7-46.584 7-73.25c0-51.666-16.834-95.666-50.5-132 15.334-40 13.666-83.5-5-130.5l-12.5-1.5c-8.666-1-24.25 2.666-46.75 11s-47.75 22-75.75 41c-39.666-11-80.834-16.5-123.5-16.5-43 0-84 5.5-123 16.5-17.666-12-34.416-21.916-50.25-29.75-15.834-7.834-28.5-13.166-38-16s-18.334-4.584-26.5-5.25-13.416-0.834-15.75-0.5-4 0.666-5 1c-18.666 47.334-20.334 90.834-5 130.5-33.666 36.334-50.5 80.334-50.5 132 0 26.666 2.334 51.084 7 73.25s11 41.166 19 57 17.916 30 29.75 42.5 24.166 22.666 37 30.5 27.334 14.584 43.5 20.25 31.5 10 46 13 30.416 5.334 47.75 7c-27.334 18.666-41 48.334-41 89v78.23c-15.098-4.494-29.98-9.804-44.6-15.988-51.194-21.654-97.188-52.67-136.706-92.186-39.516-39.518-70.534-85.512-92.186-136.708-22.398-52.958-33.756-109.262-33.756-167.348s11.358-114.39 33.758-167.35c21.654-51.194 52.67-97.188 92.186-136.706s85.512-70.534 136.706-92.186c52.96-22.4 109.264-33.758 167.35-33.758s114.39 11.358 167.35 33.758c51.196 21.654 97.19 52.67 136.708 92.186 39.516 39.516 70.532 85.512 92.186 136.706 22.398 52.96 33.756 109.264 33.756 167.35s-11.358 114.39-33.758 167.35c-21.654 51.194-52.67 97.19-92.186 136.706z"
- ],
- "tags": [
- "github",
- "octacat",
- "social"
- ],
- "grid": 16
- },
- "properties": {
- "id": 394,
- "order": 7,
- "prevSize": 32,
- "code": 58938,
- "name": "github2"
- },
- "setIdx": 1,
- "iconIdx": 394
- },
- {
- "icon": {
- "paths": [
- "M263.472 759.368c0 27.052 22.894 40.582 68.668 40.582 40.064 0 60.088-14.042 60.088-42.134 0-26.538-21.846-39.796-65.544-39.796-42.146-0.004-63.212 13.776-63.212 41.348zM853.348 0h-682.66c-93.876 0-170.688 76.81-170.688 170.688v682.626c0 93.936 76.812 170.686 170.688 170.686h682.66c93.868 0 170.652-76.75 170.652-170.688v-682.624c0-93.878-76.782-170.688-170.652-170.688zM475.728 408.988c-7.284 2.604-17.688 5.458-31.212 8.586 4.16 11.966 6.246 23.152 6.246 33.554 0 33.292-10.018 62.298-30.044 87.012-20.030 24.708-45.912 39.406-77.646 44.086-20.804 3.126-31.208 14.312-31.208 33.558 0 6.762 3.378 13.53 10.144 20.29 8.844 9.886 21.848 16.132 39.018 18.734 74.39 11.442 111.586 42.394 111.586 92.854 0 80.642-48.124 120.962-144.362 120.962-39.542 0-72.056-7.026-97.544-21.070-32.258-17.688-48.376-45.52-48.376-83.5 0-43.704 24.192-73.616 72.564-89.738v-1.56c-17.684-10.924-26.526-27.57-26.526-49.944 0-29.132 8.324-47.344 24.968-54.622v-1.562c-16.646-5.724-31.474-18.732-44.48-39.024-14.564-21.852-21.85-45.26-21.85-70.23 0-37.458 13.27-68.67 39.792-93.64 25.496-23.414 55.928-35.116 91.306-35.116 25.494 0 49.158 6.238 71.010 18.722 24.97 0 53.842-6.24 86.626-18.722l-0.012 80.37zM602.178 678.994h-88.186c1.042-10.402 1.558-28.084 1.558-53.064v-242.692c0-24.454-0.522-41.364-1.558-50.718h88.186c-1.042 9.884-1.562 26.27-1.562 49.164v239.564c0 26.534 0.522 45.784 1.562 57.746zM596.318 254.482c-10.664 11.444-23.282 17.162-37.846 17.162-15.086 0-27.958-5.718-38.626-17.162-10.666-11.452-16.002-24.972-16.002-40.578 0-16.134 5.336-29.912 16.002-41.366 10.666-11.442 23.54-17.168 38.626-17.168 14.564 0 27.184 5.726 37.846 17.168 10.666 11.456 15.998 25.23 15.998 41.366 0 15.606-5.332 29.128-15.998 40.578zM841.69 668.848c-19.254 10.41-42.406 15.606-69.458 15.606-37.97 0-64.248-13.52-78.81-40.574-10.93-20.29-16.386-52.28-16.386-95.98v-139.684h0.778v-1.562l-11.706-0.782c-6.764 0-15.612 0.782-26.534 2.342l-0-75.694h38.234v-30.432c0-14.57-0.778-26.28-2.34-35.12h90.518c-1.55 9.88-2.336 21.066-2.336 33.552v31.998h67.886v75.692c-2.598 0-7.41-0.258-14.436-0.778-7.024-0.522-13.656-0.786-19.898-0.786h-33.554v145.144c0 34.864 11.45 52.29 34.334 52.29 16.126 0 30.696-4.418 43.708-13.264l0 78.032zM321.216 400.406c-32.776 0-49.164 19.254-49.164 57.746 0 35.902 16.388 53.848 49.164 53.848 31.736 0 47.602-18.208 47.602-54.626 0-15.090-3.64-28.094-10.922-39.022-8.846-11.962-21.074-17.946-36.68-17.946z"
- ],
- "tags": [
- "github",
- "social"
- ],
- "grid": 16
- },
- "properties": {
- "id": 396,
- "order": 5,
- "prevSize": 32,
- "code": 58939,
- "name": "github3"
- },
- "setIdx": 1,
- "iconIdx": 396
- },
- {
- "icon": {
- "paths": [
- "M567.656 736.916c-81.944 38.118-158.158 37.716-209.34 34.020-61.052-4.41-110.158-21.124-131.742-35.732-13.3-9.006-31.384-5.522-40.39 7.782-9.004 13.302-5.52 31.386 7.782 40.39 34.698 23.486 96.068 40.954 160.162 45.58 10.866 0.784 22.798 1.278 35.646 1.278 55.782 0 126.626-5.316 202.42-40.57 14.564-6.778 20.878-24.074 14.104-38.64-6.776-14.566-24.076-20.872-38.642-14.108zM890.948 693.816c2.786-252.688 28.762-730.206-454.97-691.612-477.6 38.442-350.964 542.968-358.082 711.95-6.308 89.386-35.978 198.648-77.896 309.846h129.1c13.266-47.122 23.024-93.72 27.232-138.15 7.782 5.428 16.108 10.674 24.994 15.7 14.458 8.518 26.884 19.844 40.040 31.834 30.744 28.018 65.59 59.774 133.712 63.752 4.572 0.262 9.174 0.394 13.676 0.394 68.896 0 116.014-30.154 153.878-54.382 18.14-11.612 33.818-21.64 48.564-26.452 41.91-13.12 78.532-34.296 105.904-61.252 4.276-4.208 8.242-8.538 11.962-12.948 15.246 55.878 36.118 118.758 59.288 181.504h275.65c-66.174-102.224-134.436-202.374-133.052-330.184zM124.11 556.352c0-0.016 0-0.030-0.002-0.046-4.746-82.462 34.71-151.832 88.126-154.936 53.412-3.106 100.56 61.228 105.304 143.692 0 0.014 0.004 0.030 0.004 0.044 0.256 4.446 0.368 8.846 0.37 13.206-16.924 4.256-32.192 10.436-45.872 17.63-0.052-0.612-0.092-1.216-0.152-1.83 0-0.008 0-0.018 0-0.026-4.57-46.81-29.572-82.16-55.852-78.958-26.28 3.204-43.88 43.75-39.312 90.558 0 0.010 0.004 0.018 0.004 0.026 1.992 20.408 7.868 38.636 16.042 52.444-2.034 1.604-7.784 5.812-14.406 10.656-4.97 3.634-11.020 8.058-18.314 13.43-19.882-26.094-33.506-63.58-35.94-105.89zM665.26 760.178c-1.9 43.586-58.908 84.592-111.582 101.044l-0.296 0.096c-21.9 7.102-41.428 19.6-62.104 32.83-34.732 22.224-70.646 45.208-122.522 45.208-3.404 0-6.894-0.104-10.326-0.296-47.516-2.778-69.742-23.032-97.88-48.676-14.842-13.526-30.19-27.514-49.976-39.124l-0.424-0.244c-42.706-24.104-69.212-54.082-70.908-80.194-0.842-12.98 4.938-24.218 17.182-33.4 26.636-19.972 44.478-33.022 56.284-41.658 13.11-9.588 17.068-12.48 20-15.264 2.096-1.986 4.364-4.188 6.804-6.562 24.446-23.774 65.36-63.562 128.15-63.562 38.404 0 80.898 14.8 126.17 43.902 21.324 13.878 39.882 20.286 63.38 28.4 16.156 5.578 34.468 11.902 58.992 22.404l0.396 0.164c22.88 9.404 49.896 26.564 48.66 54.932zM652.646 657.806c-4.4-2.214-8.974-4.32-13.744-6.286-22.106-9.456-39.832-15.874-54.534-20.998 8.116-15.894 13.16-35.72 13.624-57.242 0-0.010 0-0.022 0-0.030 1.126-52.374-25.288-94.896-58.996-94.976-33.71-0.078-61.95 42.314-63.076 94.686 0 0.010 0 0.018 0 0.028-0.038 1.714-0.042 3.416-0.020 5.11-20.762-9.552-41.18-16.49-61.166-20.76-0.092-1.968-0.204-3.932-0.244-5.92 0-0.016 0-0.036 0-0.050-1.938-95.412 56.602-174.39 130.754-176.402 74.15-2.014 135.828 73.7 137.772 169.11 0 0.018 0 0.038 0 0.052 0.874 43.146-10.66 82.866-30.37 113.678z"
- ],
- "tags": [
- "tux",
- "linux"
- ],
- "grid": 16
- },
- "properties": {
- "id": 405,
- "order": 4,
- "prevSize": 32,
- "code": 58940,
- "name": "tux"
- },
- "setIdx": 1,
- "iconIdx": 405
- },
- {
- "icon": {
- "paths": [
- "M791.498 544.092c-1.294-129.682 105.758-191.876 110.542-194.966-60.152-88.020-153.85-100.078-187.242-101.472-79.742-8.074-155.596 46.948-196.066 46.948-40.368 0-102.818-45.754-168.952-44.552-86.916 1.292-167.058 50.538-211.812 128.38-90.304 156.698-23.126 388.84 64.89 515.926 43.008 62.204 94.292 132.076 161.626 129.58 64.842-2.588 89.362-41.958 167.756-41.958 78.394 0 100.428 41.958 169.050 40.67 69.774-1.296 113.982-63.398 156.692-125.796 49.39-72.168 69.726-142.038 70.924-145.626-1.548-0.706-136.060-52.236-137.408-207.134zM662.562 163.522c35.738-43.358 59.86-103.512 53.28-163.522-51.478 2.096-113.878 34.29-150.81 77.55-33.142 38.376-62.148 99.626-54.374 158.436 57.466 4.484 116.128-29.204 151.904-72.464z"
- ],
- "tags": [
- "apple"
- ],
- "grid": 16
- },
- "properties": {
- "id": 406,
- "order": 3,
- "prevSize": 32,
- "code": 58941,
- "name": "apple"
- },
- "setIdx": 1,
- "iconIdx": 406
- },
- {
- "icon": {
- "paths": [
- "M864 320c-35.2 0-64 28.8-64 64v256c0 35.2 28.8 64 64 64s64-28.8 64-64v-256c0-35.2-28.8-64-64-64zM96 320c-35.2 0-64 28.8-64 64v256c0 35.2 28.8 64 64 64s64-28.8 64-64v-256c0-35.2-28.802-64-64-64zM192 736c0 53.020 42.98 96 96 96h32v128c0 35.2 28.8 64 64 64s64-28.8 64-64v-128h64v128c0 35.2 28.802 64 64 64s64-28.8 64-64v-128h32c53.020 0 96-42.98 96-96v-352h-576v352zM598.598 89.494l40.504-77.806c2.032-3.902 0.5-8.758-3.402-10.79s-8.758-0.5-10.79 3.402l-41.118 78.986c-32.198-12.448-67.194-19.286-103.792-19.286-36.596 0-71.592 6.838-103.796 19.286l-41.116-78.984c-2.032-3.902-6.886-5.434-10.79-3.402s-5.434 6.886-3.402 10.79l40.5 77.808c-90.63 41.018-156.24 127.584-167.62 230.504h572.44c-11.376-102.924-76.986-189.488-167.618-230.508zM352 270.4c-25.626 0-46.4-20.774-46.4-46.4s20.774-46.4 46.4-46.4 46.4 20.774 46.4 46.4c-0.002 25.626-20.774 46.4-46.4 46.4zM608 270.4c-25.626 0-46.402-20.774-46.402-46.4s20.778-46.4 46.402-46.4 46.398 20.774 46.398 46.4c0 25.626-20.772 46.4-46.398 46.4z"
- ],
- "tags": [
- "android",
- "os",
- "mobile"
- ],
- "grid": 16
- },
- "properties": {
- "id": 408,
- "order": 2,
- "prevSize": 32,
- "code": 58942,
- "name": "android"
- },
- "setIdx": 1,
- "iconIdx": 408
- },
- {
- "icon": {
- "paths": [
- "M0.35 512l-0.35-312.074 384-52.144v364.218zM448 138.482l511.872-74.482v448h-511.872zM959.998 576l-0.126 448-511.872-72.016v-375.984zM384 943.836l-383.688-52.594-0.020-315.242h383.708z"
- ],
- "tags": [
- "windows8",
- "os"
- ],
- "grid": 16
- },
- "properties": {
- "id": 410,
- "order": 1,
- "prevSize": 32,
- "code": 58943,
- "name": "windows8"
- },
- "setIdx": 1,
- "iconIdx": 410
- },
- {
- "icon": {
- "paths": [
- "M880.634 130.774c25.698 12.576 48.094 30.486 64.502 52.482 34.536 46.3 44.236 109.372 28.836 187.466-15.56 79.026-50.416 145.734-101.166 194.044-9.282 9.702-19.222 18.746-29.804 27.080-54.356 42.802-122.998 65.428-198.508 65.428l-240.060 0-64.564 302.726h-132.424l10.086-46.3h46.128l64.564-302.726h188.27c180.25 0 330.938-111.078 371.258-299.936 45.722-213.834-107.598-311.038-239.41-311.038h-449.278l-199.064 913.7h152.032l-24.032 110.3h263.66l64.564-302.726h188.27c180.25 0 330.938-111.078 371.258-299.936 33.716-157.68-40.804-251.932-135.118-290.564zM422.344 186.082h129.132c64.592 0 107.602 55.538 88.786 124.956-16.136 69.44-83.386 124.976-150.64 124.976h-123.758l56.48-249.932z"
- ],
- "tags": [
- "paypal",
- "donate"
- ],
- "grid": 16
- },
- "properties": {
- "id": 429,
- "order": 8,
- "prevSize": 32,
- "code": 58944,
- "name": "paypal"
- },
- "setIdx": 1,
- "iconIdx": 429
- },
- {
- "icon": {
- "paths": [
- "M416 128h96v64h-96zM320 192h96v64h-96zM416 256h96v64h-96zM320 320h96v64h-96zM416 384h96v64h-96zM320 448h96v64h-96zM416 512v64h-96v224c0 17.674 14.326 32 32 32h128c17.674 0 32-14.326 32-32v-288h-96zM480 768h-128v-64h128v64zM903.432 199.43l-142.864-142.862c-31.112-31.112-92.568-56.568-136.568-56.568h-480c-44 0-80 36-80 80v864c0 44 36 80 80 80h736c44 0 80-36 80-80v-608c0-44-25.456-105.458-56.568-136.57zM858.178 244.686c3.13 3.13 6.25 6.974 9.28 11.314h-163.458v-163.456c4.34 3.030 8.184 6.15 11.314 9.28l142.864 142.862zM896 944c0 8.672-7.328 16-16 16h-736c-8.672 0-16-7.328-16-16v-864c0-8.672 7.328-16 16-16h480c4.832 0 10.254 0.61 16 1.704v254.296h254.296c1.094 5.746 1.704 11.166 1.704 16v608z"
- ],
- "tags": [
- "file-zip",
- "zip"
- ],
- "grid": 16
- },
- "properties": {
- "id": 438,
- "order": 9,
- "prevSize": 32,
- "code": 58945,
- "name": "file-zip"
- },
- "setIdx": 1,
- "iconIdx": 438
- },
- {
- "icon": {
- "paths": [
- "M384 611.446v-114.226c0-15.128 6.696-29.436 18.854-40.286 12.16-10.848 28.192-16.826 45.146-16.826v-57.11c-70.4 0-128 51.4-128 114.222v85.666c0 15.772-14.328 28.558-32 28.558h-32v57.11h32c17.674 0 32 12.79 32 28.558v85.676c0 62.814 57.6 114.214 128 114.214v-57.112c-16.954 0-32.988-5.976-45.146-16.826-12.158-10.852-18.854-25.154-18.854-40.278v-114.234c0-15.77-14.328-28.554-32-28.554 17.674 0.002 32-12.788 32-28.552zM640 668.554v114.234c0 15.124-6.696 29.426-18.854 40.278-12.158 10.85-28.19 16.826-45.146 16.826v57.112c70.402 0 128-51.4 128-114.214v-85.676c0-15.772 14.328-28.558 32-28.558h32v-57.11h-32c-17.672 0-32-12.79-32-28.558v-85.668c0-62.824-57.598-114.222-128-114.222v57.11c16.958 0 32.988 5.978 45.146 16.83 12.16 10.848 18.854 25.156 18.854 40.284v114.228c0 15.766 14.328 28.552 32 28.552-17.672-0.002-32 12.788-32 28.552zM903.432 199.43l-142.864-142.862c-31.112-31.112-92.568-56.568-136.568-56.568h-480c-44 0-80 36-80 80v864c0 44 36 80 80 80h736c44 0 80-36 80-80v-608c0-44-25.456-105.458-56.568-136.57zM858.178 244.686c3.13 3.13 6.25 6.974 9.28 11.314h-163.458v-163.456c4.34 3.030 8.184 6.15 11.314 9.28l142.864 142.862zM896 944c0 8.672-7.328 16-16 16h-736c-8.672 0-16-7.328-16-16v-864c0-8.672 7.328-16 16-16h480c4.832 0 10.254 0.61 16 1.704v254.296h254.296c1.094 5.746 1.704 11.166 1.704 16v608z"
- ],
- "tags": [
- "file-css",
- "file",
- "format",
- "code",
- "css"
- ],
- "grid": 16
- },
- "properties": {
- "id": 441,
- "order": 10,
- "prevSize": 32,
- "code": 58946,
- "name": "file-css"
- },
- "setIdx": 1,
- "iconIdx": 441
- },
- {
- "icon": {
- "paths": [
- "M269.978 353.997c10.291 0 20.224 1.536 29.542 4.454 35.328-39.578 74.496-75.622 116.89-107.571-1.741-7.424-2.816-15.206-2.816-23.245 0-11.162 1.843-21.811 5.222-31.744-47.462-34.099-99.174-62.669-154.061-84.787-51.558 31.846-96.461 73.37-132.25 122.010 26.573 47.053 58.214 90.931 94.106 130.918 13.158-6.4 27.853-10.035 43.366-10.035zM169.779 454.195c0-14.029 2.918-27.443 8.141-39.578-32.102-35.328-61.286-73.421-86.835-114.074-32 63.59-50.125 135.424-50.125 211.456 0 88.115 24.269 170.496 66.355 240.998 15.002-84.736 43.571-164.864 82.944-238.285-12.8-16.794-20.48-37.734-20.48-60.518zM513.792 127.386c26.522 0 50.483 10.342 68.403 27.085 52.275-22.477 107.366-39.731 164.659-50.739-69.171-39.834-149.299-62.771-234.854-62.771-58.317 0-114.125 10.701-165.632 30.106 40.909 20.224 79.923 43.725 116.531 70.349 14.95-8.858 32.307-14.029 50.893-14.029zM663.706 599.45c6.246-13.005 15.104-24.474 26.061-33.587-29.594-91.034-76.442-174.285-136.806-245.965-12.032 5.12-25.242 7.936-39.168 7.936-21.709 0-41.779-7.014-58.214-18.739-36.352 27.597-69.939 58.573-100.506 92.365 9.523 15.309 15.104 33.331 15.104 52.736 0 10.496-1.587 20.531-4.557 30.054 87.91 58.726 189.082 99.021 298.086 115.2zM793.702 734.771c1.331 18.944 2.099 38.093 2.099 57.395 0 34.048-2.202 67.482-6.298 100.403 79.923-58.368 140.698-141.158 171.418-237.517-36.352 8.806-73.626 15.104-111.667 18.739-8.96 27.392-29.338 49.613-55.552 60.979zM640.205 666.778c-116.275-19.251-224.102-63.59-317.901-127.181-15.258 9.37-33.075 14.848-52.275 14.848-7.066 0-13.875-0.768-20.531-2.15-44.902 85.197-73.626 180.224-81.92 280.883 44.851 48.077 99.584 86.784 161.075 112.794 76.288-117.299 182.989-214.426 311.552-279.194zM828.211 162.918c-75.469 7.27-147.558 26.214-214.682 54.682 0.41 3.277 0.563 6.656 0.563 10.035 0 15.821-3.738 30.72-10.291 43.981 67.072 78.746 119.142 170.496 152.064 270.899 40.704 0.768 75.571 25.702 90.573 61.184 45.363-4.608 89.498-13.312 132.045-25.805 2.918-21.504 4.557-43.469 4.557-65.894 0-138.445-59.75-262.963-154.829-349.082zM690.637 720.333c-120.064 56.218-220.365 142.797-293.069 248.627 36.608 9.165 74.957 14.080 114.432 14.080 71.117 0 138.394-15.821 198.81-43.981 9.677-47.462 14.848-96.563 14.848-146.893 0-18.125-0.87-36.147-2.202-54.016-12.083-3.84-23.194-9.933-32.819-17.818z"
- ],
- "tags": [
- "network",
- "globe",
- "sphere"
- ],
- "grid": 20
- },
- "properties": {
- "id": 73,
- "order": 85,
- "prevSize": 20,
- "code": 58947,
- "name": "network"
- },
- "setIdx": 4,
- "iconIdx": 73
- },
- {
- "icon": {
- "paths": [
- "M102.502 143.309v121.242c362.803 0 656.896 294.144 656.896 656.947h121.293c-0-429.773-348.416-778.189-778.189-778.189zM102.502 385.843v121.293c228.864 0 414.413 185.498 414.413 414.362h121.19c0-295.782-239.77-535.654-535.603-535.654zM218.726 689.050c-64.154 0-116.224 52.070-116.224 116.275s52.070 116.224 116.224 116.224c64.205 0 116.275-52.019 116.275-116.224s-52.070-116.275-116.275-116.275z"
- ],
- "tags": [
- "rss",
- "atom",
- "feed"
- ],
- "grid": 20
- },
- "properties": {
- "id": 106,
- "order": 84,
- "prevSize": 20,
- "code": 58948,
- "name": "rss"
- },
- "setIdx": 4,
- "iconIdx": 106
- },
- {
- "icon": {
- "paths": [
- "M35.328 580.198l69.786 17.306 52.531-82.534-99.84-24.73c-24.986-6.246-50.227 8.909-56.422 33.792-6.195 24.781 9.011 49.971 33.946 56.166zM946.227 593.51l-228.506 205.722-268.698-207.923c-5.12-3.994-11.008-6.81-17.306-8.397l-35.789-8.806-52.531 82.483 56.269 13.875 291.738 225.69c8.448 6.605 18.483 9.779 28.57 9.779 11.213 0 22.426-3.994 31.232-11.981l257.382-231.68c19.098-17.203 20.531-46.49 3.328-65.485-17.152-18.995-46.592-20.48-65.69-3.277zM444.621 367.667l250.214 160.205c21.094 13.466 49.152 7.885 63.437-12.646l257.434-370.79c14.592-21.094 9.318-49.92-11.827-64.512s-50.125-9.267-64.768 11.776l-231.834 333.926-251.75-161.178c-10.394-6.656-23.040-8.909-35.174-6.246s-22.63 9.984-29.235 20.429l-383.846 602.573c-13.824 21.606-7.373 50.176 14.336 63.898 7.731 4.915 16.384 7.219 24.934 7.219 15.411 0 30.464-7.578 39.322-21.504l358.758-563.149z"
- ],
- "tags": [
- "statistics",
- "graph",
- "plot"
- ],
- "grid": 20
- },
- "properties": {
- "id": 111,
- "order": 82,
- "prevSize": 20,
- "code": 58949,
- "name": "statistics"
- },
- "setIdx": 4,
- "iconIdx": 111
- },
- {
- "icon": {
- "paths": [
- "M459.059 112.538c-197.325 23.45-353.69 179.866-377.139 377.139h377.139v-377.139zM566.938 113.306v432.896c0 28.365-22.989 51.354-51.405 51.354h-432.896c27.699 211.712 208.538 375.194 427.725 375.194 238.387 0 431.718-193.229 431.718-431.718 0-219.187-163.482-400.026-375.142-427.725z"
- ],
- "tags": [
- "pie",
- "chart",
- "graph",
- "statistics"
- ],
- "grid": 20
- },
- "properties": {
- "id": 112,
- "order": 83,
- "prevSize": 20,
- "code": 58950,
- "name": "pie"
- },
- "setIdx": 4,
- "iconIdx": 112
- },
- {
- "icon": {
- "paths": [
- "M819.2 102.4h-614.4c-56.32 0-102.4 46.080-102.4 102.4v614.4c0 56.32 46.080 102.4 102.4 102.4h614.4c56.32 0 102.4-46.080 102.4-102.4v-614.4c0-56.32-46.080-102.4-102.4-102.4zM768 563.2h-512v-102.4h512v102.4z"
- ],
- "tags": [
- "minus",
- "subtract",
- "remove",
- "delete"
- ],
- "grid": 20
- },
- "properties": {
- "id": 121,
- "order": 81,
- "prevSize": 20,
- "code": 58951,
- "name": "minus"
- },
- "setIdx": 4,
- "iconIdx": 121
- },
- {
- "icon": {
- "paths": [
- "M819.2 102.4h-614.4c-56.32 0-102.4 46.080-102.4 102.4v614.4c0 56.32 46.080 102.4 102.4 102.4h614.4c56.32 0 102.4-46.080 102.4-102.4v-614.4c0-56.32-46.080-102.4-102.4-102.4zM768 563.2h-204.8v204.8h-102.4v-204.8h-204.8v-102.4h204.8v-204.8h102.4v204.8h204.8v102.4z"
- ],
- "tags": [
- "plus",
- "add",
- "sum"
- ],
- "grid": 20
- },
- "properties": {
- "id": 122,
- "order": 80,
- "prevSize": 20,
- "code": 58952,
- "name": "plus"
- },
- "setIdx": 4,
- "iconIdx": 122
- },
- {
- "icon": {
- "paths": [
- "M505.702 41.011c-260.096 3.482-468.173 217.19-464.691 477.338 3.482 259.994 217.19 468.122 477.286 464.64 260.096-3.482 468.173-217.19 464.691-477.338-3.43-260.045-217.19-468.122-477.286-464.64zM557.926 197.99c47.872 0 62.003 27.75 62.003 59.546 0 39.68-31.795 76.39-86.016 76.39-45.363 0-66.918-22.835-65.638-60.518 0-31.795 26.624-75.418 89.651-75.418zM435.149 806.4c-32.717 0-56.678-19.866-33.792-107.213l37.53-154.829c6.502-24.832 7.578-34.765 0-34.765-9.779 0-52.275 17.152-77.414 34.048l-16.333-26.778c79.616-66.458 171.162-105.472 210.381-105.472 32.717 0 38.144 38.707 21.811 98.253l-43.008 162.816c-7.578 28.774-4.301 38.707 3.277 38.707 9.779 0 41.984-11.878 73.626-36.762l18.483 24.832c-77.363 77.363-161.792 107.162-194.56 107.162z"
- ],
- "tags": [
- "info",
- "about"
- ],
- "grid": 20
- },
- "properties": {
- "id": 132,
- "order": 76,
- "prevSize": 20,
- "code": 58953,
- "name": "info2"
- },
- "setIdx": 4,
- "iconIdx": 132
- },
- {
- "icon": {
- "paths": [
- "M721.408 114.381c-58.419-42.138-131.686-63.181-219.955-63.181-67.174 0-123.802 14.848-169.83 44.442-73.062 46.387-111.872 125.133-116.582 236.237h169.267c0-32.358 9.421-63.539 28.314-93.542s50.944-45.005 96.154-45.005c45.926 0 77.619 12.186 94.925 36.506 17.357 24.422 26.010 51.405 26.010 80.998 0 25.754-12.902 49.306-28.467 70.758-8.55 12.493-19.866 23.962-33.843 34.509 0 0-91.802 58.88-132.147 106.189-23.398 27.443-25.498 68.506-27.546 127.437-0.154 4.198 1.434 12.851 16.128 12.851s118.63 0 131.686 0 15.77-9.677 15.974-13.926c0.922-21.453 3.328-32.41 7.27-44.8 7.424-23.398 27.494-43.827 50.125-61.389l46.592-32.154c42.035-32.768 75.622-59.648 90.419-80.742 25.293-34.714 43.059-77.414 43.059-128.051 0-82.688-29.235-145.050-87.552-187.136zM498.739 764.109c-58.368-1.741-106.496 38.605-108.339 101.888-1.843 63.232 43.93 105.011 102.298 106.752 60.928 1.792 107.776-37.274 109.619-100.506 1.792-63.283-42.65-106.342-103.578-108.134z"
- ],
- "tags": [
- "question",
- "help"
- ],
- "grid": 20
- },
- "properties": {
- "id": 133,
- "order": 79,
- "prevSize": 20,
- "code": 58954,
- "name": "question"
- },
- "setIdx": 4,
- "iconIdx": 133
- },
- {
- "icon": {
- "paths": [
- "M505.754 41.011c-260.147 3.482-468.224 217.19-464.742 477.338 3.482 259.994 217.19 468.122 477.338 464.64 260.045-3.482 468.173-217.19 464.64-477.338-3.43-260.045-217.139-468.122-477.235-464.64zM504.371 798.72h-2.611c-40.038-1.178-68.301-30.72-67.174-70.195 1.126-38.758 30.054-66.97 68.813-66.97l2.355 0.051c41.165 1.229 69.12 30.464 67.891 71.066-1.126 38.861-29.645 66.048-69.274 66.048zM672.87 464.282c-9.472 13.363-30.157 30.003-56.269 50.33l-28.774 19.866c-15.77 12.288-25.293 23.808-28.826 35.123-2.867 9.011-4.198 11.315-4.454 29.491l-0.051 4.659-109.722 0 0.307-9.318c1.331-38.195 2.304-60.621 18.125-79.206 24.832-29.133 79.616-64.41 81.92-65.894 7.834-5.939 14.438-12.646 19.405-19.814 11.52-15.872 16.589-28.416 16.589-40.653 0-17.050-5.069-32.819-15.053-46.848-9.626-13.568-27.904-20.429-54.323-20.429-26.214 0-44.134 8.346-54.886 25.395-11.11 17.562-16.64 35.942-16.64 54.784v4.71h-113.152l0.205-4.915c2.918-69.325 27.648-119.194 73.523-148.326 28.774-18.586 64.614-27.955 106.394-27.955 54.733 0 101.018 13.312 137.37 39.526 36.864 26.573 55.552 66.406 55.552 118.323 0 29.082-9.165 56.371-27.238 81.152z"
- ],
- "tags": [
- "help",
- "question"
- ],
- "grid": 20
- },
- "properties": {
- "id": 134,
- "order": 77,
- "prevSize": 20,
- "code": 58955,
- "name": "help"
- },
- "setIdx": 4,
- "iconIdx": 134
- },
- {
- "icon": {
- "paths": [
- "M999.014 920.678l-456.090-800.307c-6.298-11.059-18.125-17.869-30.925-17.869-12.8 0-24.576 6.81-30.925 17.869l-456.038 800.307c-6.195 10.854-6.093 24.115 0.256 34.867s18.022 17.357 30.618 17.357h912.128c12.493 0 24.218-6.605 30.618-17.357 6.349-10.752 6.451-24.013 0.358-34.867zM568.32 870.502h-112.64v-102.4h112.64v102.4zM568.32 691.302h-112.64v-307.2h112.64v307.2z"
- ],
- "tags": [
- "warning",
- "alert",
- "exclamation"
- ],
- "grid": 20
- },
- "properties": {
- "id": 135,
- "order": 78,
- "prevSize": 20,
- "code": 58956,
- "name": "warning"
- },
- "setIdx": 4,
- "iconIdx": 135
- },
- {
- "icon": {
- "paths": [
- "M819.2 460.8h-614.4c-28.262 0-51.2 22.938-51.2 51.2s22.938 51.2 51.2 51.2h614.4c28.314 0 51.2-22.938 51.2-51.2s-22.886-51.2-51.2-51.2zM204.8 358.4h614.4c28.314 0 51.2-22.938 51.2-51.2s-22.886-51.2-51.2-51.2h-614.4c-28.262 0-51.2 22.938-51.2 51.2s22.938 51.2 51.2 51.2zM819.2 665.6h-614.4c-28.262 0-51.2 22.886-51.2 51.2s22.938 51.2 51.2 51.2h614.4c28.314 0 51.2-22.886 51.2-51.2s-22.886-51.2-51.2-51.2z"
- ],
- "tags": [
- "list",
- "menu",
- "options",
- "lines"
- ],
- "grid": 20
- },
- "properties": {
- "id": 150,
- "order": 55,
- "prevSize": 20,
- "code": 58957,
- "name": "list"
- },
- "setIdx": 4,
- "iconIdx": 150
- },
- {
- "icon": {
- "paths": [
- "M918.989 757.555v-117.555c0-71.014-47.002-176.64-176.589-176.64h-102.4c-72.294 0-79.002-35.43-79.36-53.76v-143.155c43.674-18.893 74.24-62.31 74.24-112.845 0-67.84-54.989-122.88-122.88-122.88-67.891 0-122.88 55.040-122.88 122.88 0 50.534 30.566 93.952 74.24 112.845v143.155c0 13.261-3.84 53.76-79.36 53.76h-102.4c-129.587 0-176.64 105.626-176.64 176.64v117.555c-43.674 18.842-74.24 62.31-74.24 112.845 0 67.84 54.989 122.88 122.88 122.88 67.84 0 122.88-55.040 122.88-122.88 0-50.534-30.566-94.003-74.24-112.845v-117.555c0-13.261 3.84-79.36 79.36-79.36h102.4c31.078 0 57.293-4.71 79.36-12.698v209.613c-43.674 18.842-74.24 62.31-74.24 112.845 0 67.84 54.989 122.88 122.88 122.88 67.891 0 122.88-55.040 122.88-122.88 0-50.534-30.618-94.003-74.291-112.845v-209.613c22.067 7.987 48.282 12.698 79.36 12.698h102.4c72.294 0 79.002 61.030 79.411 79.36v117.555c-43.674 18.842-74.24 62.31-74.24 112.845 0 67.84 54.989 122.88 122.88 122.88s122.88-55.040 122.88-122.88c0-50.534-30.566-94.003-74.291-112.845zM224.512 870.4c0 39.168-31.744 70.912-70.912 70.912s-70.912-31.744-70.912-70.912 31.744-70.912 70.912-70.912 70.912 31.744 70.912 70.912zM441.088 153.6c0-39.168 31.795-70.912 70.912-70.912s70.861 31.744 70.861 70.912-31.744 70.912-70.861 70.912c-39.117 0-70.912-31.744-70.912-70.912zM582.912 870.4c0 39.168-31.795 70.912-70.861 70.912-39.168 0-70.912-31.744-70.912-70.912s31.744-70.912 70.861-70.912c39.117 0 70.912 31.744 70.912 70.912zM870.4 941.312c-39.117 0-70.912-31.744-70.912-70.912s31.795-70.912 70.912-70.912 70.912 31.744 70.912 70.912-31.795 70.912-70.912 70.912z"
- ],
- "tags": [
- "flow-tree",
- "tree"
- ],
- "grid": 20
- },
- "properties": {
- "id": 186,
- "order": 54,
- "prevSize": 20,
- "code": 58958,
- "name": "flow-tree"
- },
- "setIdx": 4,
- "iconIdx": 186
- },
- {
- "icon": {
- "paths": [
- "M585.574 231.219c-21.402 20.89-230.502 240.435-230.502 240.435-11.418 11.162-17.101 25.754-17.101 40.346s5.683 29.184 17.101 40.346c0 0 209.101 219.546 230.502 240.384 21.402 20.89 59.904 22.323 82.739 0 22.784-22.272 24.576-53.35-0.051-80.64l-191.846-200.090 191.846-200.090c24.627-27.341 22.835-58.419 0.051-80.691-22.886-22.272-61.389-20.89-82.739-0z"
- ],
- "tags": [
- "arrow-left",
- "left",
- "previous"
- ],
- "grid": 20
- },
- "properties": {
- "id": 205,
- "order": 53,
- "prevSize": 20,
- "code": 58959,
- "name": "arrow-left3"
- },
- "setIdx": 4,
- "iconIdx": 205
- },
- {
- "icon": {
- "paths": [
- "M438.426 231.219c21.402 20.89 230.502 240.435 230.502 240.435 11.469 11.162 17.152 25.754 17.152 40.346s-5.683 29.184-17.152 40.346c0 0-209.101 219.546-230.502 240.384-21.402 20.89-59.853 22.323-82.739 0-22.835-22.272-24.627-53.35 0-80.64l191.898-200.090-191.846-200.090c-24.627-27.341-22.835-58.419 0-80.691 22.835-22.272 61.338-20.89 82.688-0z"
- ],
- "tags": [
- "arrow-right",
- "right",
- "next"
- ],
- "grid": 20
- },
- "properties": {
- "id": 208,
- "order": 52,
- "prevSize": 20,
- "code": 58960,
- "name": "arrow-right3"
- },
- "setIdx": 4,
- "iconIdx": 208
- },
- {
- "icon": {
- "paths": [
- "M634.829 687.002c13.722 13.875 13.722 36.301 0 50.125-13.722 13.875-35.891 13.875-49.613 0l-196.096-200.038c-13.722-13.875-13.722-36.301 0-50.125l196.096-200.090c13.722-13.875 35.891-13.875 49.613 0s13.722 36.25 0 50.125l-160.768 175.002 160.768 175.002z"
- ],
- "tags": [
- "arrow-left",
- "left",
- "previous"
- ],
- "grid": 20
- },
- "properties": {
- "id": 209,
- "order": 51,
- "prevSize": 20,
- "code": 58961,
- "name": "arrow-left4"
- },
- "setIdx": 4,
- "iconIdx": 209
- },
- {
- "icon": {
- "paths": [
- "M389.171 687.002c-13.722 13.875-13.722 36.301 0 50.125 13.67 13.875 35.891 13.875 49.613 0l196.096-200.038c13.722-13.875 13.722-36.301 0-50.125l-196.096-200.090c-13.722-13.875-35.891-13.875-49.613 0s-13.722 36.25-0.051 50.074l160.819 175.053-160.768 175.002z"
- ],
- "tags": [
- "arrow-right",
- "right",
- "next"
- ],
- "grid": 20
- },
- "properties": {
- "id": 212,
- "order": 50,
- "prevSize": 20,
- "code": 58962,
- "name": "arrow-right4"
- },
- "setIdx": 4,
- "iconIdx": 212
- },
- {
- "icon": {
- "paths": [
- "M737.229 891.802c13.722 13.875 13.722 36.25 0 50.125s-35.891 13.875-49.613 0l-400.896-404.838c-13.722-13.875-13.722-36.301 0-50.125l400.896-404.89c13.722-13.875 35.891-13.875 49.613 0s13.722 36.25 0 50.125l-365.568 379.802 365.568 379.802z"
- ],
- "tags": [
- "arrow-left",
- "previous",
- "left"
- ],
- "grid": 20
- },
- "properties": {
- "id": 213,
- "order": 49,
- "prevSize": 20,
- "code": 58963,
- "name": "arrow-left5"
- },
- "setIdx": 4,
- "iconIdx": 213
- },
- {
- "icon": {
- "paths": [
- "M286.704 891.802c-13.722 13.875-13.722 36.25 0 50.125s35.891 13.875 49.613 0l400.896-404.838c13.722-13.875 13.722-36.301 0-50.125l-400.896-404.89c-13.722-13.875-35.891-13.875-49.613 0s-13.722 36.25 0 50.125l365.568 379.802-365.568 379.802z"
- ],
- "grid": 20
- },
- "properties": {
- "id": 216,
- "order": 48,
- "prevSize": 20,
- "code": 58964,
- "name": "uniE654"
- },
- "setIdx": 4,
- "iconIdx": 216
- }
- ],
- "height": 1024,
- "metadata": {
- "name": "icomoon"
- },
- "preferences": {
- "fontPref": {
- "prefix": "icon-",
- "metadata": {
- "fontFamily": "icomoon"
- },
- "showGlyphs": true,
- "metrics": {
- "emSize": 1024,
- "baseline": 6.25,
- "whitespace": 50
- },
- "resetPoint": 58880,
- "showQuickUse": true,
- "quickUsageToken": false,
- "showMetrics": true,
- "showMetadata": false
- },
- "imagePref": {
- "color": 0,
- "height": 32,
- "columns": 16,
- "margin": 16,
- "png": false,
- "sprites": true
- },
- "historySize": 100,
- "showCodes": true,
- "gridSize": 16,
- "showLiga": false,
- "showGrid": true,
- "showGlyphs": true,
- "showQuickUse": true,
- "showQuickUse2": true,
- "showSVGs": true,
- "search": ""
- }
+ "IcoMoonType": "selection",
+ "icons": [
+ {
+ "icon": {
+ "paths": [
+ "M928 0h-832c-52.8 0-96 43.2-96 96v832c0 52.8 43.2 96 96 96h832c52.8 0 96-43.2 96-96v-832c0-52.8-43.2-96-96-96zM519.6 896c-212.2 0-384-171.8-384-384s171.8-384 384-384c103.6 0 190.4 37.8 257.2 100.4l-104.2 100.4c-28.6-27.4-78.4-59.2-153-59.2-131.2 0-238 108.6-238 242.4s107 242.4 238 242.4c152 0 209-109.2 217.8-165.6h-217.8v-131.6h362.6c3.2 19.2 6 38.4 6 63.6 0.2 219.4-146.8 375.2-368.6 375.2z"
+ ],
+ "attrs": [
+ {}
+ ],
+ "isMulticolor": false,
+ "isMulticolor2": false,
+ "tags": [
+ "google",
+ "brand"
+ ],
+ "grid": 16
+ },
+ "attrs": [
+ {}
+ ],
+ "properties": {
+ "order": 1,
+ "id": 0,
+ "name": "google",
+ "prevSize": 32,
+ "code": 59648
+ },
+ "setIdx": 0,
+ "setId": 3,
+ "iconIdx": 0
+ },
+ {
+ "icon": {
+ "paths": [
+ "M1024 590.444l-512-397.426-512 397.428v-162.038l512-397.426 512 397.428zM896 576v384h-256v-256h-256v256h-256v-384l384-288z"
+ ],
+ "tags": [
+ "home",
+ "house",
+ "building"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 0,
+ "order": 67,
+ "prevSize": 32,
+ "code": 58887,
+ "name": "home"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 7
+ },
+ {
+ "icon": {
+ "paths": [
+ "M864 0c88.364 0 160 71.634 160 160 0 36.020-11.91 69.258-32 96l-64 64-224-224 64-64c26.742-20.090 59.978-32 96-32zM64 736l-64 288 288-64 592-592-224-224-592 592zM715.578 363.578l-448 448-55.156-55.156 448-448 55.156 55.156z"
+ ],
+ "tags": [
+ "pencil",
+ "write",
+ "edit",
+ "blog",
+ "note"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 5,
+ "order": 75,
+ "prevSize": 32,
+ "code": 58888,
+ "name": "pencil"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 8
+ },
+ {
+ "icon": {
+ "paths": [
+ "M0 128v832h1024v-832h-1024zM960 896h-896v-704h896v704zM704 352c0-53.019 42.981-96 96-96s96 42.981 96 96c0 53.019-42.981 96-96 96-53.019 0-96-42.981-96-96zM896 832h-768l192-512 256 320 128-96z"
+ ],
+ "tags": [
+ "image",
+ "picture",
+ "photo",
+ "graphic"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 13,
+ "order": 41,
+ "prevSize": 32,
+ "code": 58889,
+ "name": "image"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 9
+ },
+ {
+ "icon": {
+ "paths": [
+ "M320 192l704-192v64 128 544c0 88.366-100.29 160-224 160s-224-71.634-224-160c0-88.366 100.29-160 224-160 34.358 0 66.902 5.532 96 15.406v-329.588l-448 122.182v480c0 88.366-100.288 160-224 160-123.712 0-224-71.634-224-160 0-88.366 100.288-160 224-160 34.358 0 66.902 5.532 96 15.406v-335.406-192z"
+ ],
+ "tags": [
+ "music",
+ "song",
+ "audio",
+ "sound"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 16,
+ "order": 40,
+ "prevSize": 32,
+ "code": 58890,
+ "name": "music2"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 10
+ },
+ {
+ "icon": {
+ "paths": [
+ "M192 578.286v443.43c10.454 1.496 21.134 2.286 32 2.286h32v-448.002h-32c-10.866 0-21.546 0.79-32 2.286zM768 576v448h32c10.868 0 21.546-0.79 32-2.286v-443.428c-10.454-1.496-21.132-2.286-32-2.286h-32zM1024 512c0-282.77-229.23-512-512-512s-512 229.23-512 512c0 61.418 10.828 120.306 30.656 174.874-19.472 33.202-30.656 71.852-30.656 113.126 0 89.354 52.326 166.478 128 202.432v-404.864c-20.126 9.562-38.58 22.060-54.858 36.904-5.992-29.22-9.142-59.478-9.142-90.472 0-247.424 200.576-448 448-448s448 200.576 448 448c0 30.994-3.148 61.252-9.142 90.472-16.28-14.844-34.73-27.342-54.858-36.904v404.864c75.676-35.954 128-113.078 128-202.432 0-41.274-11.184-79.924-30.656-113.126 19.828-54.568 30.656-113.456 30.656-174.874z"
+ ],
+ "tags": [
+ "headphones",
+ "headset",
+ "music",
+ "song",
+ "audio"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 17,
+ "order": 42,
+ "prevSize": 32,
+ "code": 58891,
+ "name": "headphones"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 11
+ },
+ {
+ "icon": {
+ "paths": [
+ "M981.188 160.108c-143.632-20.65-302.332-32.108-469.186-32.108-166.86 0-325.556 11.458-469.194 32.108-27.53 107.726-42.808 226.75-42.808 351.892 0 125.14 15.278 244.166 42.808 351.89 143.638 20.652 302.336 32.11 469.194 32.11 166.854 0 325.552-11.458 469.186-32.11 27.532-107.724 42.812-226.75 42.812-351.89 0-125.142-15.28-244.166-42.812-351.892zM384.002 704v-384l320 192-320 192z"
+ ],
+ "tags": [
+ "play",
+ "video",
+ "movie"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 18,
+ "order": 45,
+ "prevSize": 32,
+ "code": 58892,
+ "name": "play"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 12
+ },
+ {
+ "icon": {
+ "paths": [
+ "M0 128v768h1024v-768h-1024zM192 832h-128v-128h128v128zM192 576h-128v-128h128v128zM192 320h-128v-128h128v128zM768 832h-512v-640h512v640zM960 832h-128v-128h128v128zM960 576h-128v-128h128v128zM960 320h-128v-128h128v128zM384 320v384l256-192z"
+ ],
+ "tags": [
+ "film",
+ "video",
+ "movie",
+ "tape",
+ "play"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 19,
+ "order": 43,
+ "prevSize": 32,
+ "code": 58893,
+ "name": "film"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 13
+ },
+ {
+ "icon": {
+ "paths": [
+ "M384 288c0-88.366 71.634-160 160-160s160 71.634 160 160c0 88.366-71.634 160-160 160-88.366 0-160-71.634-160-160zM0 288c0-88.366 71.634-160 160-160 88.366 0 160 71.634 160 160 0 88.366-71.634 160-160 160-88.366 0-160-71.634-160-160zM768 608v-96c0-35.2-28.8-64-64-64h-160-480c-35.2 0-64 28.8-64 64v320c0 35.2 28.8 64 64 64h640c35.2 0 64-28.8 64-64v-96l256 160v-448l-256 160zM640 768h-512v-192h512v192z"
+ ],
+ "tags": [
+ "camera",
+ "video",
+ "media",
+ "film",
+ "movie"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 20,
+ "order": 44,
+ "prevSize": 32,
+ "code": 58894,
+ "name": "camera"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 14
+ },
+ {
+ "icon": {
+ "paths": [
+ "M964.73 178.804c-93.902-109.45-233.21-178.804-388.73-178.804-282.77 0-512 229.23-512 512s229.23 512 512 512c155.52 0 294.828-69.356 388.728-178.804l-324.728-333.196 324.73-333.196zM704 120.602c39.432 0 71.398 31.964 71.398 71.398 0 39.432-31.966 71.398-71.398 71.398s-71.398-31.966-71.398-71.398c0-39.432 31.966-71.398 71.398-71.398z"
+ ],
+ "tags": [
+ "pacman",
+ "game",
+ "arcade"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 22,
+ "order": 66,
+ "prevSize": 32,
+ "code": 58895,
+ "name": "pacman"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 15
+ },
+ {
+ "icon": {
+ "paths": [
+ "M927.812 0h-288.562c-52.906 0-126.796 30.606-164.204 68.014l-446.99 446.99c-37.408 37.408-37.408 98.624 0 136.032l344.91 344.906c37.408 37.41 98.622 37.41 136.030 0l446.99-446.988c37.408-37.41 68.014-111.302 68.014-164.204v-288.562c0-52.904-43.286-96.188-96.188-96.188zM800 320c-53.020 0-96-42.98-96-96s42.98-96 96-96 96 42.98 96 96-42.98 96-96 96z"
+ ],
+ "tags": [
+ "tag",
+ "price"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 48,
+ "order": 64,
+ "prevSize": 32,
+ "code": 58896,
+ "name": "tag"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 16
+ },
+ {
+ "icon": {
+ "paths": [
+ "M992 64h-224c-52.8 0-126.546 30.546-163.882 67.882l-376.236 376.236c-37.334 37.334-37.334 98.428 0 135.764l280.236 280.234c37.334 37.336 98.428 37.336 135.764 0l376.234-376.234c37.338-37.336 67.884-111.082 67.884-163.882v-224c0-52.8-43.2-96-96-96zM864 384c-53.020 0-96-42.98-96-96s42.98-96 96-96 96 42.98 96 96-42.98 96-96 96zM86.626 598.626l342.378 342.378c-36.264 19.16-82.462 13.538-112.886-16.888l-280.236-280.234c-37.334-37.336-37.334-98.43 0-135.764l376.236-376.236c37.336-37.336 111.082-67.882 163.882-67.882l-489.374 489.372c-12.444 12.446-12.444 32.808 0 45.254z"
+ ],
+ "width": 1088,
+ "tags": [
+ "tags",
+ "prices"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 49,
+ "order": 65,
+ "prevSize": 32,
+ "code": 58897,
+ "name": "tags"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 17
+ },
+ {
+ "icon": {
+ "paths": [
+ "M512 0c-176.732 0-320 143.268-320 320 0 320 320 704 320 704s320-384 320-704c0-176.732-143.27-320-320-320zM512 512c-106.040 0-192-85.96-192-192s85.96-192 192-192 192 85.96 192 192-85.96 192-192 192z"
+ ],
+ "tags": [
+ "location",
+ "map",
+ "marker",
+ "pin"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 66,
+ "order": 63,
+ "prevSize": 32,
+ "code": 58898,
+ "name": "location"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 18
+ },
+ {
+ "icon": {
+ "paths": [
+ "M1024 832v-768h-1024v768h448v64h-192v64h512v-64h-192v-64h448zM128 192h768v512h-768v-512z"
+ ],
+ "tags": [
+ "screen",
+ "monitor",
+ "computer",
+ "pc",
+ "desktop"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 82,
+ "order": 47,
+ "prevSize": 32,
+ "code": 58899,
+ "name": "screen"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 19
+ },
+ {
+ "icon": {
+ "paths": [
+ "M736 0h-448c-52.8 0-96 43.2-96 96v832c0 52.8 43.2 96 96 96h448c52.8 0 96-43.2 96-96v-832c0-52.8-43.2-96-96-96zM384 48h256v32h-256v-32zM512 960c-35.346 0-64-28.654-64-64s28.654-64 64-64 64 28.654 64 64-28.654 64-64 64zM768 768h-512v-640h512v640z"
+ ],
+ "tags": [
+ "mobile",
+ "phone",
+ "handheld"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 84,
+ "order": 46,
+ "prevSize": 32,
+ "code": 58900,
+ "name": "mobile"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 20
+ },
+ {
+ "icon": {
+ "paths": [
+ "M981.188 288.108c-88.808-12.768-183.382-22.016-282.076-27.22l164.888-164.888-64-64-224.558 224.556c-21.006-0.368-42.156-0.556-63.442-0.556v0l-256-256-64 64 194.196 194.196c-120.922 4.242-236.338 14.524-343.386 29.912-27.532 107.726-42.81 226.752-42.81 351.892s15.278 244.166 42.804 351.89c143.642 20.652 302.34 32.11 469.196 32.11 166.856 0 325.55-11.458 469.188-32.11 27.534-107.724 42.812-226.75 42.812-351.89s-15.278-244.166-42.812-351.892zM863.892 874.594c-107.73 13.766-226.75 21.406-351.892 21.406-125.142 0-244.166-7.64-351.892-21.406-20.648-71.816-32.108-151.166-32.108-234.594 0-83.43 11.458-162.78 32.108-234.596 107.726-13.766 226.75-21.404 351.892-21.404 125.136 0 244.162 7.638 351.886 21.404 20.656 71.816 32.114 151.166 32.114 234.596 0 83.428-11.458 162.778-32.108 234.594z"
+ ],
+ "tags": [
+ "tv",
+ "television",
+ "show"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 87,
+ "order": 39,
+ "prevSize": 32,
+ "code": 58901,
+ "name": "tv"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 21
+ },
+ {
+ "icon": {
+ "paths": [
+ "M512 64c282.77 0 512 186.25 512 416 0 229.752-229.23 416-512 416-27.156 0-53.81-1.734-79.824-5.044-109.978 109.978-241.25 129.7-368.176 132.596v-26.916c68.536-33.578 128-94.74 128-164.636 0-9.754-0.758-19.33-2.164-28.696-115.796-76.264-189.836-192.754-189.836-323.304 0-229.75 229.23-416 512-416z"
+ ],
+ "tags": [
+ "bubble",
+ "comment",
+ "chat",
+ "talk"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 106,
+ "order": 36,
+ "prevSize": 32,
+ "code": 58902,
+ "name": "bubble"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 22
+ },
+ {
+ "icon": {
+ "paths": [
+ "M480 0v0c265.096 0 480 173.914 480 388.448s-214.904 388.448-480 388.448c-25.458 0-50.446-1.62-74.834-4.71-103.106 102.694-222.172 121.108-341.166 123.814v-25.134c64.252-31.354 116-88.466 116-153.734 0-9.106-0.712-18.048-2.030-26.794-108.558-71.214-177.97-179.988-177.97-301.89 0-214.534 214.904-388.448 480-388.448zM996 870.686c0 55.942 36.314 104.898 92 131.772v21.542c-103.126-2.318-197.786-18.102-287.142-106.126-21.14 2.65-42.794 4.040-64.858 4.040-95.47 0-183.408-25.758-253.614-69.040 144.674-0.506 281.26-46.854 384.834-130.672 52.208-42.252 93.394-91.826 122.414-147.348 30.766-58.866 46.366-121.582 46.366-186.406 0-10.448-0.45-20.836-1.258-31.168 72.57 59.934 117.258 141.622 117.258 231.676 0 104.488-60.158 197.722-154.24 258.764-1.142 7.496-1.76 15.16-1.76 22.966z"
+ ],
+ "width": 1152,
+ "tags": [
+ "bubbles",
+ "comments",
+ "chat",
+ "talk"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 108,
+ "order": 62,
+ "prevSize": 32,
+ "code": 58903,
+ "name": "bubbles"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 23
+ },
+ {
+ "icon": {
+ "paths": [
+ "M256 320c0-141.385 114.615-256 256-256s256 114.615 256 256c0 141.385-114.615 256-256 256-141.385 0-256-114.615-256-256zM768 640h-512c-141.384 0-256 114.618-256 256v64h1024v-64c0-141.382-114.616-256-256-256z"
+ ],
+ "tags": [
+ "user",
+ "profile",
+ "avatar",
+ "person",
+ "talk",
+ "member"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 116,
+ "order": 38,
+ "prevSize": 32,
+ "code": 58904,
+ "name": "user"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 24
+ },
+ {
+ "icon": {
+ "paths": [
+ "M384 128c0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128 0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128zM655.53 240.47c0-70.692 57.308-128 128-128s128 57.308 128 128c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128zM832 512c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM719.53 783.53c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM448.002 896c-0-0-0-0-0-0 0-35.346 28.654-64 64-64 35.346 0 64 28.654 64 64 0 0 0 0 0 0 0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM176.472 783.53c-0-0-0-0-0-0 0-35.346 28.654-64 64-64 35.346 0 64 28.654 64 64 0 0 0 0 0 0 0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM144.472 240.47c-0-0-0-0-0-0 0-53.019 42.981-96 96-96 53.019 0 96 42.981 96 96 0 0 0 0 0 0 0 53.019-42.981 96-96 96-53.019 0-96-42.981-96-96zM56 512c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.765-32.235 72-72 72-39.765 0-72-32.235-72-72z"
+ ],
+ "tags": [
+ "spinner",
+ "loading",
+ "busy",
+ "wait",
+ "wheel"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 120,
+ "order": 37,
+ "prevSize": 32,
+ "code": 58905,
+ "name": "spinner"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 25
+ },
+ {
+ "icon": {
+ "paths": [
+ "M992.262 871.396l-242.552-206.294c-25.074-22.566-51.89-32.926-73.552-31.926 57.256-67.068 91.842-154.078 91.842-249.176 0-212.078-171.922-384-384-384-212.076 0-384 171.922-384 384 0 212.078 171.922 384 384 384 95.098 0 182.108-34.586 249.176-91.844-1 21.662 9.36 48.478 31.926 73.552l206.294 242.552c35.322 39.246 93.022 42.554 128.22 7.356s31.892-92.898-7.354-128.22zM384 640c-141.384 0-256-114.616-256-256s114.616-256 256-256 256 114.616 256 256-114.614 256-256 256z"
+ ],
+ "tags": [
+ "search",
+ "magnifier",
+ "lookup",
+ "find"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 127,
+ "order": 33,
+ "prevSize": 32,
+ "code": 58906,
+ "name": "search"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 26
+ },
+ {
+ "icon": {
+ "paths": [
+ "M704 0c-176.73 0-320 143.268-320 320 0 20.026 1.858 39.616 5.376 58.624l-389.376 389.376v192c0 35.346 28.654 64 64 64h64v-64h128v-128h128v-128h128l83.042-83.042c34.010 12.316 70.696 19.042 108.958 19.042 176.73 0 320-143.268 320-320s-143.27-320-320-320zM799.874 320.126c-53.020 0-96-42.98-96-96s42.98-96 96-96 96 42.98 96 96-42.98 96-96 96z"
+ ],
+ "tags": [
+ "key",
+ "password",
+ "login",
+ "log in",
+ "signin",
+ "sign in"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 135,
+ "order": 60,
+ "prevSize": 32,
+ "code": 58907,
+ "name": "key"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 27
+ },
+ {
+ "icon": {
+ "paths": [
+ "M448 128v-16c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v16h-192v128h192v16c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-16h576v-128h-576zM256 256v-128h128v128h-128zM832 432c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v16h-576v128h576v16c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-16h192v-128h-192v-16zM640 576v-128h128v128h-128zM448 752c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v16h-192v128h192v16c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-16h576v-128h-576v-16zM256 896v-128h128v128h-128z"
+ ],
+ "tags": [
+ "settings",
+ "preferences",
+ "options"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 140,
+ "order": 61,
+ "prevSize": 32,
+ "code": 58908,
+ "name": "settings"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 28
+ },
+ {
+ "icon": {
+ "paths": [
+ "M1024 608.094v-192.188l-146.774-24.462c-5.958-18.132-13.222-35.668-21.694-52.5l86.454-121.034-135.896-135.898-120.826 86.304c-16.91-8.554-34.538-15.888-52.768-21.902l-24.402-146.414h-192.188l-24.402 146.416c-18.23 6.014-35.858 13.348-52.766 21.902l-120.828-86.304-135.898 135.898 86.454 121.036c-8.47 16.83-15.734 34.366-21.692 52.498l-146.774 24.46v192.188l147.118 24.52c5.96 17.968 13.21 35.348 21.642 52.030l-86.748 121.448 135.898 135.896 121.654-86.894c16.602 8.35 33.89 15.528 51.764 21.434l24.578 147.472h192.188l24.578-147.474c17.874-5.906 35.162-13.084 51.766-21.432l121.652 86.892 135.896-135.896-86.744-121.446c8.432-16.682 15.678-34.062 21.64-52.032l147.118-24.518zM512 640c-70.692 0-128-57.306-128-128 0-70.692 57.308-128 128-128 70.694 0 128 57.308 128 128 0 70.694-57.306 128-128 128z"
+ ],
+ "tags": [
+ "cog",
+ "preferences",
+ "settings",
+ "gear",
+ "generate",
+ "control",
+ "options"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 144,
+ "order": 35,
+ "prevSize": 32,
+ "code": 58909,
+ "name": "cog"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 29
+ },
+ {
+ "icon": {
+ "paths": [
+ "M128 896h896v128h-1024v-1024h128zM288 832c-53.020 0-96-42.98-96-96s42.98-96 96-96c2.828 0 5.622 0.148 8.388 0.386l103.192-171.986c-9.84-15.070-15.58-33.062-15.58-52.402 0-53.020 42.98-96 96-96 53.020 0 96 42.98 96 96 0 19.342-5.74 37.332-15.58 52.402l103.192 171.986c2.766-0.238 5.56-0.386 8.388-0.386 2.136 0 4.248 0.094 6.35 0.23l170.356-298.122c-10.536-15.408-16.706-34.036-16.706-54.11 0-53.020 42.98-96 96-96 53.020 0 96 42.98 96 96 0 53.020-42.98 96-96 96-2.14 0-4.248-0.094-6.35-0.232l-170.356 298.124c10.536 15.406 16.706 34.036 16.706 54.11 0 53.020-42.98 96-96 96-53.020 0-96-42.98-96-96 0-19.34 5.74-37.332 15.578-52.402l-103.19-171.984c-2.766 0.238-5.56 0.386-8.388 0.386s-5.622-0.146-8.388-0.386l-103.192 171.986c9.84 15.068 15.58 33.060 15.58 52.4 0 53.020-42.98 96-96 96z"
+ ],
+ "tags": [
+ "stats",
+ "graph",
+ "plot",
+ "statistics",
+ "chart"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 150,
+ "order": 34,
+ "prevSize": 32,
+ "code": 58910,
+ "name": "stats"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 30
+ },
+ {
+ "icon": {
+ "paths": [
+ "M640 146.588v135.958c36.206 15.804 69.5 38.408 98.274 67.18 60.442 60.44 93.726 140.8 93.726 226.274s-33.286 165.834-93.726 226.274c-60.44 60.44-140.798 93.726-226.274 93.726s-165.834-33.286-226.274-93.726c-60.44-60.44-93.726-140.8-93.726-226.274s33.286-165.834 93.726-226.274c28.774-28.774 62.068-51.378 98.274-67.182v-135.956c-185.048 55.080-320 226.472-320 429.412 0 247.424 200.578 448 448 448 247.424 0 448-200.576 448-448 0-202.94-134.95-374.332-320-429.412zM448 0h128v512h-128z"
+ ],
+ "tags": [
+ "switch",
+ "power",
+ "turn off",
+ "off",
+ "shutdown"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 177,
+ "order": 27,
+ "prevSize": 32,
+ "code": 58911,
+ "name": "switch"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 31
+ },
+ {
+ "icon": {
+ "paths": [
+ "M976 768h-16v-208c0-61.756-50.242-112-112-112h-272v-128h16c26.4 0 48-21.6 48-48v-160c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v160c0 26.4 21.6 48 48 48h16v128h-272c-61.756 0-112 50.244-112 112v208h-16c-26.4 0-48 21.6-48 48v160c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-160c0-26.4-21.6-48-48-48h-16v-192h256v192h-16c-26.4 0-48 21.6-48 48v160c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-160c0-26.4-21.6-48-48-48h-16v-192h256v192h-16c-26.4 0-48 21.6-48 48v160c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-160c0-26.4-21.6-48-48-48zM192 960h-128v-128h128v128zM576 960h-128v-128h128v128zM448 256v-128h128v128h-128zM960 960h-128v-128h128v128z"
+ ],
+ "tags": [
+ "tree",
+ "branches",
+ "descendants"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 185,
+ "order": 32,
+ "prevSize": 32,
+ "code": 58912,
+ "name": "tree"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 32
+ },
+ {
+ "icon": {
+ "paths": [
+ "M1024 657.542c0-82.090-56.678-150.9-132.996-169.48-3.242-128.7-108.458-232.062-237.862-232.062-75.792 0-143.266 35.494-186.854 90.732-24.442-31.598-62.69-51.96-105.708-51.96-73.81 0-133.642 59.874-133.642 133.722 0 6.436 0.48 12.76 1.364 18.954-11.222-2.024-22.766-3.138-34.57-3.138-106.998-0.002-193.732 86.786-193.732 193.842 0 107.062 86.734 193.848 193.73 193.848l656.262-0.012c96.138-0.184 174.008-78.212 174.008-174.446z"
+ ],
+ "tags": [
+ "cloud",
+ "weather"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 186,
+ "order": 31,
+ "prevSize": 32,
+ "code": 58913,
+ "name": "cloud"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 33
+ },
+ {
+ "icon": {
+ "paths": [
+ "M874.040 149.962c96.702 96.704 149.96 225.28 149.96 362.040s-53.258 265.334-149.96 362.038c-96.706 96.702-225.28 149.96-362.040 149.96-136.76 0-265.334-53.258-362.040-149.96-96.702-96.704-149.96-225.278-149.96-362.038 0-136.76 53.254-265.336 149.96-362.040 96.706-96.704 225.28-149.962 362.040-149.962 136.76 0 265.334 53.258 362.040 149.962zM828.784 828.786c63.058-63.060 104.986-141.608 122.272-227.062-13.474 19.836-26.362 27.194-34.344-17.206-8.22-72.39-74.708-26.148-116.516-51.86-44.004 29.658-142.906-57.662-126.098 40.824 25.934 44.422 140.008-59.45 83.148 34.542-36.274 65.616-132.642 210.932-120.106 286.258 1.582 109.744-112.134 22.884-151.314-13.52-26.356-72.92-8.982-200.374-77.898-236.086-74.802-3.248-139.004-10.046-167.994-93.67-17.446-59.828 18.564-148.894 82.678-162.644 93.85-58.966 127.374 69.054 215.39 71.434 27.328-28.594 101.816-37.686 107.992-69.75-57.75-10.19 73.268-48.558-5.528-70.382-43.47 5.112-71.478 45.074-48.368 78.958-84.238 19.642-86.936-121.904-167.91-77.258-2.058 70.59-132.222 22.886-45.036 8.572 29.956-13.088-48.86-51.016-6.28-44.124 20.916-1.136 91.332-25.812 72.276-42.402 39.21-24.34 72.16 58.29 110.538-1.882 27.708-46.266-11.62-54.808-46.35-31.356-19.58-21.924 34.57-69.276 82.332-89.738 15.918-6.82 31.122-10.536 42.746-9.484 24.058 27.792 68.55 32.606 70.878-3.342-59.582-28.534-125.276-43.608-193.292-43.608-97.622 0-190.47 31.024-267.308 88.39 20.65 9.46 32.372 21.238 12.478 36.296-15.456 46.054-78.17 107.876-133.224 99.124-28.586 49.296-47.412 103.606-55.46 160.528 46.112 15.256 56.744 45.45 46.836 55.55-23.496 20.488-37.936 49.53-45.376 81.322 15.010 91.836 58.172 176.476 125.27 243.576 84.616 84.614 197.118 131.214 316.784 131.214 119.664 0 232.168-46.6 316.784-131.214z"
+ ],
+ "tags": [
+ "earth",
+ "globe",
+ "web",
+ "internet",
+ "sphere",
+ "planet"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 194,
+ "order": 28,
+ "prevSize": 32,
+ "code": 58914,
+ "name": "earth"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 34
+ },
+ {
+ "icon": {
+ "paths": [
+ "M953.396 74.642l-4.028-4.042c-94.148-94.134-248.194-94.134-342.326 0l-218.106 218.136c-94.134 94.132-94.134 248.176 0 342.31l4.026 4.026c7.832 7.848 16.146 14.924 24.736 21.458l79.848-79.85c-9.302-5.494-18.126-12.072-26.116-20.060l-4.042-4.042c-51.114-51.098-51.114-134.272 0-185.39l218.128-218.112c51.116-51.118 134.274-51.118 185.386 0l4.042 4.024c51.1 51.116 51.1 134.292 0 185.39l-98.686 98.686c17.132 42.308 25.248 87.4 24.538 132.386l152.604-152.604c94.134-94.136 94.134-248.178-0.004-342.316zM631.042 388.934c-7.832-7.832-16.146-14.922-24.736-21.44l-79.848 79.832c9.304 5.496 18.126 12.074 26.116 20.062l4.042 4.040c51.116 51.116 51.116 134.272 0 185.388l-218.13 218.134c-51.118 51.102-134.276 51.102-185.388 0l-4.042-4.042c-51.098-51.12-51.098-134.276 0-185.388l98.688-98.686c-17.134-42.306-25.246-87.402-24.538-132.386l-152.602 152.598c-94.136 94.132-94.136 248.178 0 342.324l4.026 4.032c94.152 94.128 248.192 94.128 342.328 0l218.11-218.118c94.134-94.132 94.134-248.194 0-342.326l-4.026-4.024z"
+ ],
+ "tags": [
+ "link",
+ "chain",
+ "url",
+ "uri",
+ "anchor"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 195,
+ "order": 29,
+ "prevSize": 32,
+ "code": 58915,
+ "name": "link"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 35
+ },
+ {
+ "icon": {
+ "paths": [
+ "M697.832 327.048l-64.952-64.922-324.81 324.742c-53.814 53.792-53.814 141.048 0 194.844 53.804 53.792 141.060 53.792 194.874 0l389.772-389.708c89.714-89.662 89.714-235.062 0-324.726-89.666-89.704-235.112-89.704-324.782 0l-409.23 409.178c-0.29 0.304-0.612 0.576-0.876 0.846-125.102 125.096-125.102 327.856 0 452.906 125.054 125.056 327.868 125.056 452.988 0 0.274-0.274 0.516-0.568 0.82-0.876l0.032 0.034 279.332-279.292-64.986-64.92-279.33 279.262c-0.296 0.268-0.564 0.57-0.846 0.844-89.074 89.058-233.98 89.058-323.076 0-89.062-89.042-89.062-233.922 0-322.978 0.304-0.304 0.604-0.582 0.888-0.846l-0.046-0.060 409.28-409.166c53.712-53.738 141.144-53.738 194.886 0 53.712 53.734 53.712 141.148 0 194.84l-389.772 389.7c-17.936 17.922-47.054 17.922-64.972 0-17.894-17.886-17.894-47.032 0-64.92l324.806-324.782z"
+ ],
+ "tags": [
+ "attachment",
+ "paperclip"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 197,
+ "order": 30,
+ "prevSize": 32,
+ "code": 58916,
+ "name": "attachment"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 36
+ },
+ {
+ "icon": {
+ "paths": [
+ "M1024 397.050l-353.78-51.408-158.22-320.582-158.216 320.582-353.784 51.408 256 249.538-60.432 352.352 316.432-166.358 316.432 166.358-60.434-352.352 256.002-249.538zM512 753.498l-223.462 117.48 42.676-248.83-180.786-176.222 249.84-36.304 111.732-226.396 111.736 226.396 249.836 36.304-180.788 176.222 42.678 248.83-223.462-117.48z"
+ ],
+ "tags": [
+ "star",
+ "rate",
+ "favorite",
+ "bookmark"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 206,
+ "order": 59,
+ "prevSize": 32,
+ "code": 58917,
+ "name": "star"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 37
+ },
+ {
+ "icon": {
+ "paths": [
+ "M1024 397.050l-353.78-51.408-158.22-320.582-158.216 320.582-353.784 51.408 256 249.538-60.432 352.352 316.432-166.358 316.432 166.358-60.434-352.352 256.002-249.538z"
+ ],
+ "tags": [
+ "star",
+ "rate",
+ "favorite",
+ "bookmark"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 208,
+ "order": 58,
+ "prevSize": 32,
+ "code": 58918,
+ "name": "star2"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 38
+ },
+ {
+ "icon": {
+ "paths": [
+ "M1024 358.156c0 86.362-37.218 164.030-96.49 217.844h0.49l-320 320c-32 32-64 64-96 64s-64-32-96-64l-319.51-320c-59.272-53.814-96.49-131.482-96.49-217.844 0-162.458 131.698-294.156 294.156-294.156 86.362 0 164.030 37.218 217.844 96.49 53.814-59.272 131.482-96.49 217.844-96.49 162.456 0 294.156 131.698 294.156 294.156z"
+ ],
+ "tags": [
+ "heart",
+ "like",
+ "love",
+ "favorite"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 209,
+ "order": 25,
+ "prevSize": 32,
+ "code": 58919,
+ "name": "heart"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 39
+ },
+ {
+ "icon": {
+ "paths": [
+ "M1024 358.156c0-162.458-131.7-294.156-294.156-294.156-86.362 0-164.030 37.218-217.844 96.49-53.814-59.272-131.482-96.49-217.844-96.49-162.458 0-294.156 131.698-294.156 294.156 0 86.362 37.218 164.030 96.49 217.844h-0.49l320 320c32 32 64 64 96 64s64-32 96-64l319.51-320c59.272-53.814 96.49-131.482 96.49-217.844zM841.468 481.232l-323.978 324.258c-1.678 1.678-3.532 3.532-5.49 5.48-1.96-1.95-3.814-3.802-5.49-5.48l-323.978-324.256c-35.166-31.928-54.532-75.638-54.532-123.078 0-91.618 74.538-166.156 166.156-166.156 47.44 0 91.15 19.366 123.076 54.532l94.768 104.38 94.768-104.378c31.928-35.168 75.636-54.534 123.076-54.534 91.618 0 166.156 74.538 166.156 166.156 0 47.44-19.368 91.15-54.532 123.076z"
+ ],
+ "tags": [
+ "heart",
+ "like",
+ "love",
+ "favorite"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 210,
+ "order": 26,
+ "prevSize": 32,
+ "code": 58920,
+ "name": "heart2"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 40
+ },
+ {
+ "icon": {
+ "paths": [
+ "M512 1024c282.77 0 512-229.23 512-512s-229.23-512-512-512-512 229.23-512 512 229.23 512 512 512zM512 96c229.75 0 416 186.25 416 416s-186.25 416-416 416-416-186.25-416-416 186.25-416 416-416zM256 320c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM640 320c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM704.098 627.26l82.328 49.396c-55.962 93.070-157.916 155.344-274.426 155.344s-218.464-62.274-274.426-155.344l82.328-49.396c39.174 65.148 110.542 108.74 192.098 108.74s152.924-43.592 192.098-108.74z"
+ ],
+ "tags": [
+ "smiley",
+ "emoticon",
+ "face"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 216,
+ "order": 24,
+ "prevSize": 32,
+ "code": 58921,
+ "name": "smiley"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 41
+ },
+ {
+ "icon": {
+ "paths": [
+ "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM704 256c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64 28.654-64 64-64zM320 256c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64 28.654-64 64-64zM512 832c-116.51 0-218.464-62.274-274.426-155.344l82.328-49.396c39.174 65.148 110.542 108.74 192.098 108.74s152.924-43.592 192.098-108.74l82.328 49.396c-55.962 93.070-157.916 155.344-274.426 155.344z"
+ ],
+ "tags": [
+ "smiley",
+ "emoticon",
+ "face"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 217,
+ "order": 23,
+ "prevSize": 32,
+ "code": 58922,
+ "name": "smiley2"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 42
+ },
+ {
+ "icon": {
+ "paths": [
+ "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM448 192h128v128h-128v-128zM640 832h-256v-64h64v-256h-64v-64h192v320h64v64z"
+ ],
+ "tags": [
+ "info",
+ "information"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 248,
+ "order": 57,
+ "prevSize": 32,
+ "code": 58923,
+ "name": "info"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 43
+ },
+ {
+ "icon": {
+ "paths": [
+ "M864 128l-480 480-224-224-160 160 384 384 640-640z"
+ ],
+ "tags": [
+ "checkmark",
+ "tick",
+ "correct",
+ "accept",
+ "ok"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 254,
+ "order": 56,
+ "prevSize": 32,
+ "code": 58924,
+ "name": "checkmark"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 44
+ },
+ {
+ "icon": {
+ "paths": [
+ "M621.254 877.254l320-320c24.994-24.992 24.994-65.516 0-90.51l-320-320c-24.994-24.992-65.516-24.992-90.51 0-24.994 24.994-24.994 65.516 0 90.51l210.746 210.746h-613.49c-35.346 0-64 28.654-64 64s28.654 64 64 64h613.49l-210.746 210.746c-12.496 12.496-18.744 28.876-18.744 45.254s6.248 32.758 18.744 45.254c24.994 24.994 65.516 24.994 90.51 0z"
+ ],
+ "tags": [
+ "arrow-right",
+ "right",
+ "next"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 298,
+ "order": 21,
+ "prevSize": 32,
+ "code": 58925,
+ "name": "arrow-right"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 45
+ },
+ {
+ "icon": {
+ "paths": [
+ "M402.746 146.746l-320 320c-24.994 24.992-24.994 65.516 0 90.508l320 320c24.994 24.992 65.516 24.992 90.51 0 24.996-24.992 24.996-65.516 0-90.508l-210.748-210.746h613.492c35.346 0 64-28.652 64-64 0-35.346-28.654-64-64-64h-613.492l210.746-210.746c12.496-12.496 18.746-28.876 18.746-45.254s-6.248-32.758-18.744-45.254c-24.996-24.994-65.516-24.994-90.51 0z"
+ ],
+ "tags": [
+ "arrow-left",
+ "left",
+ "previous"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 302,
+ "order": 22,
+ "prevSize": 32,
+ "code": 58926,
+ "name": "arrow-left"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 46
+ },
+ {
+ "icon": {
+ "paths": [
+ "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM512 928c-229.75 0-416-186.25-416-416s186.25-416 416-416 416 186.25 416 416-186.25 416-416 416zM813.256 466.746l-256.002-256c-24.992-24.994-65.514-24.994-90.508 0s-24.994 65.516 0 90.51l146.744 146.744h-357.49c-35.346 0-64 28.654-64 64s28.654 64 64 64h357.49l-146.746 146.744c-24.994 24.994-24.994 65.518 0 90.512 12.498 12.496 28.878 18.744 45.256 18.744s32.758-6.248 45.254-18.744l256.002-256c24.992-24.994 24.992-65.518-0-90.51z"
+ ],
+ "tags": [
+ "arrow-right",
+ "right",
+ "next"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 306,
+ "order": 19,
+ "prevSize": 32,
+ "code": 58927,
+ "name": "arrow-right2"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 47
+ },
+ {
+ "icon": {
+ "paths": [
+ "M512 0c282.77 0 512 229.23 512 512s-229.23 512-512 512-512-229.23-512-512 229.23-512 512-512zM512 928c229.75 0 416-186.25 416-416s-186.25-416-416-416-416 186.25-416 416 186.25 416 416 416zM210.744 466.746l256.002-256c24.992-24.994 65.514-24.994 90.508 0s24.994 65.516 0 90.51l-146.744 146.744h357.49c35.346 0 64 28.654 64 64s-28.654 64-64 64h-357.49l146.746 146.744c24.994 24.994 24.994 65.518 0 90.512-12.498 12.496-28.878 18.744-45.256 18.744s-32.758-6.248-45.254-18.744l-256.002-256c-24.992-24.994-24.992-65.518 0-90.51z"
+ ],
+ "tags": [
+ "arrow-left",
+ "left",
+ "previous"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 310,
+ "order": 20,
+ "prevSize": 32,
+ "code": 58928,
+ "name": "arrow-left2"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 48
+ },
+ {
+ "icon": {
+ "paths": [
+ "M864 704c-45.16 0-85.92 18.738-115.012 48.83l-431.004-215.502c1.314-8.252 2.016-16.706 2.016-25.328s-0.702-17.076-2.016-25.326l431.004-215.502c29.092 30.090 69.852 48.828 115.012 48.828 88.366 0 160-71.634 160-160s-71.634-160-160-160-160 71.634-160 160c0 8.622 0.704 17.076 2.016 25.326l-431.004 215.504c-29.092-30.090-69.852-48.83-115.012-48.83-88.366 0-160 71.636-160 160 0 88.368 71.634 160 160 160 45.16 0 85.92-18.738 115.012-48.828l431.004 215.502c-1.312 8.25-2.016 16.704-2.016 25.326 0 88.368 71.634 160 160 160s160-71.632 160-160c0-88.364-71.634-160-160-160z"
+ ],
+ "tags": [
+ "share",
+ "social"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 350,
+ "order": 12,
+ "prevSize": 32,
+ "code": 58929,
+ "name": "share"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 49
+ },
+ {
+ "icon": {
+ "paths": [
+ "M0.806 869.664c-0.244-2.532-0.452-5.070-0.584-7.63 0.13 2.56 0.34 5.098 0.584 7.63zM235.908 565.148c92.010 2.738 153.734-92.698 137.862-213.198-15.894-120.48-103.396-217.168-195.408-219.922-92.026-2.73-153.74 89.482-137.852 210 15.882 120.468 103.352 220.374 195.398 223.12zM1024 256v-85.31c0-93.88-76.782-170.69-170.658-170.69h-682.656c-92.276 0-168.012 74.232-170.564 165.926 58.362-51.386 139.324-94.316 222.874-94.316 89.304 0 357.244 0 357.244 0l-79.948 67.618h-113.268c75.13 28.804 115.156 116.124 115.156 205.722 0 75.248-41.81 139.954-100.888 185.968-57.644 44.902-68.572 63.708-68.572 101.878 0 32.578 61.746 88 94.032 110.788 94.382 66.538 124.916 128.312 124.916 231.456 0 16.428-2.042 32.83-6.066 48.96h307.742c93.874 0 170.656-76.75 170.656-170.69v-533.308h-192v191.998h-64v-192h-191.998v-64h191.998v-192h64v192h192zM185.886 765.936c21.614 0 41.422-0.59 61.936-0.59-27.146-26.334-48.626-58.6-48.626-98.38 0-23.608 7.564-46.336 18.134-66.52-10.782 0.77-21.79 0.994-33.126 0.994-74.356 0-137.506-24.076-184.204-63.854v67.242l0.006 201.73c53.44-25.374 116.888-40.622 185.88-40.622zM3.42 887.258c-1.112-5.458-1.966-11.006-2.542-16.634 0.574 5.628 1.43 11.176 2.542 16.634zM455.45 952.846c-15.058-58.806-68.454-87.964-142.888-139.568-27.072-8.732-56.894-13.874-88.894-14.208-89.618-0.964-173.108 34.942-220.216 88.372 15.92 77.706 85.034 136.558 167.234 136.558h286.444c1.816-11.128 2.696-22.632 2.696-34.432 0-12.534-1.534-24.792-4.376-36.722z"
+ ],
+ "tags": [
+ "google plus",
+ "social"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 358,
+ "order": 13,
+ "prevSize": 32,
+ "code": 58930,
+ "name": "googleplus"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 50
+ },
+ {
+ "icon": {
+ "paths": [
+ "M853.344 0h-682.66c-93.872 0-170.684 76.814-170.684 170.688v682.626c0 93.938 76.812 170.686 170.684 170.686l682.66-0.002c93.876 0 170.656-76.746 170.656-170.688v-682.622c0-93.874-76.782-170.688-170.656-170.688zM870.592 512h-166.592v448h-192v-448h-92.526v-146.564h92.526v-95.186c0-129.342 55.792-206.25 207.87-206.25h175.244v158.57h-143.13c-42.482-0.070-47.752 22.152-47.752 63.512l-0.232 79.354h192l-25.408 146.564z"
+ ],
+ "tags": [
+ "facebook",
+ "social"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 362,
+ "order": 14,
+ "prevSize": 32,
+ "code": 58931,
+ "name": "facebook"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 51
+ },
+ {
+ "icon": {
+ "paths": [
+ "M853.342 0h-682.656c-93.874 0-170.686 76.81-170.686 170.69v682.622c0 93.938 76.812 170.688 170.686 170.688h682.656c93.876 0 170.658-76.75 170.658-170.69v-682.62c0-93.88-76.782-170.69-170.658-170.69zM838.052 341.834c0.328 7.342 0.49 14.728 0.49 22.148 0 226.214-169.216 487.068-478.658 487.068-95.004 0-183.434-28.348-257.886-76.918 13.16 1.588 26.552 2.394 40.13 2.394 78.822 0 151.358-27.37 208.934-73.282-73.616-1.38-135.744-50.876-157.154-118.882 10.274 2 20.812 3.074 31.652 3.074 15.344 0 30.206-2.096 44.32-6.008-76.96-15.732-134.95-84.916-134.95-167.856 0-0.722 0-1.438 0.016-2.152 22.68 12.82 48.624 20.52 76.2 21.41-45.142-30.698-74.842-83.092-74.842-142.488 0-31.37 8.294-60.778 22.778-86.058 82.974 103.57 206.936 171.72 346.754 178.862-2.87-12.532-4.358-25.596-4.358-39.014 0-94.538 75.326-171.18 168.23-171.18 48.39 0 92.118 20.786 122.802 54.058 38.32-7.676 74.324-21.92 106.832-41.542-12.562 39.976-39.234 73.522-73.966 94.71 34.026-4.138 66.452-13.34 96.62-26.954-22.546 34.324-51.070 64.476-83.944 88.61z"
+ ],
+ "tags": [
+ "twitter",
+ "tweet",
+ "social"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 366,
+ "order": 15,
+ "prevSize": 32,
+ "code": 58932,
+ "name": "twitter"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 52
+ },
+ {
+ "icon": {
+ "paths": [
+ "M136.294 750.93c-75.196 0-136.292 61.334-136.292 136.076 0 75.154 61.1 135.802 136.292 135.802 75.466 0 136.494-60.648 136.494-135.802-0.002-74.742-61.024-136.076-136.494-136.076zM0.156 347.93v196.258c127.784 0 247.958 49.972 338.458 140.512 90.384 90.318 140.282 211.036 140.282 339.3h197.122c-0.002-372.82-303.282-676.070-675.862-676.070zM0.388 0v196.356c455.782 0 826.756 371.334 826.756 827.644h196.856c0-564.47-459.254-1024-1023.612-1024z"
+ ],
+ "tags": [
+ "feed",
+ "rss",
+ "social"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 368,
+ "order": 17,
+ "prevSize": 32,
+ "code": 58933,
+ "name": "feed"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 53
+ },
+ {
+ "icon": {
+ "paths": [
+ "M853.34 0h-682.654c-93.876 0-170.686 76.812-170.686 170.688v682.628c0 93.934 76.812 170.684 170.688 170.684h682.652c93.876 0 170.66-76.748 170.66-170.684v-682.628c0-93.876-76.784-170.688-170.66-170.688zM278.944 831.248c-47.97 0-86.944-38.692-86.944-86.628 0-47.684 38.972-86.812 86.944-86.812 48.158 0 87.060 39.128 87.060 86.812-0.002 47.936-38.904 86.628-87.060 86.628zM497.468 831.996c0-81.81-31.808-158.818-89.46-216.444-57.714-57.75-134.376-89.626-215.904-89.626l-0-125.186c237.652 0 431.126 193.442 431.126 431.254l-125.762 0.002zM719.628 831.996c0-291.062-236.658-527.94-527.376-527.94l-0-125.248c360.002 0 652.946 293.124 652.946 653.192l-125.57-0.004z"
+ ],
+ "tags": [
+ "feed",
+ "rss",
+ "social"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 369,
+ "order": 16,
+ "prevSize": 32,
+ "code": 58934,
+ "name": "feed2"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 54
+ },
+ {
+ "icon": {
+ "paths": [
+ "M832 128h-640c-105.6 0-192 86.4-192 192v384c0 105.6 86.4 192 192 192h640c105.6 0 192-86.4 192-192v-384c0-105.6-86.4-192-192-192zM384 768v-512l320 256-320 256z"
+ ],
+ "tags": [
+ "youtube",
+ "social"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 371,
+ "order": 18,
+ "prevSize": 32,
+ "code": 58935,
+ "name": "youtube"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 55
+ },
+ {
+ "icon": {
+ "paths": [
+ "M704 394.26l-364.456-364.456c53.89-19.276 111.94-29.804 172.456-29.804 67.904 0 132.704 13.25 192 37.256v357.004zM768 704v-635.486c153.034 88.528 256 253.978 256 443.486 0 67.904-13.25 132.704-37.256 192h-218.744zM320 768h635.486c-88.528 153.034-253.978 256-443.486 256-67.904 0-132.704-13.25-192-37.256v-218.744zM426.26 224l-411.282 411.282c-9.764-39.49-14.978-80.774-14.978-123.282 0-193.382 107.226-361.702 265.452-448.808l160.808 160.808zM256 501.74v453.746c-94.596-54.722-170.036-138.848-213.874-239.872l213.874-213.874z"
+ ],
+ "tags": [
+ "picasa",
+ "social"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 381,
+ "order": 11,
+ "prevSize": 32,
+ "code": 58936,
+ "name": "picasa"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 56
+ },
+ {
+ "icon": {
+ "paths": [
+ "M512 831.892c-19.154 0-38.308-9.916-58.142-29.75-7.81-7.81-7.81-20.474 0-28.286 7.81-7.808 20.474-7.808 28.286 0 12.206 12.21 21.972 18.144 29.856 18.144 7.882 0 17.65-5.934 29.858-18.142 7.812-7.808 20.472-7.808 28.286 0 7.81 7.81 7.81 20.474 0 28.286-19.836 19.832-38.99 29.748-58.144 29.748zM0 525.492c0 49.892 4.266 95.122 12.8 135.682 8.534 40.56 20.534 75.74 36 105.532 15.466 29.792 35.022 55.904 58.666 78.34 23.644 22.436 49.332 40.92 77.066 55.458 27.734 14.536 59.466 26.296 95.2 35.266 35.732 8.974 72.088 15.256 109.066 18.846 36.978 3.59 77.69 5.384 122.134 5.384 44.444 0 85.242-1.79 122.398-5.38 37.156-3.59 73.602-9.872 109.332-18.846 35.734-8.974 67.558-20.73 95.468-35.266 27.91-14.538 53.778-33.026 77.598-55.458 23.824-22.436 43.47-48.548 58.934-78.34 15.47-29.794 27.56-64.974 36.27-105.532 8.71-40.56 13.066-85.788 13.066-135.68 0-89.38-27.736-166.372-83.2-230.982 3.2-8.616 5.954-18.486 8.266-29.614 2.308-11.128 4.532-26.832 6.664-47.112 2.138-20.282 1.336-43.704-2.398-70.264-3.734-26.564-10.754-53.664-21.066-81.302l-8-1.618c-5.332-1.076-14.042-0.718-26.132 1.080-12.086 1.794-26.222 5.022-42.398 9.69-16.176 4.664-37.066 13.908-62.668 27.728-25.598 13.818-52.62 31.318-81.066 52.496-48.356-14.718-115.020-30.116-200-30.116-84.976 0-151.822 15.396-200.53 30.114-28.446-21.18-55.556-38.588-81.334-52.228-25.78-13.642-46.402-22.974-61.868-27.998-15.468-5.024-29.778-8.256-42.934-9.69-13.156-1.436-21.602-1.886-25.334-1.346-3.732 0.538-6.488 1.166-8.266 1.884-10.314 27.64-17.424 54.74-21.336 81.304-3.91 26.56-4.8 49.892-2.666 69.992 2.134 20.102 4.444 35.898 6.934 47.382 2.49 11.486 5.334 21.358 8.534 29.614-55.466 64.25-83.2 141.242-83.2 230.98zM136.536 639.404c0-58.022 21.332-110.638 64-157.856 12.8-14.406 27.646-25.312 44.534-32.712 16.89-7.402 36.088-11.606 57.6-12.606 21.512-1 42.044-0.8 61.6 0.6 19.556 1.402 43.734 3.302 72.534 5.702 28.798 2.404 53.688 3.602 74.666 3.602 20.976 0 45.868-1.2 74.664-3.602 28.806-2.4 52.982-4.3 72.536-5.702 19.56-1.4 40.090-1.6 61.602-0.6 21.512 1.002 40.802 5.204 57.868 12.606 17.066 7.4 32 18.306 44.8 32.712 42.664 47.218 64 99.834 64 157.856 0 34.012-3.554 64.324-10.668 90.934-7.11 26.612-16.090 48.916-26.934 66.922-10.844 18.008-26.048 33.218-45.598 45.62-19.558 12.406-38.492 22.010-56.8 28.81-18.312 6.8-41.958 12.104-70.934 15.906-28.982 3.796-54.934 6.102-77.872 6.9-22.934 0.8-51.82 1.2-86.664 1.2-34.844 0-63.644-0.402-86.4-1.2-22.756-0.798-48.622-3.104-77.6-6.9-28.978-3.802-52.622-9.104-70.934-15.906-18.31-6.802-37.244-16.404-56.8-28.81-19.556-12.404-34.756-27.612-45.6-45.62-10.846-18.006-19.824-40.31-26.934-66.922-7.11-26.61-10.666-56.922-10.666-90.934zM256 608.004c0-53.019 28.654-96 64-96s64 42.981 64 96c0 53.019-28.654 96-64 96-35.346 0-64-42.981-64-96zM640 608.004c0-53.019 28.654-96 64-96s64 42.981 64 96c0 53.019-28.654 96-64 96-35.346 0-64-42.981-64-96z"
+ ],
+ "tags": [
+ "github",
+ "octacat",
+ "social"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 393,
+ "order": 6,
+ "prevSize": 32,
+ "code": 58937,
+ "name": "github"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 57
+ },
+ {
+ "icon": {
+ "paths": [
+ "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM816.056 816.056c-39.518 39.516-85.512 70.532-136.708 92.186-13.006 5.5-26.214 10.328-39.6 14.492v-76.734c0-40.334-13.834-70-41.5-89 17.334-1.666 33.25-4 47.75-7s29.834-7.334 46-13 30.666-12.416 43.5-20.25 25.166-18 37-30.5 21.75-26.666 29.75-42.5 14.334-34.834 19-57 7-46.584 7-73.25c0-51.666-16.834-95.666-50.5-132 15.334-40 13.666-83.5-5-130.5l-12.5-1.5c-8.666-1-24.25 2.666-46.75 11s-47.75 22-75.75 41c-39.666-11-80.834-16.5-123.5-16.5-43 0-84 5.5-123 16.5-17.666-12-34.416-21.916-50.25-29.75-15.834-7.834-28.5-13.166-38-16s-18.334-4.584-26.5-5.25-13.416-0.834-15.75-0.5-4 0.666-5 1c-18.666 47.334-20.334 90.834-5 130.5-33.666 36.334-50.5 80.334-50.5 132 0 26.666 2.334 51.084 7 73.25s11 41.166 19 57 17.916 30 29.75 42.5 24.166 22.666 37 30.5 27.334 14.584 43.5 20.25 31.5 10 46 13 30.416 5.334 47.75 7c-27.334 18.666-41 48.334-41 89v78.23c-15.098-4.494-29.98-9.804-44.6-15.988-51.194-21.654-97.188-52.67-136.706-92.186-39.516-39.518-70.534-85.512-92.186-136.708-22.398-52.958-33.756-109.262-33.756-167.348s11.358-114.39 33.758-167.35c21.654-51.194 52.67-97.188 92.186-136.706s85.512-70.534 136.706-92.186c52.96-22.4 109.264-33.758 167.35-33.758s114.39 11.358 167.35 33.758c51.196 21.654 97.19 52.67 136.708 92.186 39.516 39.516 70.532 85.512 92.186 136.706 22.398 52.96 33.756 109.264 33.756 167.35s-11.358 114.39-33.758 167.35c-21.654 51.194-52.67 97.19-92.186 136.706z"
+ ],
+ "tags": [
+ "github",
+ "octacat",
+ "social"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 394,
+ "order": 7,
+ "prevSize": 32,
+ "code": 58938,
+ "name": "github2"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 58
+ },
+ {
+ "icon": {
+ "paths": [
+ "M263.472 759.368c0 27.052 22.894 40.582 68.668 40.582 40.064 0 60.088-14.042 60.088-42.134 0-26.538-21.846-39.796-65.544-39.796-42.146-0.004-63.212 13.776-63.212 41.348zM853.348 0h-682.66c-93.876 0-170.688 76.81-170.688 170.688v682.626c0 93.936 76.812 170.686 170.688 170.686h682.66c93.868 0 170.652-76.75 170.652-170.688v-682.624c0-93.878-76.782-170.688-170.652-170.688zM475.728 408.988c-7.284 2.604-17.688 5.458-31.212 8.586 4.16 11.966 6.246 23.152 6.246 33.554 0 33.292-10.018 62.298-30.044 87.012-20.030 24.708-45.912 39.406-77.646 44.086-20.804 3.126-31.208 14.312-31.208 33.558 0 6.762 3.378 13.53 10.144 20.29 8.844 9.886 21.848 16.132 39.018 18.734 74.39 11.442 111.586 42.394 111.586 92.854 0 80.642-48.124 120.962-144.362 120.962-39.542 0-72.056-7.026-97.544-21.070-32.258-17.688-48.376-45.52-48.376-83.5 0-43.704 24.192-73.616 72.564-89.738v-1.56c-17.684-10.924-26.526-27.57-26.526-49.944 0-29.132 8.324-47.344 24.968-54.622v-1.562c-16.646-5.724-31.474-18.732-44.48-39.024-14.564-21.852-21.85-45.26-21.85-70.23 0-37.458 13.27-68.67 39.792-93.64 25.496-23.414 55.928-35.116 91.306-35.116 25.494 0 49.158 6.238 71.010 18.722 24.97 0 53.842-6.24 86.626-18.722l-0.012 80.37zM602.178 678.994h-88.186c1.042-10.402 1.558-28.084 1.558-53.064v-242.692c0-24.454-0.522-41.364-1.558-50.718h88.186c-1.042 9.884-1.562 26.27-1.562 49.164v239.564c0 26.534 0.522 45.784 1.562 57.746zM596.318 254.482c-10.664 11.444-23.282 17.162-37.846 17.162-15.086 0-27.958-5.718-38.626-17.162-10.666-11.452-16.002-24.972-16.002-40.578 0-16.134 5.336-29.912 16.002-41.366 10.666-11.442 23.54-17.168 38.626-17.168 14.564 0 27.184 5.726 37.846 17.168 10.666 11.456 15.998 25.23 15.998 41.366 0 15.606-5.332 29.128-15.998 40.578zM841.69 668.848c-19.254 10.41-42.406 15.606-69.458 15.606-37.97 0-64.248-13.52-78.81-40.574-10.93-20.29-16.386-52.28-16.386-95.98v-139.684h0.778v-1.562l-11.706-0.782c-6.764 0-15.612 0.782-26.534 2.342l-0-75.694h38.234v-30.432c0-14.57-0.778-26.28-2.34-35.12h90.518c-1.55 9.88-2.336 21.066-2.336 33.552v31.998h67.886v75.692c-2.598 0-7.41-0.258-14.436-0.778-7.024-0.522-13.656-0.786-19.898-0.786h-33.554v145.144c0 34.864 11.45 52.29 34.334 52.29 16.126 0 30.696-4.418 43.708-13.264l0 78.032zM321.216 400.406c-32.776 0-49.164 19.254-49.164 57.746 0 35.902 16.388 53.848 49.164 53.848 31.736 0 47.602-18.208 47.602-54.626 0-15.090-3.64-28.094-10.922-39.022-8.846-11.962-21.074-17.946-36.68-17.946z"
+ ],
+ "tags": [
+ "github",
+ "social"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 396,
+ "order": 5,
+ "prevSize": 32,
+ "code": 58939,
+ "name": "github3"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 59
+ },
+ {
+ "icon": {
+ "paths": [
+ "M567.656 736.916c-81.944 38.118-158.158 37.716-209.34 34.020-61.052-4.41-110.158-21.124-131.742-35.732-13.3-9.006-31.384-5.522-40.39 7.782-9.004 13.302-5.52 31.386 7.782 40.39 34.698 23.486 96.068 40.954 160.162 45.58 10.866 0.784 22.798 1.278 35.646 1.278 55.782 0 126.626-5.316 202.42-40.57 14.564-6.778 20.878-24.074 14.104-38.64-6.776-14.566-24.076-20.872-38.642-14.108zM890.948 693.816c2.786-252.688 28.762-730.206-454.97-691.612-477.6 38.442-350.964 542.968-358.082 711.95-6.308 89.386-35.978 198.648-77.896 309.846h129.1c13.266-47.122 23.024-93.72 27.232-138.15 7.782 5.428 16.108 10.674 24.994 15.7 14.458 8.518 26.884 19.844 40.040 31.834 30.744 28.018 65.59 59.774 133.712 63.752 4.572 0.262 9.174 0.394 13.676 0.394 68.896 0 116.014-30.154 153.878-54.382 18.14-11.612 33.818-21.64 48.564-26.452 41.91-13.12 78.532-34.296 105.904-61.252 4.276-4.208 8.242-8.538 11.962-12.948 15.246 55.878 36.118 118.758 59.288 181.504h275.65c-66.174-102.224-134.436-202.374-133.052-330.184zM124.11 556.352c0-0.016 0-0.030-0.002-0.046-4.746-82.462 34.71-151.832 88.126-154.936 53.412-3.106 100.56 61.228 105.304 143.692 0 0.014 0.004 0.030 0.004 0.044 0.256 4.446 0.368 8.846 0.37 13.206-16.924 4.256-32.192 10.436-45.872 17.63-0.052-0.612-0.092-1.216-0.152-1.83 0-0.008 0-0.018 0-0.026-4.57-46.81-29.572-82.16-55.852-78.958-26.28 3.204-43.88 43.75-39.312 90.558 0 0.010 0.004 0.018 0.004 0.026 1.992 20.408 7.868 38.636 16.042 52.444-2.034 1.604-7.784 5.812-14.406 10.656-4.97 3.634-11.020 8.058-18.314 13.43-19.882-26.094-33.506-63.58-35.94-105.89zM665.26 760.178c-1.9 43.586-58.908 84.592-111.582 101.044l-0.296 0.096c-21.9 7.102-41.428 19.6-62.104 32.83-34.732 22.224-70.646 45.208-122.522 45.208-3.404 0-6.894-0.104-10.326-0.296-47.516-2.778-69.742-23.032-97.88-48.676-14.842-13.526-30.19-27.514-49.976-39.124l-0.424-0.244c-42.706-24.104-69.212-54.082-70.908-80.194-0.842-12.98 4.938-24.218 17.182-33.4 26.636-19.972 44.478-33.022 56.284-41.658 13.11-9.588 17.068-12.48 20-15.264 2.096-1.986 4.364-4.188 6.804-6.562 24.446-23.774 65.36-63.562 128.15-63.562 38.404 0 80.898 14.8 126.17 43.902 21.324 13.878 39.882 20.286 63.38 28.4 16.156 5.578 34.468 11.902 58.992 22.404l0.396 0.164c22.88 9.404 49.896 26.564 48.66 54.932zM652.646 657.806c-4.4-2.214-8.974-4.32-13.744-6.286-22.106-9.456-39.832-15.874-54.534-20.998 8.116-15.894 13.16-35.72 13.624-57.242 0-0.010 0-0.022 0-0.030 1.126-52.374-25.288-94.896-58.996-94.976-33.71-0.078-61.95 42.314-63.076 94.686 0 0.010 0 0.018 0 0.028-0.038 1.714-0.042 3.416-0.020 5.11-20.762-9.552-41.18-16.49-61.166-20.76-0.092-1.968-0.204-3.932-0.244-5.92 0-0.016 0-0.036 0-0.050-1.938-95.412 56.602-174.39 130.754-176.402 74.15-2.014 135.828 73.7 137.772 169.11 0 0.018 0 0.038 0 0.052 0.874 43.146-10.66 82.866-30.37 113.678z"
+ ],
+ "tags": [
+ "tux",
+ "linux"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 405,
+ "order": 4,
+ "prevSize": 32,
+ "code": 58940,
+ "name": "tux"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 60
+ },
+ {
+ "icon": {
+ "paths": [
+ "M791.498 544.092c-1.294-129.682 105.758-191.876 110.542-194.966-60.152-88.020-153.85-100.078-187.242-101.472-79.742-8.074-155.596 46.948-196.066 46.948-40.368 0-102.818-45.754-168.952-44.552-86.916 1.292-167.058 50.538-211.812 128.38-90.304 156.698-23.126 388.84 64.89 515.926 43.008 62.204 94.292 132.076 161.626 129.58 64.842-2.588 89.362-41.958 167.756-41.958 78.394 0 100.428 41.958 169.050 40.67 69.774-1.296 113.982-63.398 156.692-125.796 49.39-72.168 69.726-142.038 70.924-145.626-1.548-0.706-136.060-52.236-137.408-207.134zM662.562 163.522c35.738-43.358 59.86-103.512 53.28-163.522-51.478 2.096-113.878 34.29-150.81 77.55-33.142 38.376-62.148 99.626-54.374 158.436 57.466 4.484 116.128-29.204 151.904-72.464z"
+ ],
+ "tags": [
+ "apple"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 406,
+ "order": 3,
+ "prevSize": 32,
+ "code": 58941,
+ "name": "apple"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 61
+ },
+ {
+ "icon": {
+ "paths": [
+ "M864 320c-35.2 0-64 28.8-64 64v256c0 35.2 28.8 64 64 64s64-28.8 64-64v-256c0-35.2-28.8-64-64-64zM96 320c-35.2 0-64 28.8-64 64v256c0 35.2 28.8 64 64 64s64-28.8 64-64v-256c0-35.2-28.802-64-64-64zM192 736c0 53.020 42.98 96 96 96h32v128c0 35.2 28.8 64 64 64s64-28.8 64-64v-128h64v128c0 35.2 28.802 64 64 64s64-28.8 64-64v-128h32c53.020 0 96-42.98 96-96v-352h-576v352zM598.598 89.494l40.504-77.806c2.032-3.902 0.5-8.758-3.402-10.79s-8.758-0.5-10.79 3.402l-41.118 78.986c-32.198-12.448-67.194-19.286-103.792-19.286-36.596 0-71.592 6.838-103.796 19.286l-41.116-78.984c-2.032-3.902-6.886-5.434-10.79-3.402s-5.434 6.886-3.402 10.79l40.5 77.808c-90.63 41.018-156.24 127.584-167.62 230.504h572.44c-11.376-102.924-76.986-189.488-167.618-230.508zM352 270.4c-25.626 0-46.4-20.774-46.4-46.4s20.774-46.4 46.4-46.4 46.4 20.774 46.4 46.4c-0.002 25.626-20.774 46.4-46.4 46.4zM608 270.4c-25.626 0-46.402-20.774-46.402-46.4s20.778-46.4 46.402-46.4 46.398 20.774 46.398 46.4c0 25.626-20.772 46.4-46.398 46.4z"
+ ],
+ "tags": [
+ "android",
+ "os",
+ "mobile"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 408,
+ "order": 2,
+ "prevSize": 32,
+ "code": 58942,
+ "name": "android"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 62
+ },
+ {
+ "icon": {
+ "paths": [
+ "M0.35 512l-0.35-312.074 384-52.144v364.218zM448 138.482l511.872-74.482v448h-511.872zM959.998 576l-0.126 448-511.872-72.016v-375.984zM384 943.836l-383.688-52.594-0.020-315.242h383.708z"
+ ],
+ "tags": [
+ "windows8",
+ "os"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 410,
+ "order": 1,
+ "prevSize": 32,
+ "code": 58943,
+ "name": "windows8"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 63
+ },
+ {
+ "icon": {
+ "paths": [
+ "M880.634 130.774c25.698 12.576 48.094 30.486 64.502 52.482 34.536 46.3 44.236 109.372 28.836 187.466-15.56 79.026-50.416 145.734-101.166 194.044-9.282 9.702-19.222 18.746-29.804 27.080-54.356 42.802-122.998 65.428-198.508 65.428l-240.060 0-64.564 302.726h-132.424l10.086-46.3h46.128l64.564-302.726h188.27c180.25 0 330.938-111.078 371.258-299.936 45.722-213.834-107.598-311.038-239.41-311.038h-449.278l-199.064 913.7h152.032l-24.032 110.3h263.66l64.564-302.726h188.27c180.25 0 330.938-111.078 371.258-299.936 33.716-157.68-40.804-251.932-135.118-290.564zM422.344 186.082h129.132c64.592 0 107.602 55.538 88.786 124.956-16.136 69.44-83.386 124.976-150.64 124.976h-123.758l56.48-249.932z"
+ ],
+ "tags": [
+ "paypal",
+ "donate"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 429,
+ "order": 8,
+ "prevSize": 32,
+ "code": 58944,
+ "name": "paypal"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 64
+ },
+ {
+ "icon": {
+ "paths": [
+ "M416 128h96v64h-96zM320 192h96v64h-96zM416 256h96v64h-96zM320 320h96v64h-96zM416 384h96v64h-96zM320 448h96v64h-96zM416 512v64h-96v224c0 17.674 14.326 32 32 32h128c17.674 0 32-14.326 32-32v-288h-96zM480 768h-128v-64h128v64zM903.432 199.43l-142.864-142.862c-31.112-31.112-92.568-56.568-136.568-56.568h-480c-44 0-80 36-80 80v864c0 44 36 80 80 80h736c44 0 80-36 80-80v-608c0-44-25.456-105.458-56.568-136.57zM858.178 244.686c3.13 3.13 6.25 6.974 9.28 11.314h-163.458v-163.456c4.34 3.030 8.184 6.15 11.314 9.28l142.864 142.862zM896 944c0 8.672-7.328 16-16 16h-736c-8.672 0-16-7.328-16-16v-864c0-8.672 7.328-16 16-16h480c4.832 0 10.254 0.61 16 1.704v254.296h254.296c1.094 5.746 1.704 11.166 1.704 16v608z"
+ ],
+ "tags": [
+ "file-zip",
+ "zip"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 438,
+ "order": 9,
+ "prevSize": 32,
+ "code": 58945,
+ "name": "file-zip"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 65
+ },
+ {
+ "icon": {
+ "paths": [
+ "M384 611.446v-114.226c0-15.128 6.696-29.436 18.854-40.286 12.16-10.848 28.192-16.826 45.146-16.826v-57.11c-70.4 0-128 51.4-128 114.222v85.666c0 15.772-14.328 28.558-32 28.558h-32v57.11h32c17.674 0 32 12.79 32 28.558v85.676c0 62.814 57.6 114.214 128 114.214v-57.112c-16.954 0-32.988-5.976-45.146-16.826-12.158-10.852-18.854-25.154-18.854-40.278v-114.234c0-15.77-14.328-28.554-32-28.554 17.674 0.002 32-12.788 32-28.552zM640 668.554v114.234c0 15.124-6.696 29.426-18.854 40.278-12.158 10.85-28.19 16.826-45.146 16.826v57.112c70.402 0 128-51.4 128-114.214v-85.676c0-15.772 14.328-28.558 32-28.558h32v-57.11h-32c-17.672 0-32-12.79-32-28.558v-85.668c0-62.824-57.598-114.222-128-114.222v57.11c16.958 0 32.988 5.978 45.146 16.83 12.16 10.848 18.854 25.156 18.854 40.284v114.228c0 15.766 14.328 28.552 32 28.552-17.672-0.002-32 12.788-32 28.552zM903.432 199.43l-142.864-142.862c-31.112-31.112-92.568-56.568-136.568-56.568h-480c-44 0-80 36-80 80v864c0 44 36 80 80 80h736c44 0 80-36 80-80v-608c0-44-25.456-105.458-56.568-136.57zM858.178 244.686c3.13 3.13 6.25 6.974 9.28 11.314h-163.458v-163.456c4.34 3.030 8.184 6.15 11.314 9.28l142.864 142.862zM896 944c0 8.672-7.328 16-16 16h-736c-8.672 0-16-7.328-16-16v-864c0-8.672 7.328-16 16-16h480c4.832 0 10.254 0.61 16 1.704v254.296h254.296c1.094 5.746 1.704 11.166 1.704 16v608z"
+ ],
+ "tags": [
+ "file-css",
+ "file",
+ "format",
+ "code",
+ "css"
+ ],
+ "grid": 16,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 441,
+ "order": 10,
+ "prevSize": 32,
+ "code": 58946,
+ "name": "file-css"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 66
+ },
+ {
+ "icon": {
+ "paths": [
+ "M526.857 455.429v104c0 20.571 4 39.429-21.714 38.857v-176.571c25.143 0 21.714 13.143 21.714 33.714zM707.429 510.286v69.143c0 11.429 3.429 30.286-13.143 30.286-3.429 0-6.286-1.714-8-5.143-4.571-10.857-2.286-93.143-2.286-94.286 0-8-2.286-26.857 10.286-26.857 15.429 0 13.143 15.429 13.143 26.857zM102.857 645.143h69.714v-269.714h-69.714v269.714zM350.857 645.143h60.571v-269.714h-90.857l-16 126.286c-5.714-42.286-11.429-84.571-18.286-126.286h-90.286v269.714h61.143v-178.286l25.714 178.286h43.429l24.571-182.286v182.286zM593.714 470.857c0-17.143 0.571-35.429-2.857-51.429-9.143-47.429-66.286-44-103.429-44h-52v269.714c181.714 0 158.286 12.571 158.286-174.286zM774.857 583.429v-76c0-36.571-1.714-63.429-46.857-63.429-18.857 0-31.429 5.714-44 19.429v-88h-66.857v269.714h62.857l4-17.143c12 14.286 25.143 20.571 44 20.571 41.714 0 46.857-32 46.857-65.143zM877.714 164.571v694.857c0 50.286-41.143 91.429-91.429 91.429h-694.857c-50.286 0-91.429-41.143-91.429-91.429v-694.857c0-50.286 41.143-91.429 91.429-91.429h694.857c50.286 0 91.429 41.143 91.429 91.429z"
+ ],
+ "attrs": [
+ {}
+ ],
+ "width": 878,
+ "isMulticolor": false,
+ "isMulticolor2": false,
+ "tags": [
+ "imdb"
+ ],
+ "grid": 14
+ },
+ "attrs": [
+ {}
+ ],
+ "properties": {
+ "order": 1,
+ "id": 0,
+ "name": "imdb",
+ "prevSize": 28,
+ "code": 59649
+ },
+ "setIdx": 1,
+ "setId": 2,
+ "iconIdx": 0
+ },
+ {
+ "icon": {
+ "paths": [
+ "M1230.2 11.537h-1178.505c-16.134 0-29.219 13.085-29.219 29.219v813.28c0 16.134 13.085 29.203 29.219 29.203h443.167v70.082c0 1.011 0.199 1.977 0.306 2.957h-63.601c-14.786 0-26.782 11.997-26.782 26.782s11.997 26.798 26.782 26.798h433.422c14.786 0 26.782-11.997 26.782-26.798 0-14.786-11.997-26.782-26.782-26.782h-63.601c0.092-0.965 0.322-1.946 0.322-2.957v-70.082h428.55c16.149 0 29.219-13.085 29.219-29.203v-813.28c-0.046-16.134-13.131-29.219-29.28-29.219zM1176.635 726.558c0 16.134-13.085 29.219-29.219 29.219h-1012.938c-16.134 0-29.219-13.085-29.219-29.219v-616.655c0-16.134 13.085-29.219 29.219-29.219h1012.938c16.134 0 29.219 13.085 29.219 29.219v616.655z",
+ "M139.489 109.903h1004.541v617.866h-1004.541v-617.866z"
+ ],
+ "attrs": [
+ {
+ "fill": "rgb(189, 189, 189)",
+ "opacity": 1,
+ "visibility": false
+ },
+ {
+ "fill": "rgb(223, 223, 223)",
+ "opacity": 1,
+ "visibility": false
+ }
+ ],
+ "width": 1279,
+ "grid": 0,
+ "tags": [
+ "flatscreen"
+ ]
+ },
+ "attrs": [
+ {
+ "fill": "rgb(189, 189, 189)",
+ "opacity": 1,
+ "visibility": false
+ },
+ {
+ "fill": "rgb(223, 223, 223)",
+ "opacity": 1,
+ "visibility": false
+ }
+ ],
+ "properties": {
+ "order": 74,
+ "id": 6,
+ "prevSize": 32,
+ "code": 58880,
+ "name": "flatscreen"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 0
+ },
+ {
+ "icon": {
+ "paths": [
+ "M1029.404 380.622v643.378h-1029.404v-557.597h85.781l85.79-85.781h85.781l-85.781 85.781h128.676l85.781-85.781h85.781l-85.781 85.781h128.676l85.79-85.781h85.771l-85.771 85.781h128.676l85.771-85.781h85.79l-85.79 85.781h128.676l85.79-85.781zM957.254 0l-81.764 25.91 107.665 55.891-25.901-81.801zM42.895 423.517c23.695 0 42.895-19.2 42.895-42.895s-19.2-42.895-42.895-42.895c-23.685 0-42.895 19.2-42.895 42.895s19.2 42.895 42.895 42.895zM164.962 340.733l53.823 27.923 776.456-246.074-12.711-40.965-122.462 38.814-107.242-55.634-81.792 25.91 107.306 55.634-122.674 38.869-107.306-55.643-81.755 25.91 107.26 55.661-122.665 38.869-107.269-55.625-81.792 25.91 107.315 55.634-122.72 38.888-107.214-55.661-81.782 25.901 107.223 55.68z"
+ ],
+ "attrs": [
+ {
+ "visibility": false
+ }
+ ],
+ "width": 1029,
+ "grid": 0,
+ "tags": [
+ "clapperboard"
+ ]
+ },
+ "attrs": [
+ {
+ "visibility": false
+ }
+ ],
+ "properties": {
+ "order": 73,
+ "id": 5,
+ "prevSize": 32,
+ "code": 58881,
+ "name": "clapperboard"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 1
+ },
+ {
+ "icon": {
+ "paths": [
+ "M1010.029 516.895c-3.176 10.312-10.144 17.862-17.605 25.295-49.987 49.819-99.818 99.806-149.697 149.721-17.974 17.982-37.181 17.934-55.224-0.129-51.481-51.521-102.966-103.034-154.427-154.564-17.532-17.557-17.524-36.719 0.052-54.316 51.754-51.826 103.516-103.645 155.291-155.439 16.846-16.858 36.635-16.862 53.481-0.016 50.192 50.2 100.308 100.476 150.584 150.572 7.465 7.441 14.4 15.023 17.545 25.339-0 4.514-0 9.023-0 13.537z",
+ "M513.819 999.561c-10.264-3.265-17.701-10.369-25.102-17.814-49.774-50.027-99.701-99.902-149.572-149.833-17.846-17.87-17.866-36.936-0.060-54.766 51.618-51.662 103.235-103.32 154.869-154.973 17.163-17.167 36.828-17.231 53.899-0.149 51.626 51.654 103.247 103.32 154.857 154.989 17.729 17.757 17.781 37.209 0.124 54.874-50.305 50.361-100.693 100.653-150.881 151.122-7.184 7.22-14.573 13.714-24.588 16.545-4.514 0.004-9.027 0.004-13.545 0.004z",
+ "M332.663 386.337c0-57.436 0.518-114.881-0.325-172.309-0.245-16.625 3.727-29.612 16.42-40.574 10.212-8.826 19.263-19.006 28.829-28.588 37.84-37.88 75.676-75.764 113.527-113.628 17.798-17.798 36.997-17.785 54.786 0.008 51.485 51.501 102.966 103.014 154.439 154.528 17.681 17.697 17.669 37.161-0.012 54.866-60.878 60.954-121.78 121.9-182.674 182.85-53.774 53.826-107.54 107.657-161.322 161.479-9.963 9.967-18.789 7.646-22.412-6.172-1.116-4.273-1.205-8.911-1.209-13.38-0.072-59.689-0.048-119.386-0.048-179.080z",
+ "M209.547 510.799c0 52.714 0.076 105.436-0.104 158.15-0.020 5.004-0.815 10.304-2.606 14.954-3.518 9.152-10.124 10.288-17.031 3.393-24.243-24.203-48.417-48.473-72.616-72.712-27.969-28.021-55.947-56.031-83.904-84.068-11.573-11.597-11.625-27.696-0.096-39.354 51.481-52.075 102.974-104.139 154.491-156.19 3.409-3.441 6.618-8.112 12.404-5.923 5.534 2.088 7.718 7.080 8.505 12.613 0.49 3.429 0.879 6.915 0.883 10.373 0.052 52.923 0.036 105.849 0.036 158.772 0.012-0.008 0.024-0.008 0.036-0.008z"
+ ],
+ "attrs": [
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ }
+ ],
+ "width": 1040,
+ "grid": 0,
+ "tags": [
+ "kodi-symbol"
+ ]
+ },
+ "attrs": [
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ }
+ ],
+ "properties": {
+ "order": 72,
+ "id": 4,
+ "prevSize": 32,
+ "code": 58882,
+ "name": "kodi-symbol"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 2
+ },
+ {
+ "icon": {
+ "paths": [
+ "M1323.932 19.879c8.823 0.554 17.647 1.109 26.455 1.709 67.646 4.666 132.304 20.526 192.712 51.924 43.177 22.436 81.458 51.477 115.581 86.108 37.064 37.588 67.723 79.749 90.82 127.299 16.938 34.893 28.703 71.526 36.849 109.406 9.978 46.426 13.274 93.423 11.287 140.742-3.187 75.884-19.972 148.442-55.758 215.949-24.961 47.104-57.498 88.434-96.21 124.99-62.071 58.622-134.829 96.872-218.397 114.565-30.936 6.56-62.148 10.656-93.746 11.657-1.447 0.046-2.864 0.462-4.281 0.693-12.411 0-24.807 0-37.203 0-8.069-0.554-16.153-1.139-24.222-1.709-96.81-7.006-185.152-36.926-261.713-97.842-60.424-48.074-107.743-106.742-140.019-177.144-16.415-35.786-27.363-73.297-34.693-111.932-8.3-43.686-10.918-87.802-8.7-132.134 4.666-93.315 29.242-180.44 83.383-257.663 63.365-90.343 146.224-154.586 253.197-185.644 32.599-9.47 65.829-15.768 99.721-18.386 10.733-0.832 21.496-1.247 32.244-1.909 1.755-0.092 3.495-0.447 5.235-0.678 9.147-0 18.309-0 27.456-0zM1309.226 878.299c34.4-0.308 67.707-3.095 100.367-11.179 71.141-17.57 130.302-54.464 177.329-110.731 47.997-57.421 72.958-124.143 79.733-198.132 2.325-25.315 2.587-50.692 1.078-76.084-1.617-27.563-5.266-54.849-12.581-81.504-22.836-83.26-69.601-149.673-141.451-197.717-53.71-35.925-113.826-52.37-177.945-55.542-35.047-1.725-69.894-0.154-104.448 6.129-60.362 10.948-114.072 35.894-160.36 76.438-44.902 39.328-77.316 87.094-97.411 143.268-15.198 42.5-21.281 86.524-21.927 131.457-0.508 34.924 1.925 69.586 9.547 103.709 13.766 61.548 41.422 115.904 84.661 162.223 38.142 40.837 83.491 70.233 136.338 88.233 41.484 14.151 84.368 18.956 127.068 19.433z",
+ "M3074.341 982.778c-3.649 8.793-6.437 10.594-16.369 10.594-32.475 0-64.966 0.015-97.442 0-11.441 0-15.676-4.235-15.676-15.737 0-310.049 0-620.082 0-930.115 0-11.934 4.204-16.076 16.307-16.091 32.475 0 64.966-0.123 97.426 0.169 4.004 0.031 8.392 1.617 11.811 3.742 2.094 1.293 2.695 4.958 3.957 7.576-0.015 313.282-0.015 626.565-0.015 939.863z",
+ "M425.229 421.611c16.399 21.773 32.629 43.331 48.844 64.889 34.4 45.734 68.816 91.467 103.232 137.201 44.255 58.822 88.495 117.629 132.75 176.436 43.362 57.637 86.709 115.273 130.133 172.864 3.203 4.235 4.604 8.562 2.294 13.474-2.325 4.974-6.868 6.591-11.995 6.883-2.356 0.139-4.712 0.015-7.083 0.015-40.005 0-80.011-0.031-120.016 0.046-6.837 0.015-11.872-2.264-16.138-7.992-75.468-100.829-151.090-201.582-226.681-302.349-42.946-57.221-85.893-114.411-128.839-171.616-0.354-0.477-0.755-0.893-1.386-1.617-5.205 4.866-10.379 9.655-15.522 14.475-34.816 32.568-69.617 65.136-104.448 97.688-19.202 17.939-38.388 35.878-57.698 53.695-2.495 2.294-3.511 4.558-3.511 7.961 0.077 97.442 0.062 194.883 0.062 292.325 0 1.17 0.031 2.356 0 3.526-0.246 8.931-4.789 13.797-13.72 13.812-34.108 0.139-68.215 0.108-102.308 0.015-8.654-0.031-13.212-4.897-13.381-13.581-0.031-1.032-0.015-2.079-0.015-3.095 0-309.448 0-618.881 0-928.314 0-0.308 0-0.601 0-0.893 0.046-11.734 4.281-16.014 15.937-16.014 31.151-0.015 62.302-0.015 93.453-0.015 2.063 0 4.142-0.062 6.19 0.015 9.024 0.416 13.458 4.851 13.843 13.828 0.062 1.34 0 2.664 0 3.988 0 149.997 0 299.994 0 449.975 0 1.725 0 3.434 0 6.236 7.73-7.206 14.721-13.705 21.65-20.203 41.114-38.573 82.213-77.193 123.342-115.735 53.941-50.569 107.943-101.076 161.884-151.66 45.225-42.392 90.405-84.83 135.615-127.238 19.048-17.893 38.157-35.709 57.144-53.648 3.973-3.757 8.5-5.574 13.92-5.574 47.689 0.015 95.363 0 143.052 0.015 8.13 0 12.719 2.941 14.428 9.008 1.417 5.020-0.508 8.931-4.034 12.288-13.797 13.12-27.594 26.224-41.437 39.297-24.484 23.082-49.013 46.134-73.497 69.216-33.954 31.983-67.877 63.965-101.799 95.979-34.77 32.814-69.493 65.675-104.279 98.489-23.159 21.881-46.411 43.716-69.986 65.906z",
+ "M1945.646 512.508c0-154.416 0-308.863 0-463.279 0-1.34-0.015-2.664 0-3.988 0.169-8.746 4.573-13.32 13.274-13.797 0.585-0.031 1.186-0.015 1.771-0.015 132.442 0.015 264.87-0.323 397.297 0.185 60.916 0.231 119.2 13.905 174.804 38.789 48.367 21.635 90.882 51.785 127.792 89.727 60.131 61.779 100.090 134.644 119.723 218.705 11.302 48.397 15.984 97.411 14.952 146.994-1.386 66.598-12.935 131.257-38.188 193.128-21.081 51.647-51.262 97.519-89.28 138.263-58.391 62.533-129.286 103.616-212.376 123.758-35.863 8.669-72.188 12.55-109.083 12.519-128.3-0.216-256.601-0.077-384.901-0.092-2.202 0-4.419-0.154-6.575-0.477-4.743-0.755-7.684-3.603-8.515-8.315-0.447-2.448-0.647-4.958-0.647-7.437-0.046-154.924-0.046-309.787-0.046-464.665zM2075.209 869.553c2.202 0 3.957 0 5.713 0 86.216 0 172.432 0.077 258.649-0.077 15.475-0.031 30.982-0.678 46.411-1.894 32.029-2.51 62.564-10.995 91.775-24.376 38.188-17.493 70.248-42.962 97.873-74.406 25.746-29.319 46.072-61.933 61.070-97.904 15.953-38.281 24.53-78.24 27.717-119.539 2.91-37.696 1.725-75.191-3.942-112.532-6.729-44.132-21.065-85.739-43.254-124.512-24.668-43.1-56.466-79.995-97.318-108.513-48.906-34.138-103.801-50.030-163.085-50.307-92.268-0.447-184.551-0.154-276.819-0.169-1.555 0-3.126 0-4.804 0 0.015 238.292 0.015 475.937 0.015 714.228z"
+ ],
+ "attrs": [
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ }
+ ],
+ "width": 3091,
+ "grid": 0,
+ "tags": [
+ "kodi-text"
+ ]
+ },
+ "attrs": [
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ }
+ ],
+ "properties": {
+ "order": 71,
+ "id": 3,
+ "prevSize": 32,
+ "code": 58883,
+ "name": "kodi-text"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 3
+ },
+ {
+ "icon": {
+ "paths": [
+ "M849.719 835.246c-27.065-11.106-49.364-28.595-47.79-62.087 1.574-33.448-23.917-55.572-23.917-55.572s22.343-73.28 1.574-133.75c-20.681-60.513-89.108-157.579-141.62-230.728-52.381-73.28-7.87-157.666-55.572-265.838-47.79-108.171-171.876-101.832-238.729-55.66-66.897 46.084-46.216 160.639-43.067 214.856 3.192 54.042 1.443 92.562-4.678 106.554-6.34 13.991-49.32 65.323-78.002 108.259-28.639 42.936-49.32 132.088-70.132 168.685-20.681 36.596-6.34 70.001-6.34 70.001s-14.341 4.722-25.491 28.726c-11.149 23.785-33.405 34.935-73.193 42.805-39.788 7.958-39.788 33.536-30.257 62.175 9.575 28.595 0.044 44.598-11.106 81.063s44.554 47.79 98.64 53.998c54.129 6.384 114.599 41.406 165.58 47.79 50.85 6.384 66.809-34.979 66.809-34.979s57.278-12.811 117.659-14.298c60.557-1.618 117.703 12.723 117.703 12.723s11.149 25.447 31.831 36.553c20.769 11.149 65.279 12.767 93.918-17.358 28.682-30.3 105.067-68.427 148.003-92.387 43.111-23.917 35.241-60.469 8.176-71.531zM477.284 133.444c27.283 0 49.32 27.065 49.32 60.426 0 23.698-11.062 44.117-27.196 54.042-4.11-1.793-8.395-3.629-13.030-5.597 9.75-4.81 16.615-17.183 16.615-31.612 0-18.801-11.63-34.060-26.015-34.060-14.21 0-25.884 15.303-25.884 34.060 0 6.952 1.661 13.642 4.504 19.107-8.439-3.367-16.309-6.515-22.43-8.832-3.323-8.133-5.203-17.314-5.203-27.108 0-33.361 22.037-60.426 49.32-60.426zM473.742 260.853c13.685 4.722 28.814 13.598 27.24 22.386-1.618 8.832-8.788 8.832-27.24 20.113-18.495 11.193-58.546 36.028-71.356 37.646-12.898 1.618-20.069-5.597-33.711-14.385-13.642-8.832-39.307-29.776-32.836-40.925 0 0 19.982-15.303 28.726-23.305 8.832-8.045 31.35-27.24 44.948-24.747 13.685 2.317 50.588 18.408 64.23 23.217zM350.748 143.019c21.512 0 39.001 25.622 39.001 57.234 0 5.815-0.568 11.193-1.661 16.396-5.247 1.793-10.581 4.678-15.697 9.051-2.667 2.142-4.984 4.154-7.214 6.165 3.41-6.384 4.766-15.478 3.236-25.053-2.886-17.271-14.385-29.863-25.797-28.070-11.368 1.968-18.233 17.489-15.347 34.847 2.929 17.358 14.385 29.95 25.753 28.070 0.656-0.131 1.268-0.306 1.924-0.525-5.553 5.334-10.668 9.925-15.872 13.817-15.74-7.302-27.283-29.032-27.283-54.742 0-31.612 17.446-57.19 38.957-57.19zM308.73 947.134c-5.072 22.824-31.831 39.395-31.831 39.395-24.223 7.608-91.557-21.599-122.075-34.41-30.431-12.636-108.084-16.571-118.272-27.852-10.056-11.587 5.072-36.99 8.963-61.038 3.76-24.266-7.608-39.438-3.848-56.010 3.848-16.484 53.43-16.484 72.45-27.939 19.107-11.456 22.867-44.51 38.17-53.386 15.259-8.963 43.199 22.78 54.654 40.706 11.412 17.708 54.654 94.049 72.45 113.112s34.41 44.598 29.338 67.421zM590.177 725.37c-4.547 22.43-4.547 103.493-4.547 103.493s-49.32 68.34-125.792 79.533c-76.385 11.193-114.599 3.148-114.599 3.148l-42.936-49.276c0 0 33.361-4.853 28.639-38.258-4.81-33.448-101.832-79.576-119.365-121.026-17.402-41.319-3.104-111.451 19.151-146.473 22.211-34.891 36.465-111.232 58.764-136.767 22.299-25.36 39.744-79.489 31.831-103.406 0 0 47.746 57.321 81.063 47.833 33.405-9.575 108.346-65.323 119.365-55.704 11.106 9.575 106.597 219.578 116.042 286.431 9.619 66.765-6.384 117.659-6.384 117.659s-36.509-9.488-41.231 12.811zM834.416 875.297c-14.866 13.685-97.547 47.046-122.382 73.105-24.616 25.884-56.884 46.871-76.603 40.794-19.85-6.296-37.121-33.448-28.464-73.018 8.613-39.482 16.090-82.812 14.91-107.516-1.224-24.704-6.296-58.196 0-63.136 6.165-4.766 15.959-2.405 15.959-2.405s-4.81 46.871 23.523 59.333c28.376 12.243 69.214-4.941 81.588-17.358 12.417-12.286 21.075-30.825 21.075-30.825s12.286 6.296 11.106 26.015c-1.224 19.719 8.57 48.271 27.24 58.065 18.495 9.707 46.915 23.392 32.049 36.946z"
+ ],
+ "attrs": [
+ {
+ "visibility": false
+ }
+ ],
+ "width": 872,
+ "grid": 0,
+ "tags": [
+ "linux"
+ ]
+ },
+ "attrs": [
+ {
+ "visibility": false
+ }
+ ],
+ "properties": {
+ "order": 70,
+ "id": 2,
+ "prevSize": 32,
+ "code": 58884,
+ "name": "linux"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 4
+ },
+ {
+ "icon": {
+ "paths": [
+ "M179.763 596.473v-238.597c0-32.946-26.703-59.649-59.649-59.649s-59.649 26.703-59.649 59.649v238.597c0 32.966 26.703 59.649 59.649 59.649s59.649-26.663 59.649-59.649z",
+ "M371.973 845.052v-695.929c0-32.946-26.703-59.649-59.649-59.649s-59.649 26.703-59.649 59.649v695.929c0 32.926 26.703 59.649 59.649 59.649s59.649-26.703 59.649-59.649z",
+ "M564.183 742.296v-384.4c0-32.946-26.703-59.649-59.649-59.649s-59.649 26.703-59.649 59.649v384.4c0 32.966 26.703 59.649 59.649 59.649s59.649-26.663 59.649-59.649z",
+ "M1087.765 417.565c-32.946 0-59.649 26.703-59.649 59.649v331.412c0 32.926 26.703 59.649 59.649 59.649s59.649-26.723 59.649-59.649v-331.412c0-32.946-26.703-59.649-59.649-59.649z",
+ "M895.575-0c-32.946 0-59.649 26.703-59.649 59.649v904.701c0 32.926 26.703 59.649 59.649 59.649s59.649-26.723 59.649-59.649v-904.701c0-32.946-26.723-59.649-59.649-59.649z",
+ "M703.365 868.275c32.946 0 59.649-26.723 59.649-59.649v-574.98c0-32.946-26.703-59.649-59.649-59.649s-59.649 26.703-59.649 59.649v574.98c0 32.946 26.703 59.649 59.649 59.649z"
+ ],
+ "attrs": [
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ }
+ ],
+ "width": 1203,
+ "grid": 0,
+ "tags": [
+ "music"
+ ]
+ },
+ "attrs": [
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ }
+ ],
+ "properties": {
+ "order": 69,
+ "id": 1,
+ "prevSize": 32,
+ "code": 58885,
+ "name": "music"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 5
+ },
+ {
+ "icon": {
+ "paths": [
+ "M574.745 10.282c5.611 0 11.222 0 16.826 0 34.465 7.35 68.818 15.297 103.417 21.918 49.657 9.497 72.893 38.183 63.383 81.17-17.717 80.132-53.045 148.235-131.451 186.066 55.71 43.611 70.923 70.284 81.366 129.052 2.763 15.549 12.211 32.558 23.734 43.457 58.684 55.485 67.71 134.81 24.464 203.509-12.856 20.424-21.771 46.073-23.797 70.067-6.193 73.532-42.461 121.589-108.579 153.060-41.5 19.751-81.422 44.607-118.005 72.501-60.234 45.933-135.666 51.032-197.751 10.373-49.615-32.494-100.682-62.815-151.65-93.205-42.3-25.221-67.773-61.384-81.899-108.53-11.341-37.839-26.252-75.026-43.569-110.557-25.081-51.467-33.666-105.605 0.484-151.285 32.649-43.674 53.942-88.113 68.629-140.337 8.886-31.576 40.967-56.629 62.366-84.27-13.466-10.801-33.427-23.005-48.479-39.648-34.935-38.624-59.553-84.354-64.252-136.304-1.95-21.574-14.841-51.382 12.779-67.633 15.402-9.062 34.087-13.27 51.81-17.548 33.518-8.087 67.402-14.652 101.138-21.848 5.611 0 11.222 0 16.826 0 8.262 2.293 16.412 5.155 24.8 6.782 50.036 9.735 98.886 21.455 126.008 71.435 6.579 12.127 12.548 24.576 19.856 38.975 2.279-4.818 3.9-7.652 5.015-10.675 25.2-68.005 78.659-93.647 146.453-98.542 6.845-0.491 13.396-5.218 20.080-7.982zM726.507 72.907c-11.341-1.045-33.189-0.722-33.575-3.451-3.563-24.983-18.481-11.278-29.563-10.703-5.288 0.274-11.033 0.814-15.865-0.835-13.88-4.72-27.122-13.642-41.149-14.911-12.309-1.108-23.222 6.032-38.863 2.616-16.91-3.696-37.727 10.436-57.449 16.994-1.592-2.202-4.215-5.849-7.554-10.485-8.627 9.763-15.030 23.615-22.254 24.064-40.027 2.483-42.194 35.952-51.053 61.426-11.643 33.469-2.602 49.531 26.372 66.083 54.805-30.951 107.758-60.844 160.712-90.743 1.452 2.504 2.904 5.015 4.356 7.519-13.88 8.269-28.384 15.641-41.493 24.99-31.092 22.184-61.756 44.986-91.95 68.356-4.959 3.836-9.868 12.134-9.363 17.892 2.7 30.503 80.777 70.74 108.179 55.591 17.597-9.728 32.754-24.141 50.779-32.74 12.884-6.144 23.769-9.546 28.763-25.677 3.093-9.98 20.873-7.357 21.806-28.511 0.884-19.786 23.131-38.624 36.107-58.080-5.246-2.041-9.693-3.766-14.799-5.744 8.571-9.84 15.739-18.081 23.538-27.031-32.074-10.205-0.189-24.695-5.681-36.619zM350.629 204.779c19.645-9.658 35.517-27.627 27.704-51.88-8.816-27.353-23.257-53.613-39.424-77.529-5.962-8.816-23.797-9.609-40.504-15.591 1.305-1.073-2.665 2.195-7 5.751-9.588-8.844-17.24-13.228-33.883-12.611-22.823 0.849-44.572-11.411-70.586-0.014-17.632 7.736-41.058 2.237-61.889 2.707-2.784 0.063-7.904 0.035-8.024 0.708-4.208 25.025-27.045 10.507-35.728 15.192 0.722 15.437 1.298 27.718 1.873 40.006-2.588 0.414-5.169 0.828-7.757 1.241 7.238 7.918 14.469 15.837 22.409 24.527-5.92 1.992-10.163 3.416-15.388 5.169 7.596 9.581 23.131 22.963 20.894 27.396-11.79 23.419 17.163 27.192 19.842 45.533 2.16 14.778 29.878 25.838 46.283 38.526 1.459 1.129 3.016 2.146 4.58 3.121 17.31 10.675 34.15 29.177 52.063 30.285 32.081 1.978 64.954-6.298 89.046-32.186 15.942-17.127 18.986-33.301-3.198-48.626-17.618-12.169-33.876-26.301-51.474-38.505-21.153-14.673-43.085-28.23-64.68-42.272 1.599-2.602 3.191-5.204 4.79-7.806 48.724 28.195 97.441 56.404 150.051 86.858zM164.492 550.652c-0.288 59.736 36.794 99.679 92.707 99.868 65.606 0.231 121.681-60.164 121.933-131.317 0.203-57.197-37.993-98.732-91.452-99.447-64.687-0.856-122.859 60.949-123.189 130.897zM636.549 548.317c-0.337-53.69-37.341-106.524-87.496-124.9-56.951-20.866-107.815 6.439-121.582 65.276-12.463 53.241 17.373 116.028 68.194 143.514 71.021 38.414 141.389-3.493 140.884-83.891zM403.218 839.848c61.461-0.905 116.441-52.701 114.562-107.941-1.936-57.042-54.812-103.515-115.873-101.846-62.268 1.697-112.366 48.773-112.584 105.795-0.224 55.934 53.374 104.876 113.895 103.992zM701.012 740.373c-4.58-21.651 1.248-53.928-28.833-66.7-27.816-11.811-52.301 3.949-73.461 22.128-37.846 32.537-64.47 71.961-72.024 122.312-6.193 41.325 14.441 62.359 55.387 57.183 67.177-8.459 115.972-62.155 118.931-134.923zM226.213 876.937c28.104 1.382 44.6-14.764 45.533-44.572 1.739-56.039-61.475-136.416-115.74-147.175-26.35-5.225-45.835 7.722-51.551 34.262-15.914 73.938 45.785 153.747 121.758 157.486zM384.049 289.96c-14.455 7.189-43.941 18.18-69.12 35.454-23.924 16.405-20.732 42.461 2.658 60.668 39.676 30.895 125.763 33.371 166.996 4.804 24.029-16.644 26.954-40.693 6.221-61.461-24.66-24.695-54.938-37.537-106.756-39.466zM400.202 868.492c-28.083 7.961-60.479 14.89-91.052 26.561-22.149 8.444-20.747 25.067-5.239 41.816 50.976 55.051 144.819 54.083 193.276-2.378 21.188-24.681 18.832-37.944-12.681-48.142-25.242-8.178-52.14-11.278-84.305-17.857zM708.229 678.267c61.882-53.101 56.039-147.603-7.743-190.24-16.615-11.103-26.891-10.065-30.727 11.881-9.433 53.935 1.866 104.939 21.511 154.652 3.177 8.045 10.261 14.546 16.959 23.706zM133.337 551.494c-2.258-0.575-4.524-1.15-6.782-1.732 0-8.367 1.739-17.205-0.393-24.99-3.514-12.849-9.525-25.018-14.483-37.474-11.776 6.368-25.81 10.45-34.935 19.491-42.089 41.71-46.255 107.211-11.566 155.655 15.458 21.581 27.886 22.374 37.397-2.616 13.312-34.949 20.789-72.115 30.762-108.334zM515.051 319.804c18.867 45.014 114.969 125.173 157.878 132.327 14.203-85.188-73.433-160.319-157.878-132.327zM279.643 322.329c-40.42-18.509-92.363-6.319-125.763 27.178-30.061 30.159-44.081 75.502-30.18 104.539 61.777-32.347 115.032-73.553 155.943-131.717z",
+ "M574.745 10.282c-6.684 2.763-13.235 7.484-20.073 7.982-67.801 4.896-121.253 30.531-146.453 98.528-1.115 3.023-2.735 5.863-5.015 10.675-7.308-14.392-13.277-26.848-19.856-38.975-27.122-49.966-75.972-61.685-126.008-71.42-8.388-1.627-16.538-4.489-24.8-6.782 114.071-0.007 228.135-0.007 342.205-0.007z"
+ ],
+ "attrs": [
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ }
+ ],
+ "width": 793,
+ "grid": 0,
+ "tags": [
+ "pi"
+ ]
+ },
+ "attrs": [
+ {
+ "visibility": false
+ },
+ {
+ "visibility": false
+ }
+ ],
+ "properties": {
+ "order": 68,
+ "id": 0,
+ "prevSize": 32,
+ "code": 58886,
+ "name": "pi"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 6
+ },
+ {
+ "icon": {
+ "paths": [
+ "M269.978 353.997c10.291 0 20.224 1.536 29.542 4.454 35.328-39.578 74.496-75.622 116.89-107.571-1.741-7.424-2.816-15.206-2.816-23.245 0-11.162 1.843-21.811 5.222-31.744-47.462-34.099-99.174-62.669-154.061-84.787-51.558 31.846-96.461 73.37-132.25 122.010 26.573 47.053 58.214 90.931 94.106 130.918 13.158-6.4 27.853-10.035 43.366-10.035zM169.779 454.195c0-14.029 2.918-27.443 8.141-39.578-32.102-35.328-61.286-73.421-86.835-114.074-32 63.59-50.125 135.424-50.125 211.456 0 88.115 24.269 170.496 66.355 240.998 15.002-84.736 43.571-164.864 82.944-238.285-12.8-16.794-20.48-37.734-20.48-60.518zM513.792 127.386c26.522 0 50.483 10.342 68.403 27.085 52.275-22.477 107.366-39.731 164.659-50.739-69.171-39.834-149.299-62.771-234.854-62.771-58.317 0-114.125 10.701-165.632 30.106 40.909 20.224 79.923 43.725 116.531 70.349 14.95-8.858 32.307-14.029 50.893-14.029zM663.706 599.45c6.246-13.005 15.104-24.474 26.061-33.587-29.594-91.034-76.442-174.285-136.806-245.965-12.032 5.12-25.242 7.936-39.168 7.936-21.709 0-41.779-7.014-58.214-18.739-36.352 27.597-69.939 58.573-100.506 92.365 9.523 15.309 15.104 33.331 15.104 52.736 0 10.496-1.587 20.531-4.557 30.054 87.91 58.726 189.082 99.021 298.086 115.2zM793.702 734.771c1.331 18.944 2.099 38.093 2.099 57.395 0 34.048-2.202 67.482-6.298 100.403 79.923-58.368 140.698-141.158 171.418-237.517-36.352 8.806-73.626 15.104-111.667 18.739-8.96 27.392-29.338 49.613-55.552 60.979zM640.205 666.778c-116.275-19.251-224.102-63.59-317.901-127.181-15.258 9.37-33.075 14.848-52.275 14.848-7.066 0-13.875-0.768-20.531-2.15-44.902 85.197-73.626 180.224-81.92 280.883 44.851 48.077 99.584 86.784 161.075 112.794 76.288-117.299 182.989-214.426 311.552-279.194zM828.211 162.918c-75.469 7.27-147.558 26.214-214.682 54.682 0.41 3.277 0.563 6.656 0.563 10.035 0 15.821-3.738 30.72-10.291 43.981 67.072 78.746 119.142 170.496 152.064 270.899 40.704 0.768 75.571 25.702 90.573 61.184 45.363-4.608 89.498-13.312 132.045-25.805 2.918-21.504 4.557-43.469 4.557-65.894 0-138.445-59.75-262.963-154.829-349.082zM690.637 720.333c-120.064 56.218-220.365 142.797-293.069 248.627 36.608 9.165 74.957 14.080 114.432 14.080 71.117 0 138.394-15.821 198.81-43.981 9.677-47.462 14.848-96.563 14.848-146.893 0-18.125-0.87-36.147-2.202-54.016-12.083-3.84-23.194-9.933-32.819-17.818z"
+ ],
+ "tags": [
+ "network",
+ "globe",
+ "sphere"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 73,
+ "order": 85,
+ "prevSize": 20,
+ "code": 58947,
+ "name": "network"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 67
+ },
+ {
+ "icon": {
+ "paths": [
+ "M102.502 143.309v121.242c362.803 0 656.896 294.144 656.896 656.947h121.293c-0-429.773-348.416-778.189-778.189-778.189zM102.502 385.843v121.293c228.864 0 414.413 185.498 414.413 414.362h121.19c0-295.782-239.77-535.654-535.603-535.654zM218.726 689.050c-64.154 0-116.224 52.070-116.224 116.275s52.070 116.224 116.224 116.224c64.205 0 116.275-52.019 116.275-116.224s-52.070-116.275-116.275-116.275z"
+ ],
+ "tags": [
+ "rss",
+ "atom",
+ "feed"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 106,
+ "order": 84,
+ "prevSize": 20,
+ "code": 58948,
+ "name": "rss"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 68
+ },
+ {
+ "icon": {
+ "paths": [
+ "M35.328 580.198l69.786 17.306 52.531-82.534-99.84-24.73c-24.986-6.246-50.227 8.909-56.422 33.792-6.195 24.781 9.011 49.971 33.946 56.166zM946.227 593.51l-228.506 205.722-268.698-207.923c-5.12-3.994-11.008-6.81-17.306-8.397l-35.789-8.806-52.531 82.483 56.269 13.875 291.738 225.69c8.448 6.605 18.483 9.779 28.57 9.779 11.213 0 22.426-3.994 31.232-11.981l257.382-231.68c19.098-17.203 20.531-46.49 3.328-65.485-17.152-18.995-46.592-20.48-65.69-3.277zM444.621 367.667l250.214 160.205c21.094 13.466 49.152 7.885 63.437-12.646l257.434-370.79c14.592-21.094 9.318-49.92-11.827-64.512s-50.125-9.267-64.768 11.776l-231.834 333.926-251.75-161.178c-10.394-6.656-23.040-8.909-35.174-6.246s-22.63 9.984-29.235 20.429l-383.846 602.573c-13.824 21.606-7.373 50.176 14.336 63.898 7.731 4.915 16.384 7.219 24.934 7.219 15.411 0 30.464-7.578 39.322-21.504l358.758-563.149z"
+ ],
+ "tags": [
+ "statistics",
+ "graph",
+ "plot"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 111,
+ "order": 82,
+ "prevSize": 20,
+ "code": 58949,
+ "name": "statistics"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 69
+ },
+ {
+ "icon": {
+ "paths": [
+ "M459.059 112.538c-197.325 23.45-353.69 179.866-377.139 377.139h377.139v-377.139zM566.938 113.306v432.896c0 28.365-22.989 51.354-51.405 51.354h-432.896c27.699 211.712 208.538 375.194 427.725 375.194 238.387 0 431.718-193.229 431.718-431.718 0-219.187-163.482-400.026-375.142-427.725z"
+ ],
+ "tags": [
+ "pie",
+ "chart",
+ "graph",
+ "statistics"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 112,
+ "order": 83,
+ "prevSize": 20,
+ "code": 58950,
+ "name": "pie"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 70
+ },
+ {
+ "icon": {
+ "paths": [
+ "M819.2 102.4h-614.4c-56.32 0-102.4 46.080-102.4 102.4v614.4c0 56.32 46.080 102.4 102.4 102.4h614.4c56.32 0 102.4-46.080 102.4-102.4v-614.4c0-56.32-46.080-102.4-102.4-102.4zM768 563.2h-512v-102.4h512v102.4z"
+ ],
+ "tags": [
+ "minus",
+ "subtract",
+ "remove",
+ "delete"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 121,
+ "order": 81,
+ "prevSize": 20,
+ "code": 58951,
+ "name": "minus"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 71
+ },
+ {
+ "icon": {
+ "paths": [
+ "M819.2 102.4h-614.4c-56.32 0-102.4 46.080-102.4 102.4v614.4c0 56.32 46.080 102.4 102.4 102.4h614.4c56.32 0 102.4-46.080 102.4-102.4v-614.4c0-56.32-46.080-102.4-102.4-102.4zM768 563.2h-204.8v204.8h-102.4v-204.8h-204.8v-102.4h204.8v-204.8h102.4v204.8h204.8v102.4z"
+ ],
+ "tags": [
+ "plus",
+ "add",
+ "sum"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 122,
+ "order": 80,
+ "prevSize": 20,
+ "code": 58952,
+ "name": "plus"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 72
+ },
+ {
+ "icon": {
+ "paths": [
+ "M505.702 41.011c-260.096 3.482-468.173 217.19-464.691 477.338 3.482 259.994 217.19 468.122 477.286 464.64 260.096-3.482 468.173-217.19 464.691-477.338-3.43-260.045-217.19-468.122-477.286-464.64zM557.926 197.99c47.872 0 62.003 27.75 62.003 59.546 0 39.68-31.795 76.39-86.016 76.39-45.363 0-66.918-22.835-65.638-60.518 0-31.795 26.624-75.418 89.651-75.418zM435.149 806.4c-32.717 0-56.678-19.866-33.792-107.213l37.53-154.829c6.502-24.832 7.578-34.765 0-34.765-9.779 0-52.275 17.152-77.414 34.048l-16.333-26.778c79.616-66.458 171.162-105.472 210.381-105.472 32.717 0 38.144 38.707 21.811 98.253l-43.008 162.816c-7.578 28.774-4.301 38.707 3.277 38.707 9.779 0 41.984-11.878 73.626-36.762l18.483 24.832c-77.363 77.363-161.792 107.162-194.56 107.162z"
+ ],
+ "tags": [
+ "info",
+ "about"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 132,
+ "order": 76,
+ "prevSize": 20,
+ "code": 58953,
+ "name": "info2"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 73
+ },
+ {
+ "icon": {
+ "paths": [
+ "M721.408 114.381c-58.419-42.138-131.686-63.181-219.955-63.181-67.174 0-123.802 14.848-169.83 44.442-73.062 46.387-111.872 125.133-116.582 236.237h169.267c0-32.358 9.421-63.539 28.314-93.542s50.944-45.005 96.154-45.005c45.926 0 77.619 12.186 94.925 36.506 17.357 24.422 26.010 51.405 26.010 80.998 0 25.754-12.902 49.306-28.467 70.758-8.55 12.493-19.866 23.962-33.843 34.509 0 0-91.802 58.88-132.147 106.189-23.398 27.443-25.498 68.506-27.546 127.437-0.154 4.198 1.434 12.851 16.128 12.851s118.63 0 131.686 0 15.77-9.677 15.974-13.926c0.922-21.453 3.328-32.41 7.27-44.8 7.424-23.398 27.494-43.827 50.125-61.389l46.592-32.154c42.035-32.768 75.622-59.648 90.419-80.742 25.293-34.714 43.059-77.414 43.059-128.051 0-82.688-29.235-145.050-87.552-187.136zM498.739 764.109c-58.368-1.741-106.496 38.605-108.339 101.888-1.843 63.232 43.93 105.011 102.298 106.752 60.928 1.792 107.776-37.274 109.619-100.506 1.792-63.283-42.65-106.342-103.578-108.134z"
+ ],
+ "tags": [
+ "question",
+ "help"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 133,
+ "order": 79,
+ "prevSize": 20,
+ "code": 58954,
+ "name": "question"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 74
+ },
+ {
+ "icon": {
+ "paths": [
+ "M505.754 41.011c-260.147 3.482-468.224 217.19-464.742 477.338 3.482 259.994 217.19 468.122 477.338 464.64 260.045-3.482 468.173-217.19 464.64-477.338-3.43-260.045-217.139-468.122-477.235-464.64zM504.371 798.72h-2.611c-40.038-1.178-68.301-30.72-67.174-70.195 1.126-38.758 30.054-66.97 68.813-66.97l2.355 0.051c41.165 1.229 69.12 30.464 67.891 71.066-1.126 38.861-29.645 66.048-69.274 66.048zM672.87 464.282c-9.472 13.363-30.157 30.003-56.269 50.33l-28.774 19.866c-15.77 12.288-25.293 23.808-28.826 35.123-2.867 9.011-4.198 11.315-4.454 29.491l-0.051 4.659-109.722 0 0.307-9.318c1.331-38.195 2.304-60.621 18.125-79.206 24.832-29.133 79.616-64.41 81.92-65.894 7.834-5.939 14.438-12.646 19.405-19.814 11.52-15.872 16.589-28.416 16.589-40.653 0-17.050-5.069-32.819-15.053-46.848-9.626-13.568-27.904-20.429-54.323-20.429-26.214 0-44.134 8.346-54.886 25.395-11.11 17.562-16.64 35.942-16.64 54.784v4.71h-113.152l0.205-4.915c2.918-69.325 27.648-119.194 73.523-148.326 28.774-18.586 64.614-27.955 106.394-27.955 54.733 0 101.018 13.312 137.37 39.526 36.864 26.573 55.552 66.406 55.552 118.323 0 29.082-9.165 56.371-27.238 81.152z"
+ ],
+ "tags": [
+ "help",
+ "question"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 134,
+ "order": 77,
+ "prevSize": 20,
+ "code": 58955,
+ "name": "help"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 75
+ },
+ {
+ "icon": {
+ "paths": [
+ "M999.014 920.678l-456.090-800.307c-6.298-11.059-18.125-17.869-30.925-17.869-12.8 0-24.576 6.81-30.925 17.869l-456.038 800.307c-6.195 10.854-6.093 24.115 0.256 34.867s18.022 17.357 30.618 17.357h912.128c12.493 0 24.218-6.605 30.618-17.357 6.349-10.752 6.451-24.013 0.358-34.867zM568.32 870.502h-112.64v-102.4h112.64v102.4zM568.32 691.302h-112.64v-307.2h112.64v307.2z"
+ ],
+ "tags": [
+ "warning",
+ "alert",
+ "exclamation"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 135,
+ "order": 78,
+ "prevSize": 20,
+ "code": 58956,
+ "name": "warning"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 76
+ },
+ {
+ "icon": {
+ "paths": [
+ "M819.2 460.8h-614.4c-28.262 0-51.2 22.938-51.2 51.2s22.938 51.2 51.2 51.2h614.4c28.314 0 51.2-22.938 51.2-51.2s-22.886-51.2-51.2-51.2zM204.8 358.4h614.4c28.314 0 51.2-22.938 51.2-51.2s-22.886-51.2-51.2-51.2h-614.4c-28.262 0-51.2 22.938-51.2 51.2s22.938 51.2 51.2 51.2zM819.2 665.6h-614.4c-28.262 0-51.2 22.886-51.2 51.2s22.938 51.2 51.2 51.2h614.4c28.314 0 51.2-22.886 51.2-51.2s-22.886-51.2-51.2-51.2z"
+ ],
+ "tags": [
+ "list",
+ "menu",
+ "options",
+ "lines"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 150,
+ "order": 55,
+ "prevSize": 20,
+ "code": 58957,
+ "name": "list"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 77
+ },
+ {
+ "icon": {
+ "paths": [
+ "M918.989 757.555v-117.555c0-71.014-47.002-176.64-176.589-176.64h-102.4c-72.294 0-79.002-35.43-79.36-53.76v-143.155c43.674-18.893 74.24-62.31 74.24-112.845 0-67.84-54.989-122.88-122.88-122.88-67.891 0-122.88 55.040-122.88 122.88 0 50.534 30.566 93.952 74.24 112.845v143.155c0 13.261-3.84 53.76-79.36 53.76h-102.4c-129.587 0-176.64 105.626-176.64 176.64v117.555c-43.674 18.842-74.24 62.31-74.24 112.845 0 67.84 54.989 122.88 122.88 122.88 67.84 0 122.88-55.040 122.88-122.88 0-50.534-30.566-94.003-74.24-112.845v-117.555c0-13.261 3.84-79.36 79.36-79.36h102.4c31.078 0 57.293-4.71 79.36-12.698v209.613c-43.674 18.842-74.24 62.31-74.24 112.845 0 67.84 54.989 122.88 122.88 122.88 67.891 0 122.88-55.040 122.88-122.88 0-50.534-30.618-94.003-74.291-112.845v-209.613c22.067 7.987 48.282 12.698 79.36 12.698h102.4c72.294 0 79.002 61.030 79.411 79.36v117.555c-43.674 18.842-74.24 62.31-74.24 112.845 0 67.84 54.989 122.88 122.88 122.88s122.88-55.040 122.88-122.88c0-50.534-30.566-94.003-74.291-112.845zM224.512 870.4c0 39.168-31.744 70.912-70.912 70.912s-70.912-31.744-70.912-70.912 31.744-70.912 70.912-70.912 70.912 31.744 70.912 70.912zM441.088 153.6c0-39.168 31.795-70.912 70.912-70.912s70.861 31.744 70.861 70.912-31.744 70.912-70.861 70.912c-39.117 0-70.912-31.744-70.912-70.912zM582.912 870.4c0 39.168-31.795 70.912-70.861 70.912-39.168 0-70.912-31.744-70.912-70.912s31.744-70.912 70.861-70.912c39.117 0 70.912 31.744 70.912 70.912zM870.4 941.312c-39.117 0-70.912-31.744-70.912-70.912s31.795-70.912 70.912-70.912 70.912 31.744 70.912 70.912-31.795 70.912-70.912 70.912z"
+ ],
+ "tags": [
+ "flow-tree",
+ "tree"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 186,
+ "order": 54,
+ "prevSize": 20,
+ "code": 58958,
+ "name": "flow-tree"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 78
+ },
+ {
+ "icon": {
+ "paths": [
+ "M585.574 231.219c-21.402 20.89-230.502 240.435-230.502 240.435-11.418 11.162-17.101 25.754-17.101 40.346s5.683 29.184 17.101 40.346c0 0 209.101 219.546 230.502 240.384 21.402 20.89 59.904 22.323 82.739 0 22.784-22.272 24.576-53.35-0.051-80.64l-191.846-200.090 191.846-200.090c24.627-27.341 22.835-58.419 0.051-80.691-22.886-22.272-61.389-20.89-82.739-0z"
+ ],
+ "tags": [
+ "arrow-left",
+ "left",
+ "previous"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 205,
+ "order": 53,
+ "prevSize": 20,
+ "code": 58959,
+ "name": "arrow-left3"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 79
+ },
+ {
+ "icon": {
+ "paths": [
+ "M438.426 231.219c21.402 20.89 230.502 240.435 230.502 240.435 11.469 11.162 17.152 25.754 17.152 40.346s-5.683 29.184-17.152 40.346c0 0-209.101 219.546-230.502 240.384-21.402 20.89-59.853 22.323-82.739 0-22.835-22.272-24.627-53.35 0-80.64l191.898-200.090-191.846-200.090c-24.627-27.341-22.835-58.419 0-80.691 22.835-22.272 61.338-20.89 82.688-0z"
+ ],
+ "tags": [
+ "arrow-right",
+ "right",
+ "next"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 208,
+ "order": 52,
+ "prevSize": 20,
+ "code": 58960,
+ "name": "arrow-right3"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 80
+ },
+ {
+ "icon": {
+ "paths": [
+ "M634.829 687.002c13.722 13.875 13.722 36.301 0 50.125-13.722 13.875-35.891 13.875-49.613 0l-196.096-200.038c-13.722-13.875-13.722-36.301 0-50.125l196.096-200.090c13.722-13.875 35.891-13.875 49.613 0s13.722 36.25 0 50.125l-160.768 175.002 160.768 175.002z"
+ ],
+ "tags": [
+ "arrow-left",
+ "left",
+ "previous"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 209,
+ "order": 51,
+ "prevSize": 20,
+ "code": 58961,
+ "name": "arrow-left4"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 81
+ },
+ {
+ "icon": {
+ "paths": [
+ "M389.171 687.002c-13.722 13.875-13.722 36.301 0 50.125 13.67 13.875 35.891 13.875 49.613 0l196.096-200.038c13.722-13.875 13.722-36.301 0-50.125l-196.096-200.090c-13.722-13.875-35.891-13.875-49.613 0s-13.722 36.25-0.051 50.074l160.819 175.053-160.768 175.002z"
+ ],
+ "tags": [
+ "arrow-right",
+ "right",
+ "next"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 212,
+ "order": 50,
+ "prevSize": 20,
+ "code": 58962,
+ "name": "arrow-right4"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 82
+ },
+ {
+ "icon": {
+ "paths": [
+ "M737.229 891.802c13.722 13.875 13.722 36.25 0 50.125s-35.891 13.875-49.613 0l-400.896-404.838c-13.722-13.875-13.722-36.301 0-50.125l400.896-404.89c13.722-13.875 35.891-13.875 49.613 0s13.722 36.25 0 50.125l-365.568 379.802 365.568 379.802z"
+ ],
+ "tags": [
+ "arrow-left",
+ "previous",
+ "left"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 213,
+ "order": 49,
+ "prevSize": 20,
+ "code": 58963,
+ "name": "arrow-left5"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 83
+ },
+ {
+ "icon": {
+ "paths": [
+ "M286.704 891.802c-13.722 13.875-13.722 36.25 0 50.125s35.891 13.875 49.613 0l400.896-404.838c13.722-13.875 13.722-36.301 0-50.125l-400.896-404.89c-13.722-13.875-35.891-13.875-49.613 0s-13.722 36.25 0 50.125l365.568 379.802-365.568 379.802z"
+ ],
+ "grid": 20,
+ "attrs": []
+ },
+ "attrs": [],
+ "properties": {
+ "id": 216,
+ "order": 48,
+ "prevSize": 20,
+ "code": 58964,
+ "name": "uniE654"
+ },
+ "setIdx": 2,
+ "setId": 1,
+ "iconIdx": 84
+ }
+ ],
+ "height": 1024,
+ "metadata": {
+ "name": "icomoon"
+ },
+ "preferences": {
+ "fontPref": {
+ "prefix": "icon-",
+ "metadata": {
+ "fontFamily": "icomoon"
+ },
+ "showGlyphs": true,
+ "metrics": {
+ "emSize": 1024,
+ "baseline": 6.25,
+ "whitespace": 50
+ },
+ "resetPoint": 58880,
+ "showQuickUse": true,
+ "quickUsageToken": false,
+ "showMetrics": true,
+ "showMetadata": false,
+ "embed": false
+ },
+ "imagePref": {
+ "color": 0,
+ "height": 32,
+ "columns": 16,
+ "margin": 16,
+ "png": false,
+ "sprites": true
+ },
+ "historySize": 100,
+ "showCodes": true,
+ "gridSize": 16,
+ "showLiga": false,
+ "showGrid": true,
+ "showGlyphs": true,
+ "showQuickUse": true,
+ "showQuickUse2": true,
+ "showSVGs": true,
+ "search": ""
+ }
} \ No newline at end of file
diff --git a/addons/webinterface.default/themes/base/fonts/icomoon/style.css b/addons/webinterface.default/themes/base/fonts/icomoon/style.css
index 2e4c2bcf09..d95d394138 100644
--- a/addons/webinterface.default/themes/base/fonts/icomoon/style.css
+++ b/addons/webinterface.default/themes/base/fonts/icomoon/style.css
@@ -1,365 +1,288 @@
@font-face {
- font-family: 'icomoon';
- src:url('fonts/icomoon.eot?eq1noe');
- src:url('fonts/icomoon.eot?#iefixeq1noe') format('embedded-opentype'),
- url('fonts/icomoon.woff?eq1noe') format('woff'),
- url('fonts/icomoon.ttf?eq1noe') format('truetype'),
- url('fonts/icomoon.svg?eq1noe#icomoon') format('svg');
- font-weight: normal;
- font-style: normal;
+ font-family: 'icomoon';
+ src: url('fonts/icomoon.eot?jc0t9');
+ src: url('fonts/icomoon.eot?jc0t9#iefix') format('embedded-opentype'),
+ url('fonts/icomoon.ttf?jc0t9') format('truetype'),
+ url('fonts/icomoon.woff?jc0t9') format('woff'),
+ url('fonts/icomoon.svg?jc0t9#icomoon') format('svg');
+ font-weight: normal;
+ font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
- font-family: 'icomoon';
- speak: none;
- font-style: normal;
- font-weight: normal;
- font-variant: normal;
- text-transform: none;
- line-height: 1;
+ /* use !important to prevent issues with browser extensions that change fonts */
+ font-family: 'icomoon' !important;
+ speak: none;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1;
- /* Better Font Rendering =========== */
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
+ /* Better Font Rendering =========== */
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
}
-.icon-flatscreen:before {
- content: "\e600";
-}
-
-.icon-clapperboard:before {
- content: "\e601";
-}
-
-.icon-kodi-symbol:before {
- content: "\e602";
-}
-
-.icon-kodi-text:before {
- content: "\e603";
-}
-
-.icon-linux:before {
- content: "\e604";
-}
-
-.icon-music:before {
- content: "\e605";
+.icon-google:before {
+ content: "\e900";
}
-
-.icon-pi:before {
- content: "\e606";
-}
-
.icon-home:before {
- content: "\e607";
+ content: "\e607";
}
-
.icon-pencil:before {
- content: "\e608";
+ content: "\e608";
}
-
.icon-image:before {
- content: "\e609";
+ content: "\e609";
}
-
.icon-music2:before {
- content: "\e60a";
+ content: "\e60a";
}
-
.icon-headphones:before {
- content: "\e60b";
+ content: "\e60b";
}
-
.icon-play:before {
- content: "\e60c";
+ content: "\e60c";
}
-
.icon-film:before {
- content: "\e60d";
+ content: "\e60d";
}
-
.icon-camera:before {
- content: "\e60e";
+ content: "\e60e";
}
-
.icon-pacman:before {
- content: "\e60f";
+ content: "\e60f";
}
-
.icon-tag:before {
- content: "\e610";
+ content: "\e610";
}
-
.icon-tags:before {
- content: "\e611";
+ content: "\e611";
}
-
.icon-location:before {
- content: "\e612";
+ content: "\e612";
}
-
.icon-screen:before {
- content: "\e613";
+ content: "\e613";
}
-
.icon-mobile:before {
- content: "\e614";
+ content: "\e614";
}
-
.icon-tv:before {
- content: "\e615";
+ content: "\e615";
}
-
.icon-bubble:before {
- content: "\e616";
+ content: "\e616";
}
-
.icon-bubbles:before {
- content: "\e617";
+ content: "\e617";
}
-
.icon-user:before {
- content: "\e618";
+ content: "\e618";
}
-
.icon-spinner:before {
- content: "\e619";
+ content: "\e619";
}
-
.icon-search:before {
- content: "\e61a";
+ content: "\e61a";
}
-
.icon-key:before {
- content: "\e61b";
+ content: "\e61b";
}
-
.icon-settings:before {
- content: "\e61c";
+ content: "\e61c";
}
-
.icon-cog:before {
- content: "\e61d";
+ content: "\e61d";
}
-
.icon-stats:before {
- content: "\e61e";
+ content: "\e61e";
}
-
.icon-switch:before {
- content: "\e61f";
+ content: "\e61f";
}
-
.icon-tree:before {
- content: "\e620";
+ content: "\e620";
}
-
.icon-cloud:before {
- content: "\e621";
+ content: "\e621";
}
-
.icon-earth:before {
- content: "\e622";
+ content: "\e622";
}
-
.icon-link:before {
- content: "\e623";
+ content: "\e623";
}
-
.icon-attachment:before {
- content: "\e624";
+ content: "\e624";
}
-
.icon-star:before {
- content: "\e625";
+ content: "\e625";
}
-
.icon-star2:before {
- content: "\e626";
+ content: "\e626";
}
-
.icon-heart:before {
- content: "\e627";
+ content: "\e627";
}
-
.icon-heart2:before {
- content: "\e628";
+ content: "\e628";
}
-
.icon-smiley:before {
- content: "\e629";
+ content: "\e629";
}
-
.icon-smiley2:before {
- content: "\e62a";
+ content: "\e62a";
}
-
.icon-info:before {
- content: "\e62b";
+ content: "\e62b";
}
-
.icon-checkmark:before {
- content: "\e62c";
+ content: "\e62c";
}
-
.icon-arrow-right:before {
- content: "\e62d";
+ content: "\e62d";
}
-
.icon-arrow-left:before {
- content: "\e62e";
+ content: "\e62e";
}
-
.icon-arrow-right2:before {
- content: "\e62f";
+ content: "\e62f";
}
-
.icon-arrow-left2:before {
- content: "\e630";
+ content: "\e630";
}
-
.icon-share:before {
- content: "\e631";
+ content: "\e631";
}
-
.icon-googleplus:before {
- content: "\e632";
+ content: "\e632";
}
-
.icon-facebook:before {
- content: "\e633";
+ content: "\e633";
}
-
.icon-twitter:before {
- content: "\e634";
+ content: "\e634";
}
-
.icon-feed:before {
- content: "\e635";
+ content: "\e635";
}
-
.icon-feed2:before {
- content: "\e636";
+ content: "\e636";
}
-
.icon-youtube:before {
- content: "\e637";
+ content: "\e637";
}
-
-.icon-picassa:before {
- content: "\e638";
+.icon-picasa:before {
+ content: "\e638";
}
-
.icon-github:before {
- content: "\e639";
+ content: "\e639";
}
-
.icon-github2:before {
- content: "\e63a";
+ content: "\e63a";
}
-
.icon-github3:before {
- content: "\e63b";
+ content: "\e63b";
}
-
.icon-tux:before {
- content: "\e63c";
+ content: "\e63c";
}
-
.icon-apple:before {
- content: "\e63d";
+ content: "\e63d";
}
-
.icon-android:before {
- content: "\e63e";
+ content: "\e63e";
}
-
.icon-windows8:before {
- content: "\e63f";
+ content: "\e63f";
}
-
.icon-paypal:before {
- content: "\e640";
+ content: "\e640";
}
-
.icon-file-zip:before {
- content: "\e641";
+ content: "\e641";
}
-
.icon-file-css:before {
- content: "\e642";
+ content: "\e642";
+}
+.icon-imdb:before {
+ content: "\e901";
+}
+.icon-flatscreen:before {
+ content: "\e600";
+}
+.icon-clapperboard:before {
+ content: "\e601";
+}
+.icon-kodi-symbol:before {
+ content: "\e602";
+}
+.icon-kodi-text:before {
+ content: "\e603";
+}
+.icon-linux:before {
+ content: "\e604";
+}
+.icon-music:before {
+ content: "\e605";
+}
+.icon-pi:before {
+ content: "\e606";
}
-
.icon-network:before {
- content: "\e643";
+ content: "\e643";
}
-
.icon-rss:before {
- content: "\e644";
+ content: "\e644";
}
-
.icon-statistics:before {
- content: "\e645";
+ content: "\e645";
}
-
.icon-pie:before {
- content: "\e646";
+ content: "\e646";
}
-
.icon-minus:before {
- content: "\e647";
+ content: "\e647";
}
-
.icon-plus:before {
- content: "\e648";
+ content: "\e648";
}
-
.icon-info2:before {
- content: "\e649";
+ content: "\e649";
}
-
.icon-question:before {
- content: "\e64a";
+ content: "\e64a";
}
-
.icon-help:before {
- content: "\e64b";
+ content: "\e64b";
}
-
.icon-warning:before {
- content: "\e64c";
+ content: "\e64c";
}
-
.icon-list:before {
- content: "\e64d";
+ content: "\e64d";
}
-
.icon-flow-tree:before {
- content: "\e64e";
+ content: "\e64e";
}
-
.icon-arrow-left3:before {
- content: "\e64f";
+ content: "\e64f";
}
-
.icon-arrow-right3:before {
- content: "\e650";
+ content: "\e650";
}
-
.icon-arrow-left4:before {
- content: "\e651";
+ content: "\e651";
}
-
.icon-arrow-right4:before {
- content: "\e652";
+ content: "\e652";
}
-
.icon-arrow-left5:before {
- content: "\e653";
+ content: "\e653";
}
-
.icon-uniE654:before {
- content: "\e654";
+ content: "\e654";
}
diff --git a/addons/webinterface.default/themes/base/images/default.png b/addons/webinterface.default/themes/base/images/default.png
deleted file mode 100644
index 59ef87faf0..0000000000
--- a/addons/webinterface.default/themes/base/images/default.png
+++ /dev/null
Binary files differ
diff --git a/addons/webinterface.default/themes/base/images/google-ico.png b/addons/webinterface.default/themes/base/images/google-ico.png
deleted file mode 100644
index 1d9f137aa9..0000000000
--- a/addons/webinterface.default/themes/base/images/google-ico.png
+++ /dev/null
Binary files differ
diff --git a/addons/webinterface.default/themes/base/images/imdb-ico.png b/addons/webinterface.default/themes/base/images/imdb-ico.png
deleted file mode 100644
index 3d204ad21d..0000000000
--- a/addons/webinterface.default/themes/base/images/imdb-ico.png
+++ /dev/null
Binary files differ
diff --git a/media/banner.png b/media/banner.png
index e67c5cc302..e3a0b26064 100644
--- a/media/banner.png
+++ b/media/banner.png
Binary files differ
diff --git a/media/icon120x120.png b/media/icon120x120.png
index 45bdb7f001..ea99e64873 100644
--- a/media/icon120x120.png
+++ b/media/icon120x120.png
Binary files differ
diff --git a/media/icon256x256.png b/media/icon256x256.png
index 87f1bf45c8..d958660f04 100644
--- a/media/icon256x256.png
+++ b/media/icon256x256.png
Binary files differ
diff --git a/project/cmake/CMakeLists.txt b/project/cmake/CMakeLists.txt
index aecda3647d..504e4c046b 100644
--- a/project/cmake/CMakeLists.txt
+++ b/project/cmake/CMakeLists.txt
@@ -103,7 +103,7 @@ list(APPEND DEPLIBS ${CMAKE_THREAD_LIBS_INIT})
# Required dependencies
set(required_deps Sqlite3 FreeType PCRE Cpluff LibDvd
- TinyXML Python Yajl
+ TinyXML Python Yajl Cdio
Lzo2 Fribidi TagLib FFMPEG CrossGUID)
if(NOT WIN32)
list(APPEND required_deps ZLIB)
@@ -171,7 +171,6 @@ endif()
if(ENABLE_OPTICAL)
list(APPEND DEP_DEFINES -DHAS_DVD_DRIVE)
- core_require_dep(Cdio)
endif()
if(ENABLE_LIRC)
diff --git a/cmake/scripts/rbpi/ExtraTargets.cmake b/project/cmake/scripts/rbpi/ExtraTargets.cmake
index e757c60298..e757c60298 120000
--- a/cmake/scripts/rbpi/ExtraTargets.cmake
+++ b/project/cmake/scripts/rbpi/ExtraTargets.cmake
diff --git a/tools/android/packaging/media/drawable-xhdpi/banner.png b/tools/android/packaging/media/drawable-xhdpi/banner.png
index e67c5cc302..e3a0b26064 100644
--- a/tools/android/packaging/media/drawable-xhdpi/banner.png
+++ b/tools/android/packaging/media/drawable-xhdpi/banner.png
Binary files differ
diff --git a/tools/darwin/packaging/media/osx/background/DiskImageBackgroundKodi.png b/tools/darwin/packaging/media/osx/background/DiskImageBackgroundKodi.png
index a41c8f26f2..a13c658abd 100644
--- a/tools/darwin/packaging/media/osx/background/DiskImageBackgroundKodi.png
+++ b/tools/darwin/packaging/media/osx/background/DiskImageBackgroundKodi.png
Binary files differ
diff --git a/tools/windows/packaging/media/installer/header.bmp b/tools/windows/packaging/media/installer/header.bmp
index e0ac21fa29..0eb07597c8 100644
--- a/tools/windows/packaging/media/installer/header.bmp
+++ b/tools/windows/packaging/media/installer/header.bmp
Binary files differ
diff --git a/tools/windows/packaging/media/installer/welcome-left.bmp b/tools/windows/packaging/media/installer/welcome-left.bmp
index 121dbf96b5..ca45f311bf 100644
--- a/tools/windows/packaging/media/installer/welcome-left.bmp
+++ b/tools/windows/packaging/media/installer/welcome-left.bmp
Binary files differ
diff --git a/xbmc/addons/AddonDatabase.cpp b/xbmc/addons/AddonDatabase.cpp
index 4750b423d4..d6c4e85afc 100644
--- a/xbmc/addons/AddonDatabase.cpp
+++ b/xbmc/addons/AddonDatabase.cpp
@@ -133,7 +133,7 @@ int CAddonDatabase::GetMinSchemaVersion() const
int CAddonDatabase::GetSchemaVersion() const
{
- return 26;
+ return 27;
}
void CAddonDatabase::CreateTables()
@@ -146,6 +146,7 @@ void CAddonDatabase::CreateTables()
"version TEXT NOT NULL,"
"name TEXT NOT NULL,"
"summary TEXT NOT NULL,"
+ "news TEXT NOT NULL,"
"description TEXT NOT NULL)");
CLog::Log(LOGINFO, "create repo table");
@@ -301,6 +302,10 @@ void CAddonDatabase::UpdateTables(int version)
"summary TEXT NOT NULL,"
"description TEXT NOT NULL)");
}
+ if (version < 27)
+ {
+ m_pDS->exec("ALTER TABLE addons ADD news TEXT NOT NULL DEFAULT ''");
+ }
}
void CAddonDatabase::SyncInstalled(const std::set<std::string>& ids,
@@ -478,7 +483,7 @@ bool CAddonDatabase::FindByAddonId(const std::string& addonId, ADDON::VECADDONS&
if (NULL == m_pDS.get()) return false;
std::string sql = PrepareSQL(
- "SELECT addons.version, addons.name, addons.summary, addons.description, addons.metadata,"
+ "SELECT addons.version, addons.name, addons.summary, addons.description, addons.metadata, addons.news,"
"repo.addonID AS repoID FROM addons "
"JOIN addonlinkrepo ON addonlinkrepo.idAddon=addons.id "
"JOIN repo ON repo.id=addonlinkrepo.idRepo "
@@ -498,7 +503,8 @@ bool CAddonDatabase::FindByAddonId(const std::string& addonId, ADDON::VECADDONS&
builder.SetSummary(m_pDS->fv(2).get_asString());
builder.SetDescription(m_pDS->fv(3).get_asString());
DeserializeMetadata(m_pDS->fv(4).get_asString(), builder);
- builder.SetOrigin(m_pDS->fv(5).get_asString());
+ builder.SetChangelog(m_pDS->fv(5).get_asString());
+ builder.SetOrigin(m_pDS->fv(6).get_asString());
auto addon = builder.Build();
if (addon)
@@ -792,14 +798,15 @@ bool CAddonDatabase::UpdateRepositoryContent(const std::string& repository, cons
for (const auto& addon : addons)
{
m_pDS->exec(PrepareSQL(
- "INSERT INTO addons (id, metadata, addonID, version, name, summary, description) "
- "VALUES (NULL, '%s', '%s', '%s', '%s','%s', '%s')",
+ "INSERT INTO addons (id, metadata, addonID, version, name, summary, description, news) "
+ "VALUES (NULL, '%s', '%s', '%s', '%s','%s', '%s','%s')",
SerializeMetadata(*addon).c_str(),
addon->ID().c_str(),
addon->Version().asString().c_str(),
addon->Name().c_str(),
addon->Summary().c_str(),
- addon->Description().c_str()));
+ addon->Description().c_str(),
+ addon->ChangeLog().c_str()));
auto idAddon = m_pDS->lastinsertid();
if (idAddon <= 0)
diff --git a/xbmc/cores/AudioEngine/Makefile.in b/xbmc/cores/AudioEngine/Makefile.in
index 9a4e998827..9a3d486dcb 100644
--- a/xbmc/cores/AudioEngine/Makefile.in
+++ b/xbmc/cores/AudioEngine/Makefile.in
@@ -83,6 +83,6 @@ SRCS += Utils/AELimiter.cpp
SRCS += Encoders/AEEncoderFFmpeg.cpp
LIB = audioengine.a
-
+$(shell touch AEDefines_override.h)
include @abs_top_srcdir@/Makefile.include
-include $(patsubst %.cpp,%.P,$(patsubst %.c,%.P,$(SRCS)))
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp
index 92bdd83485..7500eade71 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp
@@ -685,6 +685,8 @@ void CDVDVideoCodecAndroidMediaCodec::Dispose()
xbmc_jnienv()->ExceptionClear();
}
ReleaseSurfaceTexture();
+ if (m_render_surface)
+ CXBMCApp::get()->clearVideoView();
SAFE_DELETE(m_bitstream);
s_instances--;
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererMediaCodecSurface.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererMediaCodecSurface.cpp
index a7287c6b72..8fefc1cb09 100644
--- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererMediaCodecSurface.cpp
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererMediaCodecSurface.cpp
@@ -143,6 +143,11 @@ bool CRendererMediaCodecSurface::RenderHook(int index)
srcRect.x2 *= 2.0;
break;
+ case RENDER_STEREO_MODE_MONO:
+ dstRect.y2 = dstRect.y2 * (dstRect.y2 / m_sourceRect.y2);
+ dstRect.x2 = dstRect.x2 * (dstRect.x2 / m_sourceRect.x2);
+ break;
+
default:
break;
}
diff --git a/xbmc/dialogs/GUIDialogProgress.cpp b/xbmc/dialogs/GUIDialogProgress.cpp
index 39d339ca34..485d6bff34 100644
--- a/xbmc/dialogs/GUIDialogProgress.cpp
+++ b/xbmc/dialogs/GUIDialogProgress.cpp
@@ -160,7 +160,8 @@ void CGUIDialogProgress::SetProgressAdvance(int nSteps/*=1*/)
if (m_iCurrent>m_iMax)
m_iCurrent=0;
- SetPercentage((m_iCurrent*100)/m_iMax);
+ if (m_iMax > 0)
+ SetPercentage((m_iCurrent*100)/m_iMax);
}
bool CGUIDialogProgress::Abort()
diff --git a/xbmc/filesystem/win32/Win32File.cpp b/xbmc/filesystem/win32/Win32File.cpp
index 9389d740b4..60ab2da68a 100644
--- a/xbmc/filesystem/win32/Win32File.cpp
+++ b/xbmc/filesystem/win32/Win32File.cpp
@@ -403,6 +403,11 @@ bool CWin32File::Rename(const CURL& urlCurrentName, const CURL& urlNewName)
return false;
const bool result = (MoveFileExW(curNameW.c_str(), newNameW.c_str(), MOVEFILE_COPY_ALLOWED) != 0);
+ if (!result)
+ {
+ CLog::LogW(LOGERROR, L"Failed to rename file/directory %s to %s, Error: %s",
+ curNameW.c_str(), newNameW.c_str(), CLog::Win32ErrorToString(GetLastError()));
+ }
if (m_smbFile)
m_lastSMBFileErr = GetLastError(); // set real error state
diff --git a/xbmc/platform/android/activity/XBMCApp.cpp b/xbmc/platform/android/activity/XBMCApp.cpp
index 1912d9a141..cc8b650c36 100644
--- a/xbmc/platform/android/activity/XBMCApp.cpp
+++ b/xbmc/platform/android/activity/XBMCApp.cpp
@@ -44,6 +44,8 @@
#include "platform/xbmc.h"
#include "windowing/WinEvents.h"
#include "guilib/GUIWindowManager.h"
+#include "guilib/GraphicContext.h"
+#include "settings/DisplaySettings.h"
#include "utils/log.h"
#include "messaging/ApplicationMessenger.h"
#include "utils/StringUtils.h"
@@ -548,7 +550,7 @@ CRect CXBMCApp::MapRenderToDroid(const CRect& srcRect)
float scaleY = 1.0;
CJNIRect r = m_xbmcappinstance->getVideoViewSurfaceRect();
- RESOLUTION_INFO renderRes = g_graphicsContext.GetResInfo(g_graphicsContext.GetVideoResolution());
+ RESOLUTION_INFO renderRes = CDisplaySettings::GetInstance().GetResolutionInfo(g_graphicsContext.GetVideoResolution());
scaleX = (double)r.width() / renderRes.iWidth;
scaleY = (double)r.height() / renderRes.iHeight;
diff --git a/xbmc/utils/win32/Win32Log.cpp b/xbmc/utils/win32/Win32Log.cpp
index ef5264ca67..05d46bc920 100644
--- a/xbmc/utils/win32/Win32Log.cpp
+++ b/xbmc/utils/win32/Win32Log.cpp
@@ -18,7 +18,11 @@
*
*/
+
#include "Win32Log.h"
+
+#include <string>
+
#include "utils/StringUtils.h"
#include "utils/CharsetConverter.h"
@@ -63,3 +67,17 @@ void CWin32Log::LogFunctionW(int loglevel, const char* functionName, const wchar
}
}
}
+
+std::wstring CWin32Log::Win32ErrorToString(int errorCode)
+{
+ LPWSTR message = nullptr;
+ auto result = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
+ nullptr, errorCode, 0, message, 0, nullptr);
+ if (result == 0)
+ return std::wstring();
+
+ std::wstring formattedMessage(message, result);
+ HeapFree(GetProcessHeap(), 0, message);
+
+ return formattedMessage;
+}
diff --git a/xbmc/utils/win32/Win32Log.h b/xbmc/utils/win32/Win32Log.h
index 53ee0fedae..a4719bd50b 100644
--- a/xbmc/utils/win32/Win32Log.h
+++ b/xbmc/utils/win32/Win32Log.h
@@ -33,6 +33,7 @@ class CWin32Log : public CLog
public:
static void LogW(int loglevel, PRINTF_FORMAT_STRING const wchar_t *format, ...);
static void LogFunctionW(int loglevel, IN_OPT_STRING const char* functionName, PRINTF_FORMAT_STRING const wchar_t* format, ...);
+ static std::wstring Win32ErrorToString(int errorCode);
#define LogFW(loglevel,format,...) LogFunctionW((loglevel),__FUNCTION__,(format),##__VA_ARGS__)
};