From 736a4fb77e2da27e1dc7f9f5a1697744b7596085 Mon Sep 17 00:00:00 2001 From: Maryana Rozhankivska Date: Tue, 4 Feb 2014 11:52:03 +0200 Subject: all locale files re-compiled: fix of #416 Some language problems in the french Config Page --- locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.mo | Bin 4823 -> 4823 bytes locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo | Bin 4776 -> 4776 bytes locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo | Bin 4481 -> 4481 bytes locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo | Bin 4195 -> 4848 bytes locale/fa_IR.utf8/LC_MESSAGES/fa_IR.utf8.mo | Bin 5632 -> 5632 bytes locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo | Bin 4810 -> 4810 bytes locale/it_IT.utf8/LC_MESSAGES/it_IT.utf8.mo | Bin 4897 -> 4897 bytes locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo | Bin 5803 -> 5803 bytes 8 files changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.mo b/locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.mo index 0e8f88bf..af0920d2 100644 Binary files a/locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.mo and b/locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.mo differ diff --git a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo index 253d8c7e..375e923f 100644 Binary files a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo and b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo differ diff --git a/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo b/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo index 974ca4f3..83d0a85f 100644 Binary files a/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo and b/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo differ diff --git a/locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo b/locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo index 20978239..f4309896 100644 Binary files a/locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo and b/locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo differ diff --git a/locale/fa_IR.utf8/LC_MESSAGES/fa_IR.utf8.mo b/locale/fa_IR.utf8/LC_MESSAGES/fa_IR.utf8.mo index a7bb6f64..be6ebc57 100644 Binary files a/locale/fa_IR.utf8/LC_MESSAGES/fa_IR.utf8.mo and b/locale/fa_IR.utf8/LC_MESSAGES/fa_IR.utf8.mo differ diff --git a/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo b/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo index 99e7142c..76872b5a 100644 Binary files a/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo and b/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo differ diff --git a/locale/it_IT.utf8/LC_MESSAGES/it_IT.utf8.mo b/locale/it_IT.utf8/LC_MESSAGES/it_IT.utf8.mo index d6ef9890..42e26ba0 100644 Binary files a/locale/it_IT.utf8/LC_MESSAGES/it_IT.utf8.mo and b/locale/it_IT.utf8/LC_MESSAGES/it_IT.utf8.mo differ diff --git a/locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo b/locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo index 970898db..c8c29021 100644 Binary files a/locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo and b/locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo differ -- cgit v1.2.3 From c8265d95b0247c146793c9804198a9ed45b6f846 Mon Sep 17 00:00:00 2001 From: Thomas LEBEAU Date: Fri, 7 Feb 2014 00:07:54 +0100 Subject: [add] maj theme courgette : ajout tag --- themes/courgette/_menu.twig | 1 + themes/courgette/_view.twig | 45 ++++++++++++++++++++++ themes/courgette/css/.DS_Store | Bin 6148 -> 0 bytes themes/courgette/css/font.css | 14 ++++++- themes/courgette/css/style.css | 76 ++++++++++++++++++++++++++++++++++--- themes/courgette/edit-tags.twig | 20 ++++++++++ themes/courgette/font/icomoon.eot | Bin 0 -> 3056 bytes themes/courgette/font/icomoon.svg | 23 +++++++++++ themes/courgette/font/icomoon.ttf | Bin 0 -> 2892 bytes themes/courgette/font/icomoon.woff | Bin 0 -> 3020 bytes themes/courgette/tags.twig | 8 ++++ themes/courgette/view.twig | 45 ---------------------- 12 files changed, 180 insertions(+), 52 deletions(-) create mode 100755 themes/courgette/_view.twig delete mode 100644 themes/courgette/css/.DS_Store create mode 100644 themes/courgette/edit-tags.twig create mode 100755 themes/courgette/font/icomoon.eot create mode 100755 themes/courgette/font/icomoon.svg create mode 100755 themes/courgette/font/icomoon.ttf create mode 100755 themes/courgette/font/icomoon.woff create mode 100644 themes/courgette/tags.twig delete mode 100755 themes/courgette/view.twig diff --git a/themes/courgette/_menu.twig b/themes/courgette/_menu.twig index 85487f73..5e737299 100755 --- a/themes/courgette/_menu.twig +++ b/themes/courgette/_menu.twig @@ -3,6 +3,7 @@
  • {% trans "home" %}
  • {% trans "favorites" %}
  • {% trans "archive" %}
  • +
  • {% trans "tags" %}
  • {% trans "config" %}
  • {% trans "logout" %}
  • diff --git a/themes/courgette/_view.twig b/themes/courgette/_view.twig new file mode 100755 index 00000000..e80829ef --- /dev/null +++ b/themes/courgette/_view.twig @@ -0,0 +1,45 @@ +{% extends "layout.twig" %} +{% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %} +{% block content %} +
    + +
    +
    +
    +

    {{ entry.title|raw }}

    +
    +
    + {{ content | raw }} +
    +
    + + +{% endblock %} \ No newline at end of file diff --git a/themes/courgette/css/.DS_Store b/themes/courgette/css/.DS_Store deleted file mode 100644 index c788a093..00000000 Binary files a/themes/courgette/css/.DS_Store and /dev/null differ diff --git a/themes/courgette/css/font.css b/themes/courgette/css/font.css index 7c16cce4..849ff85b 100755 --- a/themes/courgette/css/font.css +++ b/themes/courgette/css/font.css @@ -7,4 +7,16 @@ url('../font/fontello.svg?97381924#fontello') format('svg'); font-weight: normal; font-style: normal; -} \ No newline at end of file +} + +@font-face { + font-family: 'icomoon'; + src:url('../font/icomoon.eot?-72nnzw'); + src:url('../font/icomoon.eot?#iefix-72nnzw') format('embedded-opentype'), + url('../font/icomoon.woff?-72nnzw') format('woff'), + url('../font/comoon.ttf?-72nnzw') format('truetype'), + url('../font/icomoon.svg?-72nnzw#icomoon') format('svg'); + font-weight: normal; + font-style: normal; +} + diff --git a/themes/courgette/css/style.css b/themes/courgette/css/style.css index 2ba16b71..edd09c78 100755 --- a/themes/courgette/css/style.css +++ b/themes/courgette/css/style.css @@ -157,6 +157,8 @@ h1 a { transition-delay:1.55ms; } +#article_toolbar li:nth-child(2) { display: none; } + #menu:before { content: "\e801"; display: block; @@ -299,7 +301,7 @@ ul li { color:#000; } -.tools a:before { display: block; font-family: 'fontello'; } +.tools a:before { display: block; font-family: 'icomoon'; } .fav-off:before, .fav:before { content: '\e805'; } /* '' */ @@ -308,13 +310,13 @@ ul li { background: #FFF; color:#000; } -.link:before { content: '\e800'; } /* '' */ -.delete:before { content: '\e803'; } /* '' */ -.reading-time:before { content: '\e802'; } /* '' */ +.link:before { content: '\e801'; } /* '' */ +.delete:before { content: '\e80c'; } /* '' */ +.reading-time:before { content: '\e803'; } /* '' */ #article_toolbar a:before { display: block; - font-family: 'fontello'; + font-family: 'icomoon'; } #article_toolbar a { @@ -343,7 +345,8 @@ ul li { .email:before { content: '\e80a'; } /* '' */ .icon-check:before { content: '\e804'; } /* '' */ .back:before { content: '\e806'; } /* '' */ -.bad-display:before { content: '\e808'; } /* '' */ +.flattr:before { content: '\e800'; } /* '' */ +.bad-display:before { content: '\e600'; } /* '' */ .twitter:before { content: '\e807'; } /* '' */ #article_toolbar .flattrli { @@ -618,3 +621,64 @@ form button:hover, form button:focus, form input[type="submit"]:hover, form inpu position:static; } } + + +.w600p { + width: 70%; + margin: auto; +} + +.tagForm { + margin: 1em 0; +} + +.tagForm p { + font-style: italic; + margin: 0; + font-size: 0.8em; + color: #999; +} + +.tagForm label { + width: auto; + margin-right: 1em; +} + +.back:before { + font-family: "icomoon"; +} + +.back.link { + color: #000; + text-decoration: none; +} + +.back.link:before { + margin-right: 0.5em; +} + +.tag-list a { + color: #000; + text-decoration: none; +} + +.tag-list li { + display: inline-block; + margin-right: 1em; +} + +a:hover { + text-decoration: underline; +} + +.tag { + background: #000; + color: #FFF; + padding: 0.5em 1em; + text-decoration: none; +} + +.tag:hover, .tag:focus { + background: #FFF; + color: #000; +} \ No newline at end of file diff --git a/themes/courgette/edit-tags.twig b/themes/courgette/edit-tags.twig new file mode 100644 index 00000000..bcddbe46 --- /dev/null +++ b/themes/courgette/edit-tags.twig @@ -0,0 +1,20 @@ +{% extends "layout.twig" %} +{% block title %}edit tags{% endblock %} +{% block menu %} +{% include '_menu.twig' %} +{% endblock %} +{% block content %} +{% if tags is empty %} +no tags +{% endif %} + +
    + +

    {% trans "You can enter multiple tags, separated by commas." %}

    + + +
    +{% trans "return to article" %} +{% endblock %} diff --git a/themes/courgette/font/icomoon.eot b/themes/courgette/font/icomoon.eot new file mode 100755 index 00000000..ff2d109d Binary files /dev/null and b/themes/courgette/font/icomoon.eot differ diff --git a/themes/courgette/font/icomoon.svg b/themes/courgette/font/icomoon.svg new file mode 100755 index 00000000..8968452d --- /dev/null +++ b/themes/courgette/font/icomoon.svg @@ -0,0 +1,23 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/courgette/font/icomoon.ttf b/themes/courgette/font/icomoon.ttf new file mode 100755 index 00000000..52463a87 Binary files /dev/null and b/themes/courgette/font/icomoon.ttf differ diff --git a/themes/courgette/font/icomoon.woff b/themes/courgette/font/icomoon.woff new file mode 100755 index 00000000..ddb96f29 Binary files /dev/null and b/themes/courgette/font/icomoon.woff differ diff --git a/themes/courgette/tags.twig b/themes/courgette/tags.twig new file mode 100644 index 00000000..9dfdab52 --- /dev/null +++ b/themes/courgette/tags.twig @@ -0,0 +1,8 @@ +{% extends "layout.twig" %} +{% block title %}tags{% endblock %} +{% block menu %} +{% include '_menu.twig' %} +{% endblock %} +{% block content %} +{% for tag in tags %}{{ tag.value }} {% if token != '' %}{% endif %} {% endfor %} +{% endblock %} \ No newline at end of file diff --git a/themes/courgette/view.twig b/themes/courgette/view.twig deleted file mode 100755 index e80829ef..00000000 --- a/themes/courgette/view.twig +++ /dev/null @@ -1,45 +0,0 @@ -{% extends "layout.twig" %} -{% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %} -{% block content %} -
    - -
    -
    -
    -

    {{ entry.title|raw }}

    -
    -
    - {{ content | raw }} -
    -
    - - -{% endblock %} \ No newline at end of file -- cgit v1.2.3 From 1e1e4e4ecaca5755bdf5bfcb84997f7e2e8d9200 Mon Sep 17 00:00:00 2001 From: Thomas LEBEAU Date: Fri, 7 Feb 2014 00:08:58 +0100 Subject: [remove] fontello theme courgette --- themes/courgette/font/fontello.eot | Bin 6428 -> 0 bytes themes/courgette/font/fontello.svg | 23 ----------------------- themes/courgette/font/fontello.ttf | Bin 6260 -> 0 bytes themes/courgette/font/fontello.woff | Bin 3988 -> 0 bytes 4 files changed, 23 deletions(-) delete mode 100644 themes/courgette/font/fontello.eot delete mode 100644 themes/courgette/font/fontello.svg delete mode 100644 themes/courgette/font/fontello.ttf delete mode 100644 themes/courgette/font/fontello.woff diff --git a/themes/courgette/font/fontello.eot b/themes/courgette/font/fontello.eot deleted file mode 100644 index 3c5603dd..00000000 Binary files a/themes/courgette/font/fontello.eot and /dev/null differ diff --git a/themes/courgette/font/fontello.svg b/themes/courgette/font/fontello.svg deleted file mode 100644 index 0e0118ed..00000000 --- a/themes/courgette/font/fontello.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - -Copyright (C) 2013 by original authors @ fontello.com - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/themes/courgette/font/fontello.ttf b/themes/courgette/font/fontello.ttf deleted file mode 100644 index 1967dfaa..00000000 Binary files a/themes/courgette/font/fontello.ttf and /dev/null differ diff --git a/themes/courgette/font/fontello.woff b/themes/courgette/font/fontello.woff deleted file mode 100644 index c62afa54..00000000 Binary files a/themes/courgette/font/fontello.woff and /dev/null differ -- cgit v1.2.3 From c515ffec9c4e43c6e826645168a36cedaf0b6870 Mon Sep 17 00:00:00 2001 From: Maryana Rozhankivska Date: Fri, 7 Feb 2014 17:49:27 +0200 Subject: Polish and Ukrainian translations added. Russian - updated. Plust 2 small translation related fixes in code. --- inc/poche/Poche.class.php | 3 +- locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo | Bin 0 -> 10557 bytes locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po | 428 ++++++++++++++++++++++++++ locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo | Bin 5803 -> 13000 bytes locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.po | 460 ++++++++++++++++++++-------- locale/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.mo | Bin 0 -> 13258 bytes locale/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.po | 428 ++++++++++++++++++++++++++ themes/default/view.twig | 2 +- 8 files changed, 1197 insertions(+), 124 deletions(-) create mode 100755 locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo create mode 100755 locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po mode change 100644 => 100755 locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo mode change 100644 => 100755 locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.po create mode 100755 locale/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.mo create mode 100755 locale/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.po diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 4df90067..74827253 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -565,7 +565,8 @@ class Poche if (count($entries) > 0) { $this->pagination->set_total(count($entries)); - $page_links = $this->pagination->page_links('?view=' . $view . '&sort=' . $_SESSION['sort'] . '&'); + $page_links = str_replace(array('previous', 'next'), array(_('previous'), _('next')), + $this->pagination->page_links('?view=' . $view . '&sort=' . $_SESSION['sort'] . '&')); $datas = $this->store->getEntriesByView($view, $this->user->getId(), $this->pagination->get_limit()); $tpl_vars['entries'] = $datas; $tpl_vars['page_links'] = $page_links; diff --git a/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo b/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo new file mode 100755 index 00000000..3e8b132f Binary files /dev/null and b/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo differ diff --git a/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po b/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po new file mode 100755 index 00000000..0e7cbcf8 --- /dev/null +++ b/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po @@ -0,0 +1,428 @@ +msgid "" +msgstr "" +"Project-Id-Version: wballabag\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-07 17:38+0300\n" +"PO-Revision-Date: 2014-02-07 17:43+0300\n" +"Last-Translator: Maryana \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-Language: Polish\n" +"X-Poedit-Country: POLAND\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag\n" + +msgid "poche, a read it later open source system" +msgstr "poche, serwis odrocznego czytania open source" + +msgid "login failed: user doesn't exist" +msgstr "logowanie nie udało się: użytkownik nie istnieje" + +msgid "Return home" +msgstr "Wrocic do głównej" + +msgid "Back to top" +msgstr "Wrócić na górę" + +msgid "original" +msgstr "oryginal" + +msgid "Mark as read" +msgstr "Zaznacz jako przeczytane" + +msgid "Toggle mark as read" +msgstr "Przełącz jako przeczytane" + +msgid "Favorite" +msgstr "Ulubiony" + +msgid "Toggle favorite" +msgstr "Zaznacz jako ulubione" + +msgid "Delete" +msgstr "Usuń" + +msgid "Tweet" +msgstr "Tweet" + +msgid "Email" +msgstr "Wyslij email" + +msgid "shaarli" +msgstr "shaarli" + +msgid "flattr" +msgstr "flattr" + +msgid "Does this article appear wrong?" +msgstr "Czy ten artykuł wygląda nieprawidłowo?" + +msgid "tags:" +msgstr "tegi:" + +msgid "Edit tags" +msgstr "Redagowac tegi" + +msgid "return home" +msgstr "wrócić do głównej" + +msgid "powered by" +msgstr "zasilany przez" + +msgid "debug mode is on so cache is off." +msgstr "tryb debugowania jest włączony, więc cash jest wyłączony." + +msgid "your poche version:" +msgstr "twoja wersja poche:" + +msgid "storage:" +msgstr "magazyn:" + +msgid "favoris" +msgstr "ulubione" + +msgid "archive" +msgstr "archiwum" + +msgid "unread" +msgstr "nieprzeczytane" + +msgid "by date asc" +msgstr "według daty rosnąco" + +msgid "by date" +msgstr "wg daty" + +msgid "by date desc" +msgstr "według daty spadająco" + +msgid "by title asc" +msgstr "według tytułu rosnąco" + +msgid "by title" +msgstr "wg tytułu" + +msgid "by title desc" +msgstr "według tytułu malejąco" + +msgid "No articles found." +msgstr "Nie znaleziono artykułów." + +msgid "toggle favorite" +msgstr "przełączyc ulubione" + +msgid "delete" +msgstr "usunąć" + +msgid "estimated reading time:" +msgstr "szacowany czas odczytu:" + +msgid "results" +msgstr "wyniki" + +msgid "home" +msgstr "główna" + +msgid "favorites" +msgstr "ulubione" + +msgid "tags" +msgstr "tagi" + +msgid "config" +msgstr "ustawienia" + +msgid "logout" +msgstr "wyloguj" + +msgid "Poching links" +msgstr "Zapisywanie linków" + +msgid "There are several ways to poche a link:" +msgstr "Istnieje kilka sposobów aby zapisać link:" + +msgid "read the documentation" +msgstr "zapoznać się z dokumentacją" + +msgid "download the extension" +msgstr "pobrać rozszerzenie" + +msgid "via F-Droid" +msgstr "przez F-Droid" + +msgid " or " +msgstr "albo" + +msgid "via Google Play" +msgstr "przez Google Play" + +msgid "download the application" +msgstr "pobrać aplikację" + +msgid "By filling this field" +msgstr "Poprzez wypełnienie tego pola" + +msgid "poche it!" +msgstr "zapisać!" + +msgid "Bookmarklet: drag & drop this link to your bookmarks bar" +msgstr "Bookmarklet: przeciągnij i upucs ten link na pasek zakladek" + +msgid "Updating poche" +msgstr "Aktualizacja poche" + +msgid "Installed version" +msgstr "Zainstalowana wersja " + +msgid "Latest stable version" +msgstr "Najnowsza stabilna wersja" + +msgid "A more recent stable version is available." +msgstr "Nowsza stabilna wersja jest dostępna." + +msgid "You are up to date." +msgstr "Masz wszystko najnowsze." + +msgid "latest dev version" +msgstr "najnowsza wersja dev" + +msgid "a more recent development version is available." +msgstr "Nowsza wersja rozwojowa jest dostępna." + +msgid "you are up to date." +msgstr "masz wszystko najnowsze." + +msgid "Feeds" +msgstr "Kanały (feeds)" + +msgid "Your feed token is currently empty and must first be generated to enable feeds. Click here to generate it." +msgstr "Twój znak kanału jest pusty i musi najpierw zostac wygenerowany. Kliknij tu dla jego generacji." + +msgid "Unread feed" +msgstr "Kanał nieprzeczytanego" + +msgid "Favorites feed" +msgstr "Kanał ulubionego" + +msgid "Archive feed" +msgstr "Kanał archiwum" + +msgid "Your token:" +msgstr "Twój znak (token): " + +msgid "Your user id:" +msgstr "Twój id użytkownika (user id):" + +msgid "You can regenerate your token: generate!." +msgstr "Mozna zgenerowac nowy znak: kliknij zgenerowac!." + +msgid "Change your theme" +msgstr "Zmienic motyw" + +msgid "Theme:" +msgstr "Motyw:" + +msgid "Update" +msgstr "Aktualizacja" + +msgid "Change your language" +msgstr "Zmienić język" + +msgid "Language:" +msgstr "Język:" + +msgid "Change your password" +msgstr "Zmień hasło" + +msgid "New password:" +msgstr "Nowe hasło:" + +msgid "Password" +msgstr "Hasło" + +msgid "Repeat your new password:" +msgstr "Powtórz hasło jeszcze raz:" + +msgid "Import" +msgstr "Import" + +msgid "Please execute the import script locally as it can take a very long time." +msgstr "Proszę wykonać skrypt import lokalnie, gdyż moze to trwać bardzo długo." + +msgid "More info in the official docs:" +msgstr "Więcej informacji w oficjalnej dokumentacji:" + +msgid "Import from Pocket" +msgstr "Іmport z Pocket'a" + +#, php-format +msgid "(you must have a %s file on your server)" +msgstr "(musisz mieć plik %s na serwerze)" + +msgid "Import from Readability" +msgstr "Import z Readability" + +msgid "Import from Instapaper" +msgstr "Import z Instapaper" + +msgid "Import from poche" +msgstr "Import z poche" + +msgid "Export your poche data" +msgstr "Eksportowac dane poche" + +msgid "Click here" +msgstr "Kliknij tu" + +msgid "to download your database." +msgstr "aby pobrac bazę danych." + +msgid "to export your poche data." +msgstr "aby eksportować dane poche." + +msgid "Tag" +msgstr "Teg" + +msgid "No link available here!" +msgstr "Brak dostępnych linków!" + +msgid "toggle mark as read" +msgstr "przełączyć znak jako przeczytane" + +msgid "You can enter multiple tags, separated by commas." +msgstr "Mozna wprowadzić wiele tagów rozdzielajac je przecinkami." + +msgid "return to article" +msgstr "wrócić do artykułu" + +msgid "plop" +msgstr "plop" + +msgid "You can check your configuration here." +msgstr "Można sprawdzić swoją konfigurację tu." + +msgid "installation" +msgstr "instalacja" + +msgid "install your wallabag" +msgstr "zainstalować wallabag" + +msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to read the documentation on wallabag website." +msgstr "wallabag nie jest jeszcze zainstalowany. Proszę wypełnić poniższy formularz, aby go zainstalowac. Nie wahaj się zapoznac się z dokumentacja na stronie wallabag." + +msgid "Login" +msgstr "Login" + +msgid "Repeat your password" +msgstr "Powtórz hasło" + +msgid "Install" +msgstr "Instalowac" + +msgid "login to your wallabag" +msgstr "zalogować się do swojego wallabag" + +msgid "Login to wallabag" +msgstr "Zalogować się do wallabag" + +msgid "you are in demo mode, some features may be disabled." +msgstr "jesteś w trybie demo, niektóre funkcje mogą być niedostępne." + +msgid "Username" +msgstr "Imię użytkownika" + +msgid "Stay signed in" +msgstr "Pozostań zalogowany" + +msgid "(Do not check on public computers)" +msgstr "(Nie sprawdzaj na publicznych komputerach" + +msgid "Untitled" +msgstr "Bez nazwy" + +msgid "the link has been added successfully" +msgstr "link pozostał pomyślnie dodany" + +msgid "error during insertion : the link wasn't added" +msgstr "błąd podczas wprowadzania: link nie zostal dodany" + +msgid "the link has been deleted successfully" +msgstr "link zostal pomyślnie usunięty" + +msgid "the link wasn't deleted" +msgstr "link nie został usunięty" + +msgid "previous" +msgstr "poprzednia" + +msgid "next" +msgstr "następna" + +msgid "in demo mode, you can't update your password" +msgstr "w trybie demo, nie można zmieniać hasła" + +msgid "your password has been updated" +msgstr "twoje hasło zmienione" + +msgid "the two fields have to be filled & the password must be the same in the two fields" +msgstr "oba pola muszą być wypełnione i hasła muszę być takie same w obu polach" + +msgid "still using the \"" +msgstr "nadal w użyciu \"" + +msgid "that theme does not seem to be installed" +msgstr "wydaje się że motyw nie był zainstalowany" + +msgid "you have changed your theme preferences" +msgstr "ustawienia motywu zostałe zmienione" + +msgid "that language does not seem to be installed" +msgstr "wydaje się że język nie był zainstalowany" + +msgid "you have changed your language preferences" +msgstr "ustawienia języka zostałe zmienione" + +msgid "login failed: you have to fill all fields" +msgstr "logowanie nie powiodlo się: musisz wypełnić wszystkie pola" + +msgid "welcome to your poche" +msgstr "witamy w poche" + +msgid "login failed: bad login or password" +msgstr "logowanie nie powiodlo się: zly login lub hasło" + +msgid "see you soon!" +msgstr "do zobaczenia wkrótce!" + +msgid "import from instapaper completed" +msgstr "import з instapaper'a zakończony" + +msgid "import from pocket completed" +msgstr "import z pocket'a zakończony" + +msgid "import from Readability completed. " +msgstr "import z Readability zakończony. " + +msgid "import from Poche completed. " +msgstr "import z Poche zakończony. " + +msgid "Unknown import provider." +msgstr "Nieznany dostawca importu." + +msgid "Incomplete inc/poche/define.inc.php file, please define \"" +msgstr "Niekompletny plik inc/poche/define.inc.php, proszę definiować \"" + +msgid "Could not find required \"" +msgstr "Nie znaleziono potrzebnego \"" + +msgid "Uh, there is a problem while generating feeds." +msgstr "Uh, jest problem podczas generowania kanałów (feeds)." + +msgid "Oops, it seems you don't have PHP 5." +msgstr "Oops, wygląda ze u was niema PHP 5." + diff --git a/locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo b/locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo old mode 100644 new mode 100755 index c8c29021..c9cf1a55 Binary files a/locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo and b/locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo differ diff --git a/locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.po b/locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.po old mode 100644 new mode 100755 index 6f647e36..aa1769cf --- a/locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.po +++ b/locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.po @@ -1,53 +1,242 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-07 12:40+0300\n" "PO-Revision-Date: \n" -"Last-Translator: Nicolas Lœuillet \n" +"Last-Translator: Maryana \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.4\n" +"X-Poedit-Language: Russian\n" +"X-Poedit-Country: RUSSIA\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag\n" + +msgid "poche, a read it later open source system" +msgstr "poche, сервис отложенного чтения с открытым исходным кодом" + +msgid "login failed: user doesn't exist" +msgstr "войти не удалось: пользователь не существует" + +msgid "Return home" +msgstr "На главную" + +msgid "Back to top" +msgstr "Наверх" + +msgid "original" +msgstr "источник" + +msgid "Mark as read" +msgstr "Отметить как прочитанное" + +msgid "Toggle mark as read" +msgstr "Изменить отметку 'прочитано'" + +msgid "Favorite" +msgstr "Избранное" + +msgid "Toggle favorite" +msgstr "Изменить метку избранного" + +msgid "Delete" +msgstr "Удалить" + +msgid "Tweet" +msgstr "Твитнуть" + +msgid "Email" +msgstr "Отправить по почте" + +msgid "shaarli" +msgstr "shaarli" + +msgid "flattr" +msgstr "проспонсировать" + +msgid "Does this article appear wrong?" +msgstr "Статья выглядит криво?" + +msgid "tags:" +msgstr "теги:" + +msgid "Edit tags" +msgstr "Редактировать теги" + +msgid "return home" +msgstr "на главную" + +msgid "powered by" +msgstr "при поддержке" + +msgid "debug mode is on so cache is off." +msgstr "включён режим отладки - кеш выключен." + +msgid "your poche version:" +msgstr "ваша версия poche:" + +msgid "storage:" +msgstr "хранилище:" + +msgid "favoris" +msgstr "избранное" + +msgid "archive" +msgstr "архив" + +msgid "unread" +msgstr "непрочитанное" + +msgid "by date asc" +msgstr "по дате, сперва старые" + +msgid "by date" +msgstr "по дате" + +msgid "by date desc" +msgstr "по дате, сперва новые" + +msgid "by title asc" +msgstr "по заголовку (прямой)" + +msgid "by title" +msgstr "по заголовку" + +msgid "by title desc" +msgstr "по заголовку (обратный)" + +msgid "No articles found." +msgstr "Статей не найдено." + +msgid "toggle favorite" +msgstr "изменить метку избранного" + +msgid "delete" +msgstr "удалить" + +msgid "estimated reading time:" +msgstr "ориентировочное время чтения:" + +msgid "results" +msgstr "найдено" + +msgid "home" +msgstr "главная" + +msgid "favorites" +msgstr "избранное" + +msgid "tags" +msgstr "теги" msgid "config" msgstr "настройки" -msgid "Poching a link" -msgstr "Сохраняю ссылку" +msgid "logout" +msgstr "выход" + +msgid "Poching links" +msgstr "Сохранение ссылок" + +msgid "There are several ways to poche a link:" +msgstr "Существует несколько способов сохранить ссылку:" msgid "read the documentation" msgstr "читать инструкцию" -msgid "by filling this field" -msgstr "заполнением этого поля" +msgid "download the extension" +msgstr "скачать расширение" + +msgid "via F-Droid" +msgstr "с F-Droid" + +msgid " or " +msgstr "или" + +msgid "via Google Play" +msgstr "с Google Play" + +msgid "download the application" +msgstr "скачать приложение" + +msgid "By filling this field" +msgstr "Заполнением этого поля" msgid "poche it!" -msgstr "Прикарманить!" +msgstr "прикарманить!" + +msgid "Bookmarklet: drag & drop this link to your bookmarks bar" +msgstr "Закладка: перетащите и опустите ссылку на панель закладок" msgid "Updating poche" -msgstr "Обновляю poche" +msgstr "Обновления poche" -msgid "your version" -msgstr "Ваша версия" +msgid "Installed version" +msgstr "Установленная версия" -msgid "latest stable version" -msgstr "крайняя стабильная версия" +msgid "Latest stable version" +msgstr "Последняя стабильная версия" -msgid "a more recent stable version is available." -msgstr "есть более новая стабильная версия." +msgid "A more recent stable version is available." +msgstr "Доступна новая стабильная версия." -msgid "you are up to date." -msgstr "у Вас всё самое новое." +msgid "You are up to date." +msgstr "У вас всё самое новое." msgid "latest dev version" -msgstr "крайняя версия разработчиков" +msgstr "последняя версия в разработке" msgid "a more recent development version is available." -msgstr "есть более свежая версия разработчиков." +msgstr "есть более свежая версия в разработке." + +msgid "you are up to date." +msgstr "у вас всё самое новое." + +msgid "Feeds" +msgstr "Ленты (feeds)" + +msgid "Your feed token is currently empty and must first be generated to enable feeds. Click here to generate it." +msgstr "Ваш маркер ленты (feed token) не определен, для того, чтобы активировать ленту, сначала создайте его. Нажмите здесь для его генерации." + +msgid "Unread feed" +msgstr "Лента непрочитанного" + +msgid "Favorites feed" +msgstr "Лента избранного" + +msgid "Archive feed" +msgstr "Лента архива" + +msgid "Your token:" +msgstr "Ваш маркер (token):" + +msgid "Your user id:" +msgstr "Ваш идентификатор пользователя (user id):" + +msgid "You can regenerate your token: generate!." +msgstr "Вы можете создать новый ​​маркер: сгенерировать!." + +msgid "Change your theme" +msgstr "Изменить тему" + +msgid "Theme:" +msgstr "Тема:" + +msgid "Update" +msgstr "Обновить" + +msgid "Change your language" +msgstr "Изменить язык" + +msgid "Language:" +msgstr "Язык:" msgid "Change your password" -msgstr "Смени пароль" +msgstr "Смена пароля" msgid "New password:" msgstr "Новый пароль:" @@ -58,171 +247,198 @@ msgstr "Пароль" msgid "Repeat your new password:" msgstr "Ещё раз новый пароль:" -msgid "Update" -msgstr "Обновить" - msgid "Import" msgstr "Импортировать" -msgid "Please execute the import script locally, it can take a very long time." -msgstr "" -"Выполните сценарий импорта локально - он может занять слишком много времени." +msgid "Please execute the import script locally as it can take a very long time." +msgstr "Пожалуйста, выполните сценарий импорта локально - это может занять слишком много времени." -msgid "More info in the official doc:" +msgid "More info in the official docs:" msgstr "Больше сведений в официальной документации:" -msgid "import from Pocket" -msgstr "импортировать из Pocket" +msgid "Import from Pocket" +msgstr "Импортировать из Pocket" + +#, php-format +msgid "(you must have a %s file on your server)" +msgstr "(файл %s должен присутствовать на вашем сервере)" + +msgid "Import from Readability" +msgstr "Импортировать из Readability" -msgid "import from Readability" -msgstr "импортировать из Readability" +msgid "Import from Instapaper" +msgstr "Импортировать из Instapaper" -msgid "import from Instapaper" -msgstr "импортировать из Instapaper" +msgid "Import from poche" +msgstr "Импортировать из poche" msgid "Export your poche data" msgstr "Экспортировать данные poche" msgid "Click here" -msgstr "Кликни сюда" +msgstr "Кликните здесь" + +msgid "to download your database." +msgstr "чтобы скачать вашу базу данных" msgid "to export your poche data." -msgstr "чтобы экспортировать твои записи из poche." +msgstr "чтобы экспортировать свои записи из poche." + +msgid "Tag" +msgstr "Тег" -msgid "back to home" -msgstr "домой" +msgid "No link available here!" +msgstr "Здесь нет ссылки!" + +msgid "toggle mark as read" +msgstr "изменить отметку 'прочитано'" + +msgid "You can enter multiple tags, separated by commas." +msgstr "Вы можете ввести несколько тегов, разделяя их запятой." + +msgid "return to article" +msgstr "вернуться к статье" + +msgid "plop" +msgstr "plop" + +msgid "You can check your configuration here." +msgstr "Вы можете проверить конфигурацию здесь." msgid "installation" msgstr "установка" -msgid "install your poche" -msgstr "установить твой poche" +msgid "install your wallabag" +msgstr "установка wallabag" -msgid "" -"poche is still not installed. Please fill the below form to install it. " -"Don't hesitate to read the documentation " -"on poche website." -msgstr "" -"poche всё ещё не установлен. Надо заполнить форму ниже, чтобы установить " -"его. Неплохо также прочесть документацию " -"на сайте poche." +msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to read the documentation on wallabag website." +msgstr "wallabag всё ещё не установлен. Надо заполнить форму ниже, чтобы установить его. Неплохо также прочесть документацию на сайте wallabag." msgid "Login" -msgstr "Регистрационное имя" +msgstr "Имя пользователя" msgid "Repeat your password" -msgstr "Повтори пароль" +msgstr "Повторите пароль" msgid "Install" msgstr "Установить" -msgid "back to top" -msgstr "наверх" +msgid "login to your wallabag" +msgstr "войти в свой wallabag" -msgid "favoris" -msgstr "избранное" +msgid "Login to wallabag" +msgstr "Войдите в wallabag" -msgid "archive" -msgstr "архив" +msgid "you are in demo mode, some features may be disabled." +msgstr "демонстрационный режим - работают не все возможности." -msgid "unread" -msgstr "нечитанное" +msgid "Username" +msgstr "Имя пользователя" -msgid "by date asc" -msgstr "по дате, сперва старые" +msgid "Stay signed in" +msgstr "Запомнить меня" -msgid "by date" -msgstr "по дате" +msgid "(Do not check on public computers)" +msgstr "(Не отмечайте на чужих компьютерах)" -msgid "by date desc" -msgstr "по дате, сперва новые" +msgid "Untitled" +msgstr "Без названия" -msgid "by title asc" -msgstr "по заголовку (прямой)" +msgid "the link has been added successfully" +msgstr "ссылка успешно добавлена" -msgid "by title" -msgstr "по заголовку" +msgid "error during insertion : the link wasn't added" +msgstr "ошибка во время вставки: ссылка не добавлена" -msgid "by title desc" -msgstr "по заголовку (обратный)" +msgid "the link has been deleted successfully" +msgstr "ссылка успешно удалена" -msgid "No link available here!" -msgstr "Здесь нет линка!" +msgid "the link wasn't deleted" +msgstr "ссылка не удалена" -msgid "toggle mark as read" -msgstr "изменить отметку 'прочитано'" +msgid "previous" +msgstr "предыдущая" -msgid "toggle favorite" -msgstr "изменить избранность" +msgid "next" +msgstr "следующая" -msgid "delete" -msgstr "удалить" +msgid "in demo mode, you can't update your password" +msgstr "в демонстрационном режиме смена пароля не разрешена" -msgid "original" -msgstr "исходный" +msgid "your password has been updated" +msgstr "ваш пароль обновлен" -msgid "results" -msgstr "найдено" +msgid "the two fields have to be filled & the password must be the same in the two fields" +msgstr "необходимо заполнить оба поля и пароль в обоих должен совпадать" -msgid "tweet" -msgstr "твитнуть" +msgid "still using the \"" +msgstr "все еще используется \"" -msgid "email" -msgstr "отправить по почте" +msgid "that theme does not seem to be installed" +msgstr "кажется, эта тема не установлена" -msgid "shaarli" -msgstr "Шаарли" +msgid "you have changed your theme preferences" +msgstr "вы изменили свои настройки темы" -msgid "flattr" -msgstr "проспонсировать" +msgid "that language does not seem to be installed" +msgstr "кажется, что этот язык не установлен" -msgid "this article appears wrong?" -msgstr "статья выглядит криво?" +msgid "you have changed your language preferences" +msgstr "вы изменили свои настройки языка" -msgid "create an issue" -msgstr "оповестить об ошибке" +msgid "login failed: you have to fill all fields" +msgstr "войти не удалось: вы должны заполнить все поля" -msgid "or" -msgstr "или" +msgid "welcome to your poche" +msgstr "добро пожаловать в ваш poche" -msgid "contact us by mail" -msgstr "связаться по почте" +msgid "login failed: bad login or password" +msgstr "войти не удалось: неправильное имя пользователя или пароль" -msgid "plop" -msgstr "plop" +msgid "see you soon!" +msgstr "увидимся!" -msgid "home" -msgstr "домой" +msgid "import from instapaper completed" +msgstr "импорт из instapaper завершен" -msgid "favorites" -msgstr "избранное" +msgid "import from pocket completed" +msgstr "импорт из pocket завершен" -msgid "logout" -msgstr "выйти" +msgid "import from Readability completed. " +msgstr "импорт из Readability завершен" -msgid "powered by" -msgstr "на основе" +msgid "import from Poche completed. " +msgstr "импорт из Poche завершен." -msgid "debug mode is on so cache is off." -msgstr "включён режим отладки - кеш выключен." +msgid "Unknown import provider." +msgstr "Неизвестный провайдер импорта." -msgid "your poche version:" -msgstr "Ваша версия poche:" +msgid "Incomplete inc/poche/define.inc.php file, please define \"" +msgstr "Незавершенный файл inc/poche/define.inc.php file, пожалуйста определите \"" -msgid "storage:" -msgstr "хранилище:" +msgid "Could not find required \"" +msgstr "Не удалось найти требуемый \"" -msgid "login to your poche" -msgstr "войти в свой poche" +msgid "Uh, there is a problem while generating feeds." +msgstr "Ох, возникла проблема при создании ленты." -msgid "you are in demo mode, some features may be disabled." -msgstr "демонстрационный режим - работают не все возможности." +msgid "Oops, it seems you don't have PHP 5." +msgstr "Упс, кажется у вас не установлен PHP 5." -msgid "Stay signed in" -msgstr "Оставаться зарегистрированным" +#~ msgid "your version" +#~ msgstr "Ваша версия" -msgid "(Do not check on public computers)" -msgstr "(Не отмечай на чужих компьютерах)" +#~ msgid "back to home" +#~ msgstr "домой" + +#~ msgid "create an issue" +#~ msgstr "оповестить об ошибке" + +#~ msgid "or" +#~ msgstr "или" + +#~ msgid "contact us by mail" +#~ msgstr "связаться по почте" -msgid "Sign in" -msgstr "Зарегистрироваться" +#~ msgid "Sign in" +#~ msgstr "Зарегистрироваться" diff --git a/locale/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.mo b/locale/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.mo new file mode 100755 index 00000000..80972b65 Binary files /dev/null and b/locale/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.mo differ diff --git a/locale/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.po b/locale/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.po new file mode 100755 index 00000000..6092cbab --- /dev/null +++ b/locale/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.po @@ -0,0 +1,428 @@ +msgid "" +msgstr "" +"Project-Id-Version: wballabag\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-06 19:23+0300\n" +"PO-Revision-Date: 2014-02-06 19:24+0300\n" +"Last-Translator: Maryana \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-Language: Ukrainian\n" +"X-Poedit-Country: UKRAINE\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag\n" + +msgid "poche, a read it later open source system" +msgstr "poche, сервіс відкладеного читання з відкритим кодом" + +msgid "login failed: user doesn't exist" +msgstr "увійти не вдалося: користувач не існує" + +msgid "powered by" +msgstr "за підтримки" + +msgid "debug mode is on so cache is off." +msgstr "режим відладки включено, отже кеш виключено." + +msgid "your poche version:" +msgstr "версія вашої poche:" + +msgid "storage:" +msgstr "сховище:" + +msgid "home" +msgstr "головна" + +msgid "favorites" +msgstr "вибране" + +msgid "archive" +msgstr "архів" + +msgid "tags" +msgstr "теги" + +msgid "config" +msgstr "налаштування" + +msgid "logout" +msgstr "вихід" + +msgid "return home" +msgstr "повернутися на головну" + +msgid "Poching links" +msgstr "Зберігання посилань" + +msgid "There are several ways to poche a link:" +msgstr "Є кілька способів зберегти посилання:" + +msgid "read the documentation" +msgstr "читати документацію" + +msgid "download the extension" +msgstr "завантажити розширення" + +msgid "via F-Droid" +msgstr "через F-Droid" + +msgid " or " +msgstr "або" + +msgid "via Google Play" +msgstr "через Google Play" + +msgid "download the application" +msgstr "завантажити додаток" + +msgid "By filling this field" +msgstr "Заповнивши це поле" + +msgid "poche it!" +msgstr "зберегти!" + +msgid "Bookmarklet: drag & drop this link to your bookmarks bar" +msgstr "З допомогою закладки: перетягніть і відпустіть посилання на панель закладок" + +msgid "Updating poche" +msgstr "Оновлення poche" + +msgid "Installed version" +msgstr "Встановлено ​​версію" + +msgid "Latest stable version" +msgstr "Остання стабільна версія" + +msgid "A more recent stable version is available." +msgstr "Є новіша стабільна версія." + +msgid "You are up to date." +msgstr "У вас остання версія." + +msgid "latest dev version" +msgstr "остання версія в розробці" + +msgid "a more recent development version is available." +msgstr "доступна новіша версія в розробці." + +msgid "you are up to date." +msgstr "у вас остання версія." + +msgid "Feeds" +msgstr "Завантаження (feeds)" + +msgid "Your feed token is currently empty and must first be generated to enable feeds. Click here to generate it." +msgstr "Ваш маркер завантажень (feed token) не визначено, ви повинні спочатку згенерувати його для того, щоб активувати завантаження. Натисніть тут для його генерації." + +msgid "Unread feed" +msgstr "Завантаження непрочитаного" + +msgid "Favorites feed" +msgstr "Завантаження вибраного" + +msgid "Archive feed" +msgstr "Завантаження архіву" + +msgid "Your token:" +msgstr "Ваш маркер (token): " + +msgid "Your user id:" +msgstr "Ваш ідентифікатор користувача (user id):" + +msgid "You can regenerate your token: generate!." +msgstr "Ви можете перестворити ваш маркер: натисніть згенерувати!." + +msgid "Change your theme" +msgstr "Змінити тему" + +msgid "Theme:" +msgstr "Тема:" + +msgid "Update" +msgstr "Оновити" + +msgid "Change your language" +msgstr "Змінити мову" + +msgid "Language:" +msgstr "Мова:" + +msgid "Change your password" +msgstr "Зміна паролю" + +msgid "New password:" +msgstr "Новий пароль:" + +msgid "Password" +msgstr "Пароль" + +msgid "Repeat your new password:" +msgstr "Новий пароль ще раз:" + +msgid "Import" +msgstr "Імпортування" + +msgid "Please execute the import script locally as it can take a very long time." +msgstr "Будь ласка, виконайте сценарій імпорту локально, оскільки це може тривати досить довго." + +msgid "More info in the official docs:" +msgstr "Більш детальна інформація в офіційній документації:" + +msgid "Import from Pocket" +msgstr "Імпорт з Pocket-а" + +#, php-format +msgid "(you must have a %s file on your server)" +msgstr "(файл %s повинен бути присутнім на вашому сервері)" + +msgid "Import from Readability" +msgstr "Імпорт з Readability" + +msgid "Import from Instapaper" +msgstr "Імпорт з Instapaper" + +msgid "Import from poche" +msgstr "Імпорт з poche" + +msgid "Export your poche data" +msgstr "Експортувати ваші дані з poche" + +msgid "Click here" +msgstr "Клікніть тут" + +msgid "to download your database." +msgstr "щоб завантажити вашу базу даних." + +msgid "to export your poche data." +msgstr "щоб експортувати ваші дані poche." + +msgid "Tag" +msgstr "Тег" + +msgid "No link available here!" +msgstr "Немає доступних посилань!" + +msgid "toggle mark as read" +msgstr "змінити мітку на прочитано" + +msgid "toggle favorite" +msgstr "змінити мітку вибраного" + +msgid "delete" +msgstr "видалити" + +msgid "original" +msgstr "оригінал" + +msgid "estimated reading time:" +msgstr "приблизний час читання:" + +msgid "results" +msgstr "результат(ів)" + +msgid "You can enter multiple tags, separated by commas." +msgstr "Ви можете ввести декілька тегів, розділених комами." + +msgid "return to article" +msgstr "повернутися до статті" + +msgid "plop" +msgstr "plop" + +msgid "You can check your configuration here." +msgstr "Ви можете перевірити вашу конфігурацію тут." + +msgid "favoris" +msgstr "вибране" + +msgid "unread" +msgstr "непрочитане" + +msgid "by date asc" +msgstr "за датою по зростанню" + +msgid "by date" +msgstr "за датою" + +msgid "by date desc" +msgstr "за датою по спаданню" + +msgid "by title asc" +msgstr "за назвою по зростанню" + +msgid "by title" +msgstr "за назвою" + +msgid "by title desc" +msgstr "за назвою по спаданню" + +msgid "No articles found." +msgstr "Статей не знайдено." + +msgid "Toggle mark as read" +msgstr "змінити мітку прочитаного" + +msgid "installation" +msgstr "інсталяція" + +msgid "install your wallabag" +msgstr "встановити wallabag" + +msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to read the documentation on wallabag website." +msgstr "wallabag ще не встановлено. Будь ласка, заповніть форму нижче, щоб його встановити. Ви можете звертутися до документації на сайті wallabag." + +msgid "Login" +msgstr "Логін" + +msgid "Repeat your password" +msgstr "Пароль ще раз" + +msgid "Install" +msgstr "Встановити" + +msgid "login to your wallabag" +msgstr "увійти до wallabag" + +msgid "Login to wallabag" +msgstr "Увійти до wallabag" + +msgid "you are in demo mode, some features may be disabled." +msgstr "ви в демонстраційному режимі, деякі функції можуть бути відключені." + +msgid "Username" +msgstr "Ім’я користувача" + +msgid "Stay signed in" +msgstr "Запам'ятати мене" + +msgid "(Do not check on public computers)" +msgstr "(Не відмічайте на загальнодоступних комп'ютерах)" + +msgid "Return home" +msgstr "Повернутися на головну" + +msgid "Back to top" +msgstr "Догори" + +msgid "Mark as read" +msgstr "Відмітити як прочитано/не прочитано" + +msgid "Favorite" +msgstr "Вибране" + +msgid "Toggle favorite" +msgstr "Відмітити як вибране/не вибране" + +msgid "Delete" +msgstr "Видалити" + +msgid "Tweet" +msgstr "Твітнути" + +msgid "Email" +msgstr "Надіслати по e-mail" + +msgid "shaarli" +msgstr "shaarli" + +msgid "flattr" +msgstr "flattr" + +msgid "Does this article appear wrong?" +msgstr "Ця стаття виглядає не так, як треба?" + +msgid "tags:" +msgstr "теги:" + +msgid "Edit tags" +msgstr "Редагувати теги" + +msgid "previous" +msgstr "попередня" + +msgid "next" +msgstr "наступна" + +msgid "Untitled" +msgstr "Без назви" + +msgid "the link has been added successfully" +msgstr "посилання успішно додано" + +msgid "error during insertion : the link wasn't added" +msgstr "помилка при вставці: посилання не додано" + +msgid "the link has been deleted successfully" +msgstr "посилання успішно видалено" + +msgid "the link wasn't deleted" +msgstr "посилання не було видалено" + +msgid "in demo mode, you can't update your password" +msgstr "в демонстраційному режимі ви не можете змінювати свій пароль" + +msgid "your password has been updated" +msgstr "ваш пароль змінено" + +msgid "the two fields have to be filled & the password must be the same in the two fields" +msgstr "обидва поля повинні бути заповнені і пароль повинен співпадати в обох" + +msgid "still using the \"" +msgstr "досі використовується \"" + +msgid "that theme does not seem to be installed" +msgstr "виглядає, що цю тему не було встановлено" + +msgid "you have changed your theme preferences" +msgstr "ви змінили налаштування своєї теми" + +msgid "that language does not seem to be installed" +msgstr "виглядає, що цю мову не було встановлено" + +msgid "you have changed your language preferences" +msgstr "ви змінили свої налаштування мови" + +msgid "login failed: you have to fill all fields" +msgstr "увійти не вдалося: ви повинні заповнити всі поля" + +msgid "welcome to your poche" +msgstr "ласкаво просимо до вашого poche" + +msgid "login failed: bad login or password" +msgstr "увійти не вдалося: не вірний логін або пароль" + +msgid "see you soon!" +msgstr "бувайте, ще побачимось!" + +msgid "import from instapaper completed" +msgstr "імпорт з instapaper-а завершено" + +msgid "import from pocket completed" +msgstr "імпорт з pocket-а завершено" + +msgid "import from Readability completed. " +msgstr "імпорт з Readability завершено" + +msgid "import from Poche completed. " +msgstr "імпорт з Poche завершено." + +msgid "Unknown import provider." +msgstr "Невідомий провайдер імпорту." + +msgid "Incomplete inc/poche/define.inc.php file, please define \"" +msgstr "Неповний файл inc/poche/define.inc.php, будь ласка, визначте \"" + +msgid "Could not find required \"" +msgstr "Не вдалося знайти потрібний \"" + +msgid "Uh, there is a problem while generating feeds." +msgstr "Ох, є проблема при створенні завантажень (feeds)." + +msgid "Oops, it seems you don't have PHP 5." +msgstr "Упс, здається, у вас немає PHP 5." + diff --git a/themes/default/view.twig b/themes/default/view.twig index d09977a8..9858996f 100644 --- a/themes/default/view.twig +++ b/themes/default/view.twig @@ -21,7 +21,7 @@

    {{ entry.title|raw }}

    {{ content | raw }} -- cgit v1.2.3 From 3a68883ae943dcd99f33df0a29b0fba7b4d2f2f4 Mon Sep 17 00:00:00 2001 From: Florian Lauck Date: Sun, 9 Feb 2014 23:17:10 +0100 Subject: Adding .htaccess files to prohibit access to critical directories, e.g., db/ --- cache/.gitignore | 1 + cache/.htaccess | 2 ++ db/.htaccess | 2 ++ inc/.htaccess | 2 ++ locale/.htaccess | 2 ++ 5 files changed, 9 insertions(+) create mode 100644 cache/.htaccess create mode 100644 db/.htaccess create mode 100644 inc/.htaccess create mode 100644 locale/.htaccess diff --git a/cache/.gitignore b/cache/.gitignore index e69de29b..35c8ca2e 100644 --- a/cache/.gitignore +++ b/cache/.gitignore @@ -0,0 +1 @@ +!.htaccess diff --git a/cache/.htaccess b/cache/.htaccess new file mode 100644 index 00000000..93169e4e --- /dev/null +++ b/cache/.htaccess @@ -0,0 +1,2 @@ +Order deny,allow +Deny from all diff --git a/db/.htaccess b/db/.htaccess new file mode 100644 index 00000000..93169e4e --- /dev/null +++ b/db/.htaccess @@ -0,0 +1,2 @@ +Order deny,allow +Deny from all diff --git a/inc/.htaccess b/inc/.htaccess new file mode 100644 index 00000000..93169e4e --- /dev/null +++ b/inc/.htaccess @@ -0,0 +1,2 @@ +Order deny,allow +Deny from all diff --git a/locale/.htaccess b/locale/.htaccess new file mode 100644 index 00000000..93169e4e --- /dev/null +++ b/locale/.htaccess @@ -0,0 +1,2 @@ +Order deny,allow +Deny from all -- cgit v1.2.3 From 044bf638a89a4b5718340500d844e5b7eb4a5df2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Wed, 12 Feb 2014 19:58:49 +0100 Subject: bug fix #364 - RSS Feed URL problem with + sign --- inc/poche/Poche.class.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 77361ef7..7e3cac82 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -228,10 +228,6 @@ class Poche # filter for reading time $filter = new Twig_SimpleFilter('getReadingTime', 'Tools::getReadingTime'); $this->tpl->addFilter($filter); - - # filter for simple filenames in config view - $filter = new Twig_SimpleFilter('getPrettyFilename', function($string) { return str_replace(ROOT, '', $string); }); - $this->tpl->addFilter($filter); } private function install() @@ -480,8 +476,8 @@ class Poche switch ($view) { case 'config': - $dev = $this->getPocheVersion('dev'); - $prod = $this->getPocheVersion('prod'); + $dev = trim($this->getPocheVersion('dev')); + $prod = trim($this->getPocheVersion('prod')); $compare_dev = version_compare(POCHE, $dev); $compare_prod = version_compare(POCHE, $prod); $themes = $this->getInstalledThemes(); @@ -745,7 +741,6 @@ class Poche { $this->user = array(); Session::logout(); - $this->messages->add('s', _('see you soon!')); Tools::logm('logout'); Tools::redirect(); } @@ -1009,6 +1004,7 @@ class Poche $token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20); } + $token = str_replace('+', '', $token); $this->store->updateUserConfig($this->user->getId(), 'token', $token); $currentConfig = $_SESSION['poche_user']->config; $currentConfig['token'] = $token; -- cgit v1.2.3 From 26929c08d3788764042065789c3ed36af41bd208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Wed, 12 Feb 2014 20:04:47 +0100 Subject: bug fix #430 - welcome to your wallabag --- inc/poche/Poche.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 7e3cac82..78031984 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -722,7 +722,7 @@ class Poche $longlastingsession = isset($_POST['longlastingsession']); $passwordTest = ($isauthenticated) ? $user['password'] : Tools::encodeString($password . $login); Session::login($user['username'], $user['password'], $login, $passwordTest, $longlastingsession, array('poche_user' => new User($user))); - $this->messages->add('s', _('welcome to your poche')); + $this->messages->add('s', _('welcome to your wallabag')); Tools::logm('login successful'); Tools::redirect($referer); } -- cgit v1.2.3 From 5966d2c2d3f30ab7b4fdbaf3bf3176532118c0a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Wed, 12 Feb 2014 20:05:47 +0100 Subject: change README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 30fc9657..4dc13522 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # what is wallabag ? wallabag is a self hostable application allowing you to not miss any content anymore. Click, save, read it when you can. It extracts content so that you can read it when you have time. -To test wallabag, a demo website is online : [demo.wallabag.org](http://demo.wallabag.org) (login poche, password poche). +More informations on our website: [wallabag.org](http://wallabag.org) ## License Copyright © 2010-2013 Nicolas Lœuillet -- cgit v1.2.3 From 26170f4613b594b5630d3a5a48f8edfe491ffdaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Wed, 12 Feb 2014 21:46:49 +0100 Subject: change static files --- CONTRIBUTING.md | 4 ++-- CREDITS.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7fdca652..85c09e52 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,10 +1,10 @@ # How contributing ## You found a bug -Please [open a new issue](https://github.com/wallabag/demo.wallabag.org/issues/new). +Please [open a new issue](https://github.com/wallabag/wallabag/issues/new). To fix the bug quickly, we need some infos: -* your demo.wallabag.org version (in ./index.php) +* your wallabag version (in ./index.php) * the link you want to save and which causes problem ## You want to fix a bug or to add a feature diff --git a/CREDITS.md b/CREDITS.md index 391f53c5..c892336d 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -2,7 +2,7 @@ wallabag is based on : * PHP Readability https://bitbucket.org/fivefilters/php-readability * Full Text RSS http://code.fivefilters.org/full-text-rss/src * Encoding https://github.com/neitanod/forceutf8 -* logo by Brightmix http://www.iconfinder.com/icondetails/43256/128/jeans_monotone_pocket_icon +* logo by Maylis Agniel https://github.com/wallabag/logo * icons http://icomoon.io * PHP Simple HTML DOM Parser (for Pocket import) http://simplehtmldom.sourceforge.net/ * Session https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php -- cgit v1.2.3 From ed2853564e3db719abf5378b31fe5067dad513c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Wed, 12 Feb 2014 21:51:11 +0100 Subject: [fix] somes fixes on old default theme --- themes/default/_footer.twig | 2 +- themes/default/_head.twig | 21 +++++++++++---------- themes/default/js/closeMessage.js | 17 +++++++++++++++++ 3 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 themes/default/js/closeMessage.js diff --git a/themes/default/_footer.twig b/themes/default/_footer.twig index f837ae38..3057cb75 100644 --- a/themes/default/_footer.twig +++ b/themes/default/_footer.twig @@ -1,4 +1,4 @@

    {% trans "powered by" %} wallabag

    - {% if constant('DEBUG_POCHE') == 1 %}

    {% trans "debug mode is on so cache is off." %} {% trans "your poche version:" %}{{constant('POCHE')}}. {% trans "storage:" %} {{constant('STORAGE')}}

    {% endif %} + {% if constant('DEBUG_POCHE') == 1 %}

    {% trans "debug mode is on so cache is off." %} {% trans "your wallabag version:" %}{{constant('POCHE')}}. {% trans "storage:" %} {{constant('STORAGE')}}

    {% endif %}
    \ No newline at end of file diff --git a/themes/default/_head.twig b/themes/default/_head.twig index 577cc693..f310e420 100644 --- a/themes/default/_head.twig +++ b/themes/default/_head.twig @@ -1,11 +1,12 @@ - - - - - - + + + + + + - - - - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/themes/default/js/closeMessage.js b/themes/default/js/closeMessage.js new file mode 100644 index 00000000..b57fe4a8 --- /dev/null +++ b/themes/default/js/closeMessage.js @@ -0,0 +1,17 @@ +$(function(){ + //--------------------------------------------------------------------------- + // Show the close icon when the user hover over a message + //--------------------------------------------------------------------------- + $('.messages').on('mouseenter', function(){ + $(this).find('a.closeMessage').stop(true, true).show(); + }).on('mouseleave', function(){ + $(this).find('a.closeMessage').stop(true, true).hide(); + }); + //--------------------------------------------------------------------------- + // Close the message box when the user clicks the close icon + //--------------------------------------------------------------------------- + $('a.closeMessage').on('click', function(){ + $(this).parents('div.messages').slideUp(300, function(){ $(this).remove(); }); + return false; + }); +}); \ No newline at end of file -- cgit v1.2.3 From f14807de06929486de6e2b64cd30e5c53978d8c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Wed, 12 Feb 2014 21:52:01 +0100 Subject: [add] mark all as read #385 --- inc/poche/Database.class.php | 6 ++++++ inc/poche/Poche.class.php | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php index 0457af69..9f553fa1 100644 --- a/inc/poche/Database.class.php +++ b/inc/poche/Database.class.php @@ -318,6 +318,12 @@ class Database { $query = $this->executeQuery($sql_action, $params_action); } + public function archiveAll($user_id) { + $sql_action = "UPDATE entries SET is_read=? WHERE user_id=? AND is_read=?"; + $params_action = array($user_id, 1, 0); + $query = $this->executeQuery($sql_action, $params_action); + } + public function getLastId($column = '') { return $this->getHandle()->lastInsertId($column); } diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 9345d1c1..a786c8df 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -434,6 +434,13 @@ class Poche Tools::redirect(); } break; + case 'archive_all' : + $this->store->archiveAll($this->user->getId()); + Tools::logm('archive all links'); + if (!$import) { + Tools::redirect(); + } + break; case 'add_tag' : $tags = explode(',', $_POST['value']); $entry_id = $_POST['entry_id']; -- cgit v1.2.3 From 16fd1cce61a2b8fae4edce108d95f172c4dd32b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Wed, 12 Feb 2014 21:52:51 +0100 Subject: [change] time for session --- inc/3rdparty/Session.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/3rdparty/Session.class.php b/inc/3rdparty/Session.class.php index 32624559..b30a31f3 100644 --- a/inc/3rdparty/Session.class.php +++ b/inc/3rdparty/Session.class.php @@ -31,9 +31,9 @@ class Session public static $sessionName = ''; // If the user does not access any page within this time, // his/her session is considered expired (3600 sec. = 1 hour) - public static $inactivityTimeout = 3600; + public static $inactivityTimeout = 86400; // Extra timeout for long sessions (if enabled) (82800 sec. = 23 hours) - public static $longSessionTimeout = 82800; + public static $longSessionTimeout = 31536000; // If you get disconnected often or if your IP address changes often. // Let you disable session cookie hijacking protection public static $disableSessionProtection = false; -- cgit v1.2.3 From 83b47311ba0b8383da7955723a694b0fb3819062 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Wed, 12 Feb 2014 21:58:14 +0100 Subject: go go go, 1.5 powa --- index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.php b/index.php index 9113f193..60755cf7 100644 --- a/index.php +++ b/index.php @@ -8,7 +8,7 @@ * @license http://www.wtfpl.net/ see COPYING file */ -define ('POCHE', '1.4.0'); +define ('POCHE', '1.5.0'); require_once 'inc/poche/global.inc.php'; session_start(); -- cgit v1.2.3 From 943ac3c77ec1dd93d14a780b25fa147d0f882760 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Wed, 12 Feb 2014 21:58:40 +0100 Subject: new theme, baggy one cf #448 --- themes/baggy/README.md | 3 + themes/baggy/_head.twig | 13 + themes/baggy/_menu.twig | 9 + themes/baggy/_top.twig | 7 + themes/baggy/config.twig | 119 +++++ themes/baggy/css/font.css | 0 themes/baggy/css/main.css | 821 ++++++++++++++++++++++++++++++ themes/baggy/css/messages.css | 0 themes/baggy/css/print.css | 48 ++ themes/baggy/css/ratatouille.css | 211 ++++++++ themes/baggy/edit-tags.twig | 20 + themes/baggy/font/icomoon.eot | Bin 0 -> 3724 bytes themes/baggy/font/icomoon.svg | 26 + themes/baggy/font/icomoon.ttf | Bin 0 -> 3560 bytes themes/baggy/font/icomoon.woff | Bin 0 -> 3528 bytes themes/baggy/home.twig | 49 ++ themes/baggy/img/apple-touch-icon-114.png | Bin 0 -> 2281 bytes themes/baggy/img/apple-touch-icon-120.png | Bin 0 -> 2318 bytes themes/baggy/img/apple-touch-icon-144.png | Bin 0 -> 2718 bytes themes/baggy/img/apple-touch-icon-152.png | Bin 0 -> 2835 bytes themes/baggy/img/apple-touch-icon-57.png | Bin 0 -> 1582 bytes themes/baggy/img/apple-touch-icon-72.png | Bin 0 -> 1709 bytes themes/baggy/img/apple-touch-icon-76.png | Bin 0 -> 1838 bytes themes/baggy/img/apple-touch-icon.png | Bin 0 -> 1579 bytes themes/baggy/img/bg-select.png | Bin 0 -> 1095 bytes themes/baggy/img/favicon.ico | Bin 0 -> 34494 bytes themes/baggy/img/logo-w.png | Bin 0 -> 4916 bytes themes/baggy/img/logo-wallabag.svg | 300 +++++++++++ themes/baggy/img/logo.png | Bin 0 -> 1350 bytes themes/baggy/img/logo.svg | 8 + themes/baggy/js/autoClose.js | 6 + themes/baggy/js/closeMessage.js | 17 + themes/baggy/js/init.js | 12 + themes/baggy/js/jquery-2.0.3.min.js | 1 + themes/baggy/js/restoreScroll.js | 25 + themes/baggy/layout-login.twig | 31 ++ themes/baggy/layout.twig | 31 ++ themes/baggy/login.twig | 34 ++ themes/baggy/screenshot.jpg | Bin 0 -> 256315 bytes themes/baggy/tag.twig | 34 ++ themes/baggy/tags.twig | 13 + themes/baggy/theme.ini | 3 + themes/baggy/view.twig | 32 ++ 43 files changed, 1873 insertions(+) create mode 100755 themes/baggy/README.md create mode 100644 themes/baggy/_head.twig create mode 100644 themes/baggy/_menu.twig create mode 100644 themes/baggy/_top.twig create mode 100644 themes/baggy/config.twig create mode 100755 themes/baggy/css/font.css create mode 100755 themes/baggy/css/main.css create mode 100755 themes/baggy/css/messages.css create mode 100755 themes/baggy/css/print.css create mode 100644 themes/baggy/css/ratatouille.css create mode 100644 themes/baggy/edit-tags.twig create mode 100755 themes/baggy/font/icomoon.eot create mode 100755 themes/baggy/font/icomoon.svg create mode 100755 themes/baggy/font/icomoon.ttf create mode 100755 themes/baggy/font/icomoon.woff create mode 100644 themes/baggy/home.twig create mode 100755 themes/baggy/img/apple-touch-icon-114.png create mode 100755 themes/baggy/img/apple-touch-icon-120.png create mode 100755 themes/baggy/img/apple-touch-icon-144.png create mode 100755 themes/baggy/img/apple-touch-icon-152.png create mode 100755 themes/baggy/img/apple-touch-icon-57.png create mode 100755 themes/baggy/img/apple-touch-icon-72.png create mode 100755 themes/baggy/img/apple-touch-icon-76.png create mode 100755 themes/baggy/img/apple-touch-icon.png create mode 100644 themes/baggy/img/bg-select.png create mode 100755 themes/baggy/img/favicon.ico create mode 100755 themes/baggy/img/logo-w.png create mode 100644 themes/baggy/img/logo-wallabag.svg create mode 100755 themes/baggy/img/logo.png create mode 100644 themes/baggy/img/logo.svg create mode 100644 themes/baggy/js/autoClose.js create mode 100644 themes/baggy/js/closeMessage.js create mode 100755 themes/baggy/js/init.js create mode 100644 themes/baggy/js/jquery-2.0.3.min.js create mode 100644 themes/baggy/js/restoreScroll.js create mode 100644 themes/baggy/layout-login.twig create mode 100644 themes/baggy/layout.twig create mode 100644 themes/baggy/login.twig create mode 100755 themes/baggy/screenshot.jpg create mode 100644 themes/baggy/tag.twig create mode 100644 themes/baggy/tags.twig create mode 100644 themes/baggy/theme.ini create mode 100644 themes/baggy/view.twig diff --git a/themes/baggy/README.md b/themes/baggy/README.md new file mode 100755 index 00000000..1f0054a4 --- /dev/null +++ b/themes/baggy/README.md @@ -0,0 +1,3 @@ +# Baggy Theme + +theme created by Thomas LEBEAU alias Courgette http://thomaslebeau.fr/ \ No newline at end of file diff --git a/themes/baggy/_head.twig b/themes/baggy/_head.twig new file mode 100644 index 00000000..0079b228 --- /dev/null +++ b/themes/baggy/_head.twig @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/baggy/_menu.twig b/themes/baggy/_menu.twig new file mode 100644 index 00000000..3e7a2cbf --- /dev/null +++ b/themes/baggy/_menu.twig @@ -0,0 +1,9 @@ + + \ No newline at end of file diff --git a/themes/baggy/_top.twig b/themes/baggy/_top.twig new file mode 100644 index 00000000..4f476a37 --- /dev/null +++ b/themes/baggy/_top.twig @@ -0,0 +1,7 @@ +
    +

    + {% if view == 'home' %}{% block logo %}logo poche{% endblock %} + {% else %}{{ block('logo') }} + {% endif %} +

    +
    diff --git a/themes/baggy/config.twig b/themes/baggy/config.twig new file mode 100644 index 00000000..d0ec0ca7 --- /dev/null +++ b/themes/baggy/config.twig @@ -0,0 +1,119 @@ +{% extends "layout.twig" %} + +{% block title %}{% trans "config" %}{% endblock %} +{% block menu %} +{% include '_menu.twig' %} +{% endblock %} +{% block content %} +

    {% trans "Saving articles" %}

    +

    {% trans "There are several ways to save an article:" %} (?)

    + + +

    {% trans "Upgrading wallabag" %}

    + + +

    {% trans "Feeds" %}

    + {% if token == '' %} +

    {% trans "Your feed token is currently empty and must first be generated to enable feeds. Click here to generate it." %}

    + {% else %} + +

    {% trans "Your token:" %} {{token}}

    +

    {% trans "Your user id:" %} {{user_id}}

    +

    {% trans "You can regenerate your token: generate!." %}

    + {% endif %} + +

    {% trans "Change your theme" %}

    +
    +
    +
    + + +
    +
    + +
    +
    + + +
    + +

    {% trans "Change your language" %}

    +
    +
    +
    + + +
    +
    + +
    +
    + + +
    + + {% if http_auth == 0 %} +

    {% trans "Change your password" %}

    +
    +
    +
    + + +
    +
    + + +
    +
    + +
    +
    + + +
    + {% endif %} + +

    {% trans "Import" %}

    +

    {% trans "Please execute the import script locally as it can take a very long time." %}

    +

    {% trans "More info in the official documentation:" %} wallabag.org

    + + +

    {% trans "Export your wallabag data" %}

    + {% if constant('STORAGE') == 'sqlite' %} +

    {% trans "Click here" %} {% trans "to download your database." %}

    {% endif %} +

    {% trans "Click here" %} {% trans "to export your wallabag data." %}

    +{% endblock %} diff --git a/themes/baggy/css/font.css b/themes/baggy/css/font.css new file mode 100755 index 00000000..e69de29b diff --git a/themes/baggy/css/main.css b/themes/baggy/css/main.css new file mode 100755 index 00000000..45211a87 --- /dev/null +++ b/themes/baggy/css/main.css @@ -0,0 +1,821 @@ +/* ========================================================================== + Sommaire + + 1 = Style Guide + 2 = Layout + 3 = Pictos + 4 = Messages + 5 = Article + 6 = Media queries + + ========================================================================== */ + +html { + min-height: 100%; +} + +body { + background: #EEE; +} + +.login { + background: #333; +} + +.login #main { + padding: 0; + margin: 0; +} + +.login form { + background: #FFF; + padding: 1.5em; + box-shadow: 0 1px 8px rgba(0,0,0,0.9); + width: 20em; + position: absolute; + top: 8em; + left: 50%; + margin-left: -10em; +} + +.login .logo { + position: absolute; + top: 2em; + left: 50%; + margin-left: -55px; +} + +/* ========================================================================== + 1 = Style Guide + ========================================================================== */ + +::selection { + color: #FFF; + background: #000; +} + +.desktopHide { + display: none; +} + +.logo { + position: fixed; + z-index: 20; + top: 0.4em; + left: 0.6em; +} + +h2, h3, h4 { + font-family: 'PT Sans', sans-serif; + text-transform: uppercase; +} + +p, li { + color: #666; +} + +a { + color: #000; + font-weight: bold; +} + +a:hover, a:focus { + text-decoration: none; +} + +form fieldset { + border:0; + padding: 0; + margin: 0; +} + +form input[type="text"], select, form input[type="password"], form input[type="url"] { + border: 1px solid #999; + padding: 0.5em 1em; + min-width: 12em; + color: #666; +} + +@media screen and (-webkit-min-device-pixel-ratio:0){ + select{ + -webkit-appearance: none; + border-radius: 0; + background: #FFF url(../img/bg-select.png) no-repeat right center; + } +} + +fieldset label { + min-width: 12.5em; +} + +.inline .row { + display: inline-block; + margin-right: 0.5em; +} + +.inline label { + min-width: 6em; +} + +fieldset label { + display: inline-block; + margin-right: 0.5em; + color: #666; +} + +form .row { + margin-bottom: 0.5em; +} + +form button, input[type="submit"] { + cursor:pointer; + background: #000; + color: #FFF; + border:0; + padding: 0.5em 1em; + display: inline-block; + border:1px solid #000; +} + + form button:hover, form button:focus, input[type="submit"]:hover, input[type="submit"]:focus { + background: #FFF; + color: #000; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -ms-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; + } + +#bookmarklet { + cursor: move; +} + +h2:after { + content: ""; + height: 4px; + width: 70px; + background: #000; + display: block; +} + +.links { + padding: 0; + margin: 0; +} + .links li { + list-style: none; + margin: 0; + padding: 0; + } + + +#links { + position: fixed; + top: 0; + width: 9em; + left: 0; + text-align: right; + background: #333; + padding-top: 9em; + height: 100%; + box-shadow:inset -4px 0 20px rgba(0,0,0,0.6); + z-index: 10; +} + +#main { + margin-left: 12em; + position: relative; + z-index: 10; + padding-right: 5%; +} + + #links a { + display: block; + padding: 0.5em 2em 0.5em 1em; + color: #FFF; + position: relative; + text-transform: uppercase; + text-decoration: none; + font-weight: normal; + font-family: 'PT Sans', sans-serif; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -ms-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; + } + + #links a:hover, #links a:focus { + background: #999; + color: #000; + } + + #links .current:after { + content: ""; + width: 0; + height: 0; + position: absolute; + border-style: solid; + border-width: 10px; + border-color: transparent #EEE transparent transparent; + right: 0; + top: 50%; + margin-top: -10px; + } + + #links li:last-child { + position: fixed; + bottom: 1em; + width: 10%; + } + + #links li:last-child a:before { + font-size: 1.2em; + position: relative; + top: 2px; + } + + +/* ========================================================================== + 2 = Layout + ========================================================================== */ + +#content { + margin-top: 5em; + min-height: 30em; +} + +footer { + text-align: right; + position: fixed; + bottom: 0; + right: 5em; + color: #999; + font-size: 0.8em; + font-style: italic; +} + +footer a { + color: #999; + font-weight: normal; +} + +.list-entries { + letter-spacing:-5px; +} + +.list-entries + .results { + margin-bottom: 2em; +} + +.estimatedTime a { + color: #999; + font-style: italic; + font-weight: normal; + font-size: 0.9em; +} + +.estimatedTime small { + position: relative; + top: -1px; +} + +.entrie { + background: #FFF; + letter-spacing:normal; + box-shadow: 0 3px 7px rgba(0,0,0,0.3); + display: inline-block; + width: 32%; + margin-bottom: 1.5em; + vertical-align: top; + margin-left: 1.5%; + position: relative; + overflow: hidden; + padding: 1.5em 1.5em 3em 1.5em; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -ms-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; +} + +.entrie:before { + content: ""; + width: 0; + height: 0; + border-style:solid; + border-color: transparent transparent #000 transparent; + border-width: 10px; + position: absolute; + bottom: 0.3em; + z-index: 10; + right: 1.5em; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -ms-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; +} + +.entrie:after { + content: ""; + position: absolute; + height: 7px; + width: 100%; + bottom: 0; + left: 0; + background: #000; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -ms-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; +} + +.entrie:hover { + box-shadow: 0 3px 10px rgba(0,0,0,1); +} + +.entrie:hover:after { + height: 40px; +} + +.entrie:hover:before { + bottom: 2.4em; +} + +.entrie:hover h2 a { + color: #666; +} + +.entrie h2 { + text-transform: none; + margin-bottom: 0; +} + + .entrie h2:after { + content: none; + } + +.entrie h2 a { + display: block; + text-decoration: none; + color: #000; + word-wrap: break-word; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -ms-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; +} + +.entrie h2 a:after { + content: ""; + position: absolute; + top: 0; + width: 100%; + height: 100%; + left: 0; +} + +.entrie p { + color: #666; + font-size: 0.9em; + line-height: 1.7; +} + + .entrie h2 a:first-letter { + text-transform: uppercase; + } + +.entrie:hover .tools { + bottom: 0; +} + +.entrie .tools { + position: absolute; + bottom: -50px; + left: 0; + width: 100%; + z-index: 10; + padding-right: 0.5em; + text-align: right; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -ms-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; +} + + .entrie .tools a { + color: #666; + text-decoration: none; + display: block; + padding: 0.4em; + } + + .entrie .tools a:hover { + color: #FFF; + } + + .entrie .tools li { + display: inline-block; + } + +.entrie:nth-child(3n+1) { + margin-left: 0; +} + +.results { + letter-spacing: -5px; + padding: 0 0 0.5em; +} + +.results > * { + display: inline-block; + vertical-align: top; + letter-spacing: normal; + width: 50%; +} + +.pagination { + text-align: right; +} + +.nb-results { + text-align: left; + font-style: italic; + color: #999; +} + +.pagination > * { + display: inline-block; + margin-left: 0.5em; +} + +.pagination a { + color: #999; + text-decoration: none; +} + + .pagination a:hover, .pagination a:focus { + text-decoration: underline; + } + +.pagination .disabled { + display: none; +} + +/* ========================================================================== + 3 = Pictos + ========================================================================== */ + +@font-face { + font-family: 'icomoon'; + src:url('../font/icomoon.eot?-s0mcsx'); + src:url('../font/icomoon.eot?#iefix-s0mcsx') format('embedded-opentype'), + url('../font/icomoon.woff?-s0mcsx') format('woff'), + url('../font/icomoon.ttf?-s0mcsx') format('truetype'), + url('../font/icomoon.svg?-s0mcsx#icomoon') format('svg'); + font-weight: normal; + font-style: normal; +} + +.icon span { + position: absolute; + top: -9999px; +} + +[class^="icon-"]:before, [class*=" icon-"]:before { + font-family: 'icomoon'; + 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; +} + +.icon-flattr:before { + content: "\e800"; +} +.icon-mail:before { + content: "\e80a"; +} +.icon-up-open:before { + content: "\e80b"; +} +.icon-star:before { + content: "\e805"; +} +.icon-check:before { + content: "\e804"; +} +.icon-link:before { + content: "\e801"; +} +.icon-reply:before { + content: "\e806"; +} +.icon-menu:before { + content: "\e802"; +} +.icon-clock:before { + content: "\e803"; +} +.icon-twitter:before { + content: "\e807"; +} +.icon-down-open:before { + content: "\e809"; +} +.icon-trash:before { + content: "\e80c"; +} +.icon-delete:before { + content: "\e600"; +} +.icon-power:before { + content: "\e601"; +} +.icon-arrow-up-thick:before { + content: "\e602"; +} +.icon-rss:before { + content: "\e808"; +} + +/* ========================================================================== + Icon selected + ========================================================================== */ + +.icon-star.fav:before { + color: #FFF; +} + +/* ========================================================================== + 4 = Messages + ========================================================================== */ + +.messages { + text-align: center; +} + +.messages > * { display: inline-block;} + +.closeMessage { + background: #000; + color: #FFF; + padding: 0.2em 0.5em; + text-decoration: none; +} + + .closeMessage:hover, .closeMessage:focus { + background: #FFF; + color: #000; + } + +.warning { + font-size: 3em; + color: #999; + font-style: italic; + position: absolute; + top: 50%; + left: 0; + width: 100%; + text-align: center; + padding-right: 5%; + margin-top: -2em; +} + +/* ========================================================================== + 5 = Article + ========================================================================== */ + +#article { + width: 70%; + margin-bottom: 3em; +} + +#article .tags { + margin-bottom: 1em; +} + +#article i { + font-style: normal; +} + +blockquote { + border:1px solid #999; + background: #FFF; + padding: 1em; + margin: 0; +} + +#article h2, #article h3, #article h4 { + text-transform: none; +} + +#article h2:after { + content: none; +} + +.topPosF { + position: fixed; + right: 20%; + bottom: 2em; + font-size: 1.5em; +} + +#article_toolbar { + margin-bottom: 1em; +} + +#article_toolbar li { + display: inline-block; +} + +#article_toolbar a { + background: #000; + padding: 0.3em 0.5em 0.2em; + color: #FFF; + text-decoration: none; +} + + #article_toolbar a:hover, #article_toolbar a:focus { + background: #999; + } + +.shaarli:before { + content: "*"; +} + +.return { + text-decoration: none; + margin-top: 1em; + display: block; +} + +.return:before { + margin-right: 0.5em; +} + +.notags { + font-style: italic; + color: #999; +} + +.icon-rss { + background: #000; + color: #FFF; + padding: 0.2em 0.5em; +} + +.icon-rss:before { + position: relative; + top: 2px; +} + +.list-tags li { + margin-bottom: 0.5em; +} + +.list-tags .icon-rss:hover, .list-tags .icon-rss:focus { + background: #FFF; + color: #000; + text-decoration: none; +} + +.list-tags a { + text-decoration: none; +} + +.list-tags a:hover, .list-tags a:focus { + text-decoration: underline; +} + +/* ========================================================================== + 6 = Media Queries + ========================================================================== */ + +@media screen and (max-width: 1050px) { + .entrie { + width: 49%; + } + .entrie:nth-child(3n+1) { + margin-left: 1.5%; + } + .entrie:nth-child(2n+1) { + margin-left: 0; + } +} + +@media screen and (max-width: 900px) { + #article { + width: 80%; + } + .topPosF { + right: 2.5em; + } +} + +@media screen and (max-width: 700px) { + .entrie { + width: 100%; + margin-left: 0; + } +} + +@media screen and (max-width: 500px) { + .entrie { + width: 100%; + margin-left: 0; + } + body > header { + background: #333; + position: fixed; + top: 0; + width: 100%; + height: 3em; + z-index: 11; + } + #links li:last-child { + position: static; + width: auto; + } + #links li:last-child a:before { + content: none; + } + .logo { + width: 1.5em; + height: 1.5em; + left: 0; + top: 0; + } + .login > header { + position: static; + } + .login form { + width: 100%; + position: static; + margin-left: 0; + } + .login .logo { + width: auto; + height: auto; + top: 0.5em; + width: 75px; + height: 75px; + margin-left: -37.5px; + } + .desktopHide { + display: block; + position: fixed; + z-index: 20; + top: 0; + right: 0; + border:0; + width: 2.5em; + height: 2.5em; + cursor: pointer; + background: #999; + font-size: 1.2em; + } + .desktopHide:hover, .desktopHide:focus { + background: #FFF; + } + #links { + display: none; + width: 100%; + height: auto; + padding-top: 3em; + } + footer { + position: static; + margin-right: 3em; + } + #main { + margin-left: 1.5em; + padding-right: 1.5em; + position: static; + } + #article_toolbar .topPosF { + display: none; + } + + #article { + width: 100%; + } + + #article h1 { + font-size: 1.5em; + } + #article_toolbar a { + padding: 0.3em 0.4em 0.2em; + } +} \ No newline at end of file diff --git a/themes/baggy/css/messages.css b/themes/baggy/css/messages.css new file mode 100755 index 00000000..e69de29b diff --git a/themes/baggy/css/print.css b/themes/baggy/css/print.css new file mode 100755 index 00000000..9aefa779 --- /dev/null +++ b/themes/baggy/css/print.css @@ -0,0 +1,48 @@ +/* ### Layout ### */ + +body { + font-family: Serif; + background-color: #fff; +} + +@page { + margin: 1cm; +} + +img { + max-width: 100% !important; +} + +/* ### Content ### */ + +/* Hide useless blocks */ +body > header, +#links, +#sort, +body > footer, +.top_link, +div.tools, +header div, +.messages, +.entrie + .results { + display: none !important; +} + +article { + border: none !important; +} + +/* Add URL after links */ +.vieworiginal a:after { + content: " (" attr(href) ")"; +} + +/* Add explanation after abbr */ +abbr[title]:after { + content: " (" attr(title) ")"; +} + +/* Change border on current pager item */ +.pagination span.current { + border-style: dashed; +} diff --git a/themes/baggy/css/ratatouille.css b/themes/baggy/css/ratatouille.css new file mode 100644 index 00000000..b203cbb8 --- /dev/null +++ b/themes/baggy/css/ratatouille.css @@ -0,0 +1,211 @@ +/* + Ratatouille mini Framework css by Thomas LEBEAU + Base on KNACSS => www.KNACSS.com (2013-10) @author: Raphael Goetter, Alsacreations + and normalize.css +*/ + +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +body { + font-size: 1em; + line-height:1.5; + margin: 0; +} + +/* ========================================================================== + Mise en forme + ========================================================================== */ + +h1:first-child, +h2:first-child, +h3:first-child, +h4:first-child, +h5:first-child, +h6:first-child, +p:first-child, +ul:first-child, +ol:first-child, +dl:first-child{ + margin-top: 0; +} + +code, +kbd, +pre, +samp { + font-family: monospace, serif; +} + +pre { + white-space: pre-wrap; +} + + +.upper { + text-transform: uppercase; +} + +.bold { + font-weight: bold; +} + +.inner { + margin: 0 auto; + max-width: 61.25em;/*980px*/ +} + +table, img { + max-width: 100%; + height :auto; +} + +iframe { + max-width: 100%; +} + +.fl { + float: left; +} + +.fr { + float: right; +} + +table { + border-collapse: collapse; +} + +figure { + margin: 0; +} + +button, +input, +select, +textarea { + font-family: inherit; + font-size: 100%; + margin: 0; +} + +input[type="search"] { + -webkit-appearance: textfield; +} + +/* ========================================================================== + Mise en page + ========================================================================== */ + +.dib { + display: inline-block; + vertical-align: middle; +} + +.dnone { + display: none; +} + +.dtable { display:table } + + .dtable > * { display:table-row; } + + .dtable > * > * { display:table-cell; } + +.element-invisible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.small { + font-size:0.8em; +} + +.big { + font-size: 1.2em; +} + +/*Width*/ + +.w100 { width:100%; } +.w90 { width:90%; } +.w80 { width:80%; } +.w70 { width:70%; } +.w60 { width:60%; } +.w50 { width:50%; } +.w40 { width:40%; } +.w30 { width:30%; } +.w20 { width:20%; } +.w10 { width:10%; } + + +/* ========================================================================== + Internet Explorer + ========================================================================== */ + +/*IE8 and IE9*/ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +/*IE8 and IE9*/ + +audio, +canvas, +video { + display: inline-block; +} + +@media screen and (-webkit-min-device-pixel-ratio:0){ + select{ + -webkit-appearance: none; + border-radius: 0; + } +} + +/* ========================================================================== + Medias Queries + ========================================================================== */ + +/*Desktop 1080px*/ + +@media screen and (max-width: 67.50em) { +} + +/*Tablet 800px*/ + +@media screen and (max-width: 50em) { +} + +/*Mobile 640px*/ + +@media screen and (max-width: 40em) { +} + diff --git a/themes/baggy/edit-tags.twig b/themes/baggy/edit-tags.twig new file mode 100644 index 00000000..9f11a2c3 --- /dev/null +++ b/themes/baggy/edit-tags.twig @@ -0,0 +1,20 @@ +{% extends "layout.twig" %} +{% block title %}edit tags{% endblock %} +{% block menu %} +{% include '_menu.twig' %} +{% endblock %} +{% block content %} +{% if tags is empty %} +
    no tags
    +{% endif %} +
      +{% for tag in tags %}
    • {{ tag.value }}
    • {% endfor %} +
    +
    + +

    {% trans "You can enter multiple tags, separated by commas." %}

    + + +
    +{% trans "return to article" %} +{% endblock %} diff --git a/themes/baggy/font/icomoon.eot b/themes/baggy/font/icomoon.eot new file mode 100755 index 00000000..02f53b36 Binary files /dev/null and b/themes/baggy/font/icomoon.eot differ diff --git a/themes/baggy/font/icomoon.svg b/themes/baggy/font/icomoon.svg new file mode 100755 index 00000000..d9c35b98 --- /dev/null +++ b/themes/baggy/font/icomoon.svg @@ -0,0 +1,26 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/baggy/font/icomoon.ttf b/themes/baggy/font/icomoon.ttf new file mode 100755 index 00000000..3860dd04 Binary files /dev/null and b/themes/baggy/font/icomoon.ttf differ diff --git a/themes/baggy/font/icomoon.woff b/themes/baggy/font/icomoon.woff new file mode 100755 index 00000000..c3a91ed7 Binary files /dev/null and b/themes/baggy/font/icomoon.woff differ diff --git a/themes/baggy/home.twig b/themes/baggy/home.twig new file mode 100644 index 00000000..d58e53ce --- /dev/null +++ b/themes/baggy/home.twig @@ -0,0 +1,49 @@ +{% extends "layout.twig" %} +{% block title %} +{% if view == 'fav' %} +{% trans "favorites" %} +{% elseif view == 'archive' %} +{% trans "archive" %} +{% else %} +{% trans "unread" %} +{% endif %} +{% endblock %} +{% block menu %} +{% include '_menu.twig' %} +{% endblock %} +{% block content %} + {% if entries is empty %} +

    {% trans "No articles found." %}

    + {% else %} + {% block pager %} + {% if nb_results > 1 %} +
    +
    {{ nb_results }} {% trans "results" %}
    + {{ page_links | raw }} +
    + {% endif %} + {% endblock %} + + {% if view == 'home' %}{% if nb_results > 1 %}{{ "Mark all the entries as read" }} {% trans "" %}{% endif %}{% endif %} + {% endif %} + {{ block('pager') }} +{% endblock %} diff --git a/themes/baggy/img/apple-touch-icon-114.png b/themes/baggy/img/apple-touch-icon-114.png new file mode 100755 index 00000000..0e96edd5 Binary files /dev/null and b/themes/baggy/img/apple-touch-icon-114.png differ diff --git a/themes/baggy/img/apple-touch-icon-120.png b/themes/baggy/img/apple-touch-icon-120.png new file mode 100755 index 00000000..dc5aab1c Binary files /dev/null and b/themes/baggy/img/apple-touch-icon-120.png differ diff --git a/themes/baggy/img/apple-touch-icon-144.png b/themes/baggy/img/apple-touch-icon-144.png new file mode 100755 index 00000000..1d005db6 Binary files /dev/null and b/themes/baggy/img/apple-touch-icon-144.png differ diff --git a/themes/baggy/img/apple-touch-icon-152.png b/themes/baggy/img/apple-touch-icon-152.png new file mode 100755 index 00000000..f915231f Binary files /dev/null and b/themes/baggy/img/apple-touch-icon-152.png differ diff --git a/themes/baggy/img/apple-touch-icon-57.png b/themes/baggy/img/apple-touch-icon-57.png new file mode 100755 index 00000000..5aa19ed9 Binary files /dev/null and b/themes/baggy/img/apple-touch-icon-57.png differ diff --git a/themes/baggy/img/apple-touch-icon-72.png b/themes/baggy/img/apple-touch-icon-72.png new file mode 100755 index 00000000..b8b48e1b Binary files /dev/null and b/themes/baggy/img/apple-touch-icon-72.png differ diff --git a/themes/baggy/img/apple-touch-icon-76.png b/themes/baggy/img/apple-touch-icon-76.png new file mode 100755 index 00000000..9f9dba27 Binary files /dev/null and b/themes/baggy/img/apple-touch-icon-76.png differ diff --git a/themes/baggy/img/apple-touch-icon.png b/themes/baggy/img/apple-touch-icon.png new file mode 100755 index 00000000..9cf29e2b Binary files /dev/null and b/themes/baggy/img/apple-touch-icon.png differ diff --git a/themes/baggy/img/bg-select.png b/themes/baggy/img/bg-select.png new file mode 100644 index 00000000..95120441 Binary files /dev/null and b/themes/baggy/img/bg-select.png differ diff --git a/themes/baggy/img/favicon.ico b/themes/baggy/img/favicon.ico new file mode 100755 index 00000000..0346558b Binary files /dev/null and b/themes/baggy/img/favicon.ico differ diff --git a/themes/baggy/img/logo-w.png b/themes/baggy/img/logo-w.png new file mode 100755 index 00000000..65dc607b Binary files /dev/null and b/themes/baggy/img/logo-w.png differ diff --git a/themes/baggy/img/logo-wallabag.svg b/themes/baggy/img/logo-wallabag.svg new file mode 100644 index 00000000..40193e1c --- /dev/null +++ b/themes/baggy/img/logo-wallabag.svg @@ -0,0 +1,300 @@ + + + +]> + + + + + + diff --git a/themes/baggy/img/logo.png b/themes/baggy/img/logo.png new file mode 100755 index 00000000..5305c77d Binary files /dev/null and b/themes/baggy/img/logo.png differ diff --git a/themes/baggy/img/logo.svg b/themes/baggy/img/logo.svg new file mode 100644 index 00000000..865da440 --- /dev/null +++ b/themes/baggy/img/logo.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/themes/baggy/js/autoClose.js b/themes/baggy/js/autoClose.js new file mode 100644 index 00000000..e9145b7e --- /dev/null +++ b/themes/baggy/js/autoClose.js @@ -0,0 +1,6 @@ +$(document).ready(function() { + current_url = window.location.href + if (current_url.match("&closewin=true")) { + window.close(); + } +}); diff --git a/themes/baggy/js/closeMessage.js b/themes/baggy/js/closeMessage.js new file mode 100644 index 00000000..527719d5 --- /dev/null +++ b/themes/baggy/js/closeMessage.js @@ -0,0 +1,17 @@ +$(function(){ + //--------------------------------------------------------------------------- + // Show the close icon when the user hover over a message + //--------------------------------------------------------------------------- + // $('.messages').on('mouseenter', function(){ + // $(this).find('a.closeMessage').stop(true, true).show(); + // }).on('mouseleave', function(){ + // $(this).find('a.closeMessage').stop(true, true).hide(); + // }); + //--------------------------------------------------------------------------- + // Close the message box when the user clicks the close icon + //--------------------------------------------------------------------------- + $('a.closeMessage').on('click', function(){ + $(this).parents('div.messages').slideUp(300, function(){ $(this).remove(); }); + return false; + }); +}); \ No newline at end of file diff --git a/themes/baggy/js/init.js b/themes/baggy/js/init.js new file mode 100755 index 00000000..c1d3c0ec --- /dev/null +++ b/themes/baggy/js/init.js @@ -0,0 +1,12 @@ +document.addEventListener('DOMContentLoaded', function() { + var menu = document.getElementById('menu'); + + menu.addEventListener('click', function(){ + if(this.nextElementSibling.style.display === "block") { + this.nextElementSibling.style.display = "none"; + }else { + this.nextElementSibling.style.display = "block"; + } + + }); +}); \ No newline at end of file diff --git a/themes/baggy/js/jquery-2.0.3.min.js b/themes/baggy/js/jquery-2.0.3.min.js new file mode 100644 index 00000000..a4dd0a2f --- /dev/null +++ b/themes/baggy/js/jquery-2.0.3.min.js @@ -0,0 +1 @@ +(function(e,undefined){var t,n,r=typeof undefined,i=e.location,o=e.document,s=o.documentElement,a=e.jQuery,u=e.$,l={},c=[],p="2.0.3",f=c.concat,h=c.push,d=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,x=function(e,n){return new x.fn.init(e,n,t)},b=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^-ms-/,N=/-([\da-z])/gi,E=function(e,t){return t.toUpperCase()},S=function(){o.removeEventListener("DOMContentLoaded",S,!1),e.removeEventListener("load",S,!1),x.ready()};x.fn=x.prototype={jquery:p,constructor:x,init:function(e,t,n){var r,i;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:T.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),C.test(r[1])&&x.isPlainObject(t))for(r in t)x.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=o.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?n.ready(e):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return d.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},a=2),"object"==typeof s||x.isFunction(s)||(s={}),u===a&&(s=this,--a);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(x.isPlainObject(r)||(i=x.isArray(r)))?(i?(i=!1,o=n&&x.isArray(n)?n:[]):o=n&&x.isPlainObject(n)?n:{},s[t]=x.extend(l,o,r)):r!==undefined&&(s[t]=r));return s},x.extend({expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=a),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){(e===!0?--x.readyWait:x.isReady)||(x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(o,[x]),x.fn.trigger&&x(o).trigger("ready").off("ready")))},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if("object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:JSON.parse,parseXML:function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=undefined}return(!t||t.getElementsByTagName("parsererror").length)&&x.error("Invalid XML: "+e),t},noop:function(){},globalEval:function(e){var t,n=eval;e=x.trim(e),e&&(1===e.indexOf("use strict")?(t=o.createElement("script"),t.text=e,o.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(k,"ms-").replace(N,E)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,s=j(e);if(n){if(s){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(s){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:function(e){return null==e?"":v.call(e)},makeArray:function(e,t){var n=t||[];return null!=e&&(j(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:g.call(t,e,n)},merge:function(e,t){var n=t.length,r=e.length,i=0;if("number"==typeof n)for(;n>i;i++)e[r++]=t[i];else while(t[i]!==undefined)e[r++]=t[i++];return e.length=r,e},grep:function(e,t,n){var r,i=[],o=0,s=e.length;for(n=!!n;s>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,s=j(e),a=[];if(s)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(a[a.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(a[a.length]=r);return f.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),x.isFunction(e)?(r=d.call(arguments,2),i=function(){return e.apply(t||this,r.concat(d.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):undefined},access:function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===x.type(n)){i=!0;for(a in n)x.access(e,t,a,n[a],!0,o,s)}else if(r!==undefined&&(i=!0,x.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(x(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},now:Date.now,swap:function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i}}),x.ready.promise=function(t){return n||(n=x.Deferred(),"complete"===o.readyState?setTimeout(x.ready):(o.addEventListener("DOMContentLoaded",S,!1),e.addEventListener("load",S,!1))),n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function j(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}t=x(o),function(e,undefined){var t,n,r,i,o,s,a,u,l,c,p,f,h,d,g,m,y,v="sizzle"+-new Date,b=e.document,w=0,T=0,C=st(),k=st(),N=st(),E=!1,S=function(e,t){return e===t?(E=!0,0):0},j=typeof undefined,D=1<<31,A={}.hasOwnProperty,L=[],q=L.pop,H=L.push,O=L.push,F=L.slice,P=L.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",W="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",$=W.replace("w","w#"),B="\\["+M+"*("+W+")"+M+"*(?:([*^$|!~]?=)"+M+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+$+")|)|)"+M+"*\\]",I=":("+W+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+B.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=RegExp("^"+M+"*,"+M+"*"),X=RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=RegExp(M+"*[+~]"),Y=RegExp("="+M+"*([^\\]'\"]*)"+M+"*\\]","g"),V=RegExp(I),G=RegExp("^"+$+"$"),J={ID:RegExp("^#("+W+")"),CLASS:RegExp("^\\.("+W+")"),TAG:RegExp("^("+W.replace("w","w*")+")"),ATTR:RegExp("^"+B),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:RegExp("^(?:"+R+")$","i"),needsContext:RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Q=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/^(?:input|select|textarea|button)$/i,et=/^h\d$/i,tt=/'|\\/g,nt=RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),rt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{O.apply(L=F.call(b.childNodes),b.childNodes),L[b.childNodes.length].nodeType}catch(it){O={apply:L.length?function(e,t){H.apply(e,F.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function ot(e,t,r,i){var o,s,a,u,l,f,g,m,x,w;if((t?t.ownerDocument||t:b)!==p&&c(t),t=t||p,r=r||[],!e||"string"!=typeof e)return r;if(1!==(u=t.nodeType)&&9!==u)return[];if(h&&!i){if(o=K.exec(e))if(a=o[1]){if(9===u){if(s=t.getElementById(a),!s||!s.parentNode)return r;if(s.id===a)return r.push(s),r}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(a))&&y(t,s)&&s.id===a)return r.push(s),r}else{if(o[2])return O.apply(r,t.getElementsByTagName(e)),r;if((a=o[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&(!d||!d.test(e))){if(m=g=v,x=t,w=9===u&&e,1===u&&"object"!==t.nodeName.toLowerCase()){f=gt(e),(g=t.getAttribute("id"))?m=g.replace(tt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=f.length;while(l--)f[l]=m+mt(f[l]);x=U.test(e)&&t.parentNode||t,w=f.join(",")}if(w)try{return O.apply(r,x.querySelectorAll(w)),r}catch(T){}finally{g||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,r,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>i.cacheLength&&delete t[e.shift()],t[n]=r}return t}function at(e){return e[v]=!0,e}function ut(e){var t=p.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function lt(e,t){var n=e.split("|"),r=e.length;while(r--)i.attrHandle[n[r]]=t}function ct(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return at(function(t){return t=+t,at(function(n,r){var i,o=e([],n.length,t),s=o.length;while(s--)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}s=ot.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},n=ot.support={},c=ot.setDocument=function(e){var t=e?e.ownerDocument||e:b,r=t.defaultView;return t!==p&&9===t.nodeType&&t.documentElement?(p=t,f=t.documentElement,h=!s(t),r&&r.attachEvent&&r!==r.top&&r.attachEvent("onbeforeunload",function(){c()}),n.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ut(function(e){return e.appendChild(t.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=ut(function(e){return e.innerHTML="
    ",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),n.getById=ut(function(e){return f.appendChild(e).id=v,!t.getElementsByName||!t.getElementsByName(v).length}),n.getById?(i.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){return e.getAttribute("id")===t}}):(delete i.find.ID,i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=n.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==j?t.getElementsByTagName(e):undefined}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.CLASS=n.getElementsByClassName&&function(e,t){return typeof t.getElementsByClassName!==j&&h?t.getElementsByClassName(e):undefined},g=[],d=[],(n.qsa=Q.test(t.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll(":checked").length||d.push(":checked")}),ut(function(e){var n=t.createElement("input");n.setAttribute("type","hidden"),e.appendChild(n).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&d.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||d.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),d.push(",.*:")})),(n.matchesSelector=Q.test(m=f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&ut(function(e){n.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",I)}),d=d.length&&RegExp(d.join("|")),g=g.length&&RegExp(g.join("|")),y=Q.test(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},S=f.compareDocumentPosition?function(e,r){if(e===r)return E=!0,0;var i=r.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(r);return i?1&i||!n.sortDetached&&r.compareDocumentPosition(e)===i?e===t||y(b,e)?-1:r===t||y(b,r)?1:l?P.call(l,e)-P.call(l,r):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,n){var r,i=0,o=e.parentNode,s=n.parentNode,a=[e],u=[n];if(e===n)return E=!0,0;if(!o||!s)return e===t?-1:n===t?1:o?-1:s?1:l?P.call(l,e)-P.call(l,n):0;if(o===s)return ct(e,n);r=e;while(r=r.parentNode)a.unshift(r);r=n;while(r=r.parentNode)u.unshift(r);while(a[i]===u[i])i++;return i?ct(a[i],u[i]):a[i]===b?-1:u[i]===b?1:0},t):p},ot.matches=function(e,t){return ot(e,null,null,t)},ot.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Y,"='$1']"),!(!n.matchesSelector||!h||g&&g.test(t)||d&&d.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return ot(t,p,null,[e]).length>0},ot.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},ot.attr=function(e,t){(e.ownerDocument||e)!==p&&c(e);var r=i.attrHandle[t.toLowerCase()],o=r&&A.call(i.attrHandle,t.toLowerCase())?r(e,t,!h):undefined;return o===undefined?n.attributes||!h?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null:o},ot.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},ot.uniqueSort=function(e){var t,r=[],i=0,o=0;if(E=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(S),E){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return e},o=ot.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=ot.selectors={cacheLength:50,createPseudo:at,match:J,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(nt,rt),e[3]=(e[4]||e[5]||"").replace(nt,rt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ot.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ot.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return J.CHILD.test(e[0])?null:(e[3]&&e[4]!==undefined?e[2]=e[4]:n&&V.test(n)&&(t=gt(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(nt,rt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=ot.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,h,d,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,y=a&&t.nodeName.toLowerCase(),x=!u&&!a;if(m){if(o){while(g){p=t;while(p=p[g])if(a?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&x){c=m[v]||(m[v]={}),l=c[e]||[],h=l[0]===w&&l[1],f=l[0]===w&&l[2],p=h&&m.childNodes[h];while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[w,h,f];break}}else if(x&&(l=(t[v]||(t[v]={}))[e])&&l[0]===w)f=l[1];else while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if((a?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(x&&((p[v]||(p[v]={}))[e]=[w,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ot.error("unsupported pseudo: "+e);return r[v]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?at(function(e,n){var i,o=r(e,t),s=o.length;while(s--)i=P.call(e,o[s]),e[i]=!(n[i]=o[s])}):function(e){return r(e,0,n)}):r}},pseudos:{not:at(function(e){var t=[],n=[],r=a(e.replace(z,"$1"));return r[v]?at(function(e,t,n,i){var o,s=r(e,null,i,[]),a=e.length;while(a--)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:at(function(e){return function(t){return ot(e,t).length>0}}),contains:at(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:at(function(e){return G.test(e||"")||ot.error("unsupported lang: "+e),e=e.replace(nt,rt).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return et.test(e.nodeName)},input:function(e){return Z.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},i.pseudos.nth=i.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[t]=pt(t);for(t in{submit:!0,reset:!0})i.pseudos[t]=ft(t);function dt(){}dt.prototype=i.filters=i.pseudos,i.setFilters=new dt;function gt(e,t){var n,r,o,s,a,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);a=e,u=[],l=i.preFilter;while(a){(!n||(r=_.exec(a)))&&(r&&(a=a.slice(r[0].length)||a),u.push(o=[])),n=!1,(r=X.exec(a))&&(n=r.shift(),o.push({value:n,type:r[0].replace(z," ")}),a=a.slice(n.length));for(s in i.filter)!(r=J[s].exec(a))||l[s]&&!(r=l[s](r))||(n=r.shift(),o.push({value:n,type:s,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?ot.error(e):k(e,u).slice(0)}function mt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function yt(e,t,n){var i=t.dir,o=n&&"parentNode"===i,s=T++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,a){var u,l,c,p=w+" "+s;if(a){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,a))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[v]||(t[v]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,a)||r,l[1]===!0)return!0}}function vt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,s=[],a=0,u=e.length,l=null!=t;for(;u>a;a++)(o=e[a])&&(!n||n(o,r,i))&&(s.push(o),l&&t.push(a));return s}function bt(e,t,n,r,i,o){return r&&!r[v]&&(r=bt(r)),i&&!i[v]&&(i=bt(i,o)),at(function(o,s,a,u){var l,c,p,f=[],h=[],d=s.length,g=o||Ct(t||"*",a.nodeType?[a]:a,[]),m=!e||!o&&t?g:xt(g,f,e,a,u),y=n?i||(o?e:d||r)?[]:s:m;if(n&&n(m,y,a,u),r){l=xt(y,h),r(l,[],a,u),c=l.length;while(c--)(p=l[c])&&(y[h[c]]=!(m[h[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?P.call(o,p):f[c])>-1&&(o[l]=!(s[l]=p))}}else y=xt(y===s?y.splice(d,y.length):y),i?i(null,s,y,u):O.apply(s,y)})}function wt(e){var t,n,r,o=e.length,s=i.relative[e[0].type],a=s||i.relative[" "],l=s?1:0,c=yt(function(e){return e===t},a,!0),p=yt(function(e){return P.call(t,e)>-1},a,!0),f=[function(e,n,r){return!s&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>l;l++)if(n=i.relative[e[l].type])f=[yt(vt(f),n)];else{if(n=i.filter[e[l].type].apply(null,e[l].matches),n[v]){for(r=++l;o>r;r++)if(i.relative[e[r].type])break;return bt(l>1&&vt(f),l>1&&mt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&wt(e.slice(l,r)),o>r&&wt(e=e.slice(r)),o>r&&mt(e))}f.push(n)}return vt(f)}function Tt(e,t){var n=0,o=t.length>0,s=e.length>0,a=function(a,l,c,f,h){var d,g,m,y=[],v=0,x="0",b=a&&[],T=null!=h,C=u,k=a||s&&i.find.TAG("*",h&&l.parentNode||l),N=w+=null==C?1:Math.random()||.1;for(T&&(u=l!==p&&l,r=n);null!=(d=k[x]);x++){if(s&&d){g=0;while(m=e[g++])if(m(d,l,c)){f.push(d);break}T&&(w=N,r=++n)}o&&((d=!m&&d)&&v--,a&&b.push(d))}if(v+=x,o&&x!==v){g=0;while(m=t[g++])m(b,y,l,c);if(a){if(v>0)while(x--)b[x]||y[x]||(y[x]=q.call(f));y=xt(y)}O.apply(f,y),T&&!a&&y.length>0&&v+t.length>1&&ot.uniqueSort(f)}return T&&(w=N,u=C),b};return o?at(a):a}a=ot.compile=function(e,t){var n,r=[],i=[],o=N[e+" "];if(!o){t||(t=gt(e)),n=t.length;while(n--)o=wt(t[n]),o[v]?r.push(o):i.push(o);o=N(e,Tt(i,r))}return o};function Ct(e,t,n){var r=0,i=t.length;for(;i>r;r++)ot(e,t[r],n);return n}function kt(e,t,r,o){var s,u,l,c,p,f=gt(e);if(!o&&1===f.length){if(u=f[0]=f[0].slice(0),u.length>2&&"ID"===(l=u[0]).type&&n.getById&&9===t.nodeType&&h&&i.relative[u[1].type]){if(t=(i.find.ID(l.matches[0].replace(nt,rt),t)||[])[0],!t)return r;e=e.slice(u.shift().value.length)}s=J.needsContext.test(e)?0:u.length;while(s--){if(l=u[s],i.relative[c=l.type])break;if((p=i.find[c])&&(o=p(l.matches[0].replace(nt,rt),U.test(u[0].type)&&t.parentNode||t))){if(u.splice(s,1),e=o.length&&mt(u),!e)return O.apply(r,o),r;break}}}return a(e,f)(o,t,!h,r,U.test(e)),r}n.sortStable=v.split("").sort(S).join("")===v,n.detectDuplicates=E,c(),n.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(p.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||lt("type|href|height|width",function(e,t,n){return n?undefined:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||lt("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?undefined:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||lt(R,function(e,t,n){var r;return n?undefined:(r=e.getAttributeNode(t))&&r.specified?r.value:e[t]===!0?t.toLowerCase():null}),x.find=ot,x.expr=ot.selectors,x.expr[":"]=x.expr.pseudos,x.unique=ot.uniqueSort,x.text=ot.getText,x.isXMLDoc=ot.isXML,x.contains=ot.contains}(e);var D={};function A(e){var t=D[e]={};return x.each(e.match(w)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?D[e]||A(e):x.extend({},e);var t,n,r,i,o,s,a=[],u=!e.once&&[],l=function(p){for(t=e.memory&&p,n=!0,s=i||0,i=0,o=a.length,r=!0;a&&o>s;s++)if(a[s].apply(p[0],p[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,a&&(u?u.length&&l(u.shift()):t?a=[]:c.disable())},c={add:function(){if(a){var n=a.length;(function s(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&c.has(n)||a.push(n):n&&n.length&&"string"!==r&&s(n)})})(arguments),r?o=a.length:t&&(i=n,l(t))}return this},remove:function(){return a&&x.each(arguments,function(e,t){var n;while((n=x.inArray(t,a,n))>-1)a.splice(n,1),r&&(o>=n&&o--,s>=n&&s--)}),this},has:function(e){return e?x.inArray(e,a)>-1:!(!a||!a.length)},empty:function(){return a=[],o=0,this},disable:function(){return a=u=t=undefined,this},disabled:function(){return!a},lock:function(){return u=undefined,t||c.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!a||n&&!u||(t=t||[],t=[e,t.slice?t.slice():t],r?u.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var s=o[0],a=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=d.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),s=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?d.call(arguments):r,n===a?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},a,u,l;if(r>1)for(a=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(s(t,l,n)).fail(o.reject).progress(s(t,u,a)):--i;return i||o.resolveWith(l,n),o.promise()}}),x.support=function(t){var n=o.createElement("input"),r=o.createDocumentFragment(),i=o.createElement("div"),s=o.createElement("select"),a=s.appendChild(o.createElement("option"));return n.type?(n.type="checkbox",t.checkOn=""!==n.value,t.optSelected=a.selected,t.reliableMarginRight=!0,t.boxSizingReliable=!0,t.pixelPosition=!1,n.checked=!0,t.noCloneChecked=n.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!a.disabled,n=o.createElement("input"),n.value="t",n.type="radio",t.radioValue="t"===n.value,n.setAttribute("checked","t"),n.setAttribute("name","t"),r.appendChild(n),t.checkClone=r.cloneNode(!0).cloneNode(!0).lastChild.checked,t.focusinBubbles="onfocusin"in e,i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===i.style.backgroundClip,x(function(){var n,r,s="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",a=o.getElementsByTagName("body")[0];a&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",a.appendChild(n).appendChild(i),i.innerHTML="",i.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",x.swap(a,null!=a.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===i.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(i,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(i,null)||{width:"4px"}).width,r=i.appendChild(o.createElement("div")),r.style.cssText=i.style.cssText=s,r.style.marginRight=r.style.width="0",i.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),a.removeChild(n))}),t):t}({});var L,q,H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,O=/([A-Z])/g;function F(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=x.expando+Math.random()}F.uid=1,F.accepts=function(e){return e.nodeType?1===e.nodeType||9===e.nodeType:!0},F.prototype={key:function(e){if(!F.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=F.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,x.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(x.isEmptyObject(o))x.extend(this.cache[i],t);else for(r in t)o[r]=t[r];return o},get:function(e,t){var n=this.cache[this.key(e)];return t===undefined?n:n[t]},access:function(e,t,n){var r;return t===undefined||t&&"string"==typeof t&&n===undefined?(r=this.get(e,t),r!==undefined?r:this.get(e,x.camelCase(t))):(this.set(e,t,n),n!==undefined?n:t)},remove:function(e,t){var n,r,i,o=this.key(e),s=this.cache[o];if(t===undefined)this.cache[o]={};else{x.isArray(t)?r=t.concat(t.map(x.camelCase)):(i=x.camelCase(t),t in s?r=[t,i]:(r=i,r=r in s?[r]:r.match(w)||[])),n=r.length;while(n--)delete s[r[n]]}},hasData:function(e){return!x.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}},L=new F,q=new F,x.extend({acceptData:F.accepts,hasData:function(e){return L.hasData(e)||q.hasData(e)},data:function(e,t,n){return L.access(e,t,n)},removeData:function(e,t){L.remove(e,t)},_data:function(e,t,n){return q.access(e,t,n)},_removeData:function(e,t){q.remove(e,t)}}),x.fn.extend({data:function(e,t){var n,r,i=this[0],o=0,s=null;if(e===undefined){if(this.length&&(s=L.get(i),1===i.nodeType&&!q.get(i,"hasDataAttrs"))){for(n=i.attributes;n.length>o;o++)r=n[o].name,0===r.indexOf("data-")&&(r=x.camelCase(r.slice(5)),P(i,r,s[r]));q.set(i,"hasDataAttrs",!0)}return s}return"object"==typeof e?this.each(function(){L.set(this,e)}):x.access(this,function(t){var n,r=x.camelCase(e);if(i&&t===undefined){if(n=L.get(i,e),n!==undefined)return n;if(n=L.get(i,r),n!==undefined)return n;if(n=P(i,r,undefined),n!==undefined)return n}else this.each(function(){var n=L.get(this,r);L.set(this,r,t),-1!==e.indexOf("-")&&n!==undefined&&L.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){L.remove(this,e)})}});function P(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(O,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:H.test(n)?JSON.parse(n):n}catch(i){}L.set(e,t,n)}else n=undefined;return n}x.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=q.get(e,t),n&&(!r||x.isArray(n)?r=q.access(e,t,x.makeArray(n)):r.push(n)),r||[]):undefined},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),s=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return q.get(e,n)||q.access(e,n,{empty:x.Callbacks("once memory").add(function(){q.remove(e,[t+"queue",n])})})}}),x.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),n>arguments.length?x.queue(this[0],e):t===undefined?this:this.each(function(){var n=x.queue(this,e,t);x._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=x.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=undefined),e=e||"fx";while(s--)n=q.get(o[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var R,M,W=/[\t\r\n\f]/g,$=/\r/g,B=/^(?:input|select|textarea|button)$/i;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[x.propFix[e]||e]})},addClass:function(e){var t,n,r,i,o,s=0,a=this.length,u="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,s=0,a=this.length,u=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,i=0,o=x(this),s=e.match(w)||[];while(t=s[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===r||"boolean"===n)&&(this.className&&q.set(this,"__className__",this.className),this.className=this.className||e===!1?"":q.get(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(W," ").indexOf(t)>=0)return!0;return!1},val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=x.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,x(this).val()):e,null==i?i="":"number"==typeof i?i+="":x.isArray(i)&&(i=x.map(i,function(e){return null==e?"":e+""})),t=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&t.set(this,i,"value")!==undefined||(this.value=i))});if(i)return t=x.valHooks[i.type]||x.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,"string"==typeof n?n.replace($,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;for(;a>u;u++)if(n=r[u],!(!n.selected&&u!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),s=i.length;while(s--)r=i[s],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,t,n){var i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===r?x.prop(e,t,n):(1===s&&x.isXMLDoc(e)||(t=t.toLowerCase(),i=x.attrHooks[t]||(x.expr.match.bool.test(t)?M:R)),n===undefined?i&&"get"in i&&null!==(o=i.get(e,t))?o:(o=x.find.attr(e,t),null==o?undefined:o):null!==n?i&&"set"in i&&(o=i.set(e,n,t))!==undefined?o:(e.setAttribute(t,n+""),n):(x.removeAttr(e,t),undefined))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!x.isXMLDoc(e),o&&(t=x.propFix[t]||t,i=x.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||B.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),M={set:function(e,t,n){return t===!1?x.removeAttr(e,n):e.setAttribute(n,n),n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,t){var n=x.expr.attrHandle[t]||x.find.attr;x.expr.attrHandle[t]=function(e,t,r){var i=x.expr.attrHandle[t],o=r?undefined:(x.expr.attrHandle[t]=undefined)!=n(e,t,r)?t.toLowerCase():null;return x.expr.attrHandle[t]=i,o}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,t){return x.isArray(t)?e.checked=x.inArray(x(e).val(),t)>=0:undefined}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var I=/^key/,z=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,X=/^([^.]*)(?:\.(.+)|)$/;function U(){return!0}function Y(){return!1}function V(){try{return o.activeElement}catch(e){}}x.event={global:{},add:function(e,t,n,i,o){var s,a,u,l,c,p,f,h,d,g,m,y=q.get(e);if(y){n.handler&&(s=n,n=s.handler,o=s.selector),n.guid||(n.guid=x.guid++),(l=y.events)||(l=y.events={}),(a=y.handle)||(a=y.handle=function(e){return typeof x===r||e&&x.event.triggered===e.type?undefined:x.event.dispatch.apply(a.elem,arguments)},a.elem=e),t=(t||"").match(w)||[""],c=t.length;while(c--)u=X.exec(t[c])||[],d=m=u[1],g=(u[2]||"").split(".").sort(),d&&(f=x.event.special[d]||{},d=(o?f.delegateType:f.bindType)||d,f=x.event.special[d]||{},p=x.extend({type:d,origType:m,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&x.expr.match.needsContext.test(o),namespace:g.join(".")},s),(h=l[d])||(h=l[d]=[],h.delegateCount=0,f.setup&&f.setup.call(e,i,g,a)!==!1||e.addEventListener&&e.addEventListener(d,a,!1)),f.add&&(f.add.call(e,p),p.handler.guid||(p.handler.guid=n.guid)),o?h.splice(h.delegateCount++,0,p):h.push(p),x.event.global[d]=!0);e=null}},remove:function(e,t,n,r,i){var o,s,a,u,l,c,p,f,h,d,g,m=q.hasData(e)&&q.get(e);if(m&&(u=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(a=X.exec(t[l])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){p=x.event.special[h]||{},h=(r?p.delegateType:p.bindType)||h,f=u[h]||[],a=a[2]&&RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=f.length;while(o--)c=f[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(f.splice(o,1),c.selector&&f.delegateCount--,p.remove&&p.remove.call(e,c));s&&!f.length&&(p.teardown&&p.teardown.call(e,d,m.handle)!==!1||x.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)x.event.remove(e,h+t[l],n,r,!0);x.isEmptyObject(u)&&(delete m.handle,q.remove(e,"events"))}},trigger:function(t,n,r,i){var s,a,u,l,c,p,f,h=[r||o],d=y.call(t,"type")?t.type:t,g=y.call(t,"namespace")?t.namespace.split("."):[];if(a=u=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!_.test(d+x.event.triggered)&&(d.indexOf(".")>=0&&(g=d.split("."),d=g.shift(),g.sort()),c=0>d.indexOf(":")&&"on"+d,t=t[x.expando]?t:new x.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=null==n?[t]:x.makeArray(n,[t]),f=x.event.special[d]||{},i||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!i&&!f.noBubble&&!x.isWindow(r)){for(l=f.delegateType||d,_.test(l+d)||(a=a.parentNode);a;a=a.parentNode)h.push(a),u=a;u===(r.ownerDocument||o)&&h.push(u.defaultView||u.parentWindow||e)}s=0;while((a=h[s++])&&!t.isPropagationStopped())t.type=s>1?l:f.bindType||d,p=(q.get(a,"events")||{})[t.type]&&q.get(a,"handle"),p&&p.apply(a,n),p=c&&a[c],p&&x.acceptData(a)&&p.apply&&p.apply(a,n)===!1&&t.preventDefault();return t.type=d,i||t.isDefaultPrevented()||f._default&&f._default.apply(h.pop(),n)!==!1||!x.acceptData(r)||c&&x.isFunction(r[d])&&!x.isWindow(r)&&(u=r[c],u&&(r[c]=null),x.event.triggered=d,r[d](),x.event.triggered=undefined,u&&(r[c]=u)),t.result}},dispatch:function(e){e=x.event.fix(e);var t,n,r,i,o,s=[],a=d.call(arguments),u=(q.get(this,"events")||{})[e.type]||[],l=x.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),t=0;while((i=s[t++])&&!e.isPropagationStopped()){e.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,r=((x.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a),r!==undefined&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;a>n;n++)o=t[n],i=o.selector+" ",r[i]===undefined&&(r[i]=o.needsContext?x(i,this).index(u)>=0:x.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return t.length>a&&s.push({elem:this,handlers:t.slice(a)}),s},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(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,s=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||o,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||s===undefined||(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,s=e,a=this.fixHooks[i];a||(this.fixHooks[i]=a=z.test(i)?this.mouseHooks:I.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new x.Event(s),t=r.length;while(t--)n=r[t],e[n]=s[n];return e.target||(e.target=o),3===e.target.nodeType&&(e.target=e.target.parentNode),a.filter?a.filter(e,s):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==V()&&this.focus?(this.focus(),!1):undefined},delegateType:"focusin"},blur:{trigger:function(){return this===V()&&this.blur?(this.blur(),!1):undefined},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&x.nodeName(this,"input")?(this.click(),!1):undefined},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==undefined&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},x.Event=function(e,t){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.getPreventDefault&&e.getPreventDefault()?U:Y):this.type=e,t&&x.extend(this,t),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,undefined):new x.Event(e,t)},x.Event.prototype={isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=U,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=U,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=U,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=undefined);for(s in e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=undefined):null==r&&("string"==typeof t?(r=n,n=undefined):(r=n,n=t,t=undefined)),r===!1)r=Y;else if(!r)return this;return 1===i&&(o=r,r=function(e){return x().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=x.guid++)),this.each(function(){x.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,x(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=undefined),n===!1&&(n=Y),this.each(function(){x.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?x.event.trigger(e,t,n,!0):undefined}});var G=/^.[^:#\[\.,]*$/,J=/^(?:parents|prev(?:Until|All))/,Q=x.expr.match.needsContext,K={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t=x(e,this),n=t.length;return this.filter(function(){var e=0;for(;n>e;e++)if(x.contains(this,t[e]))return!0})},not:function(e){return this.pushStack(et(this,e||[],!0))},filter:function(e){return this.pushStack(et(this,e||[],!1))},is:function(e){return!!et(this,"string"==typeof e&&Q.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],s=Q.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(s?s.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?g.call(x(e),this[0]):g.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function Z(e,t){while((e=e[t])&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return Z(e,"nextSibling")},prev:function(e){return Z(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return e.contentDocument||x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(K[e]||x.unique(i),J.test(e)&&i.reverse()),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,t,n){var r=[],i=n!==undefined;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&x(e).is(n))break;r.push(e)}return r},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function et(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(G.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return g.call(t,e)>=0!==n})}var tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,nt=/<([\w:]+)/,rt=/<|&#?\w+;/,it=/<(?:script|style|link)/i,ot=/^(?:checkbox|radio)$/i,st=/checked\s*(?:[^=]|=\s*.checked.)/i,at=/^$|\/(?:java|ecma)script/i,ut=/^true\/(.*)/,lt=/^\s*\s*$/g,ct={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ct.optgroup=ct.option,ct.tbody=ct.tfoot=ct.colgroup=ct.caption=ct.thead,ct.th=ct.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===undefined?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(mt(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&dt(mt(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++)1===e.nodeType&&(x.cleanData(mt(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!it.test(e)&&!ct[(nt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(tt,"<$1>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(x.cleanData(mt(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=f.apply([],e);var r,i,o,s,a,u,l=0,c=this.length,p=this,h=c-1,d=e[0],g=x.isFunction(d);if(g||!(1>=c||"string"!=typeof d||x.support.checkClone)&&st.test(d))return this.each(function(r){var i=p.eq(r);g&&(e[0]=d.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(r=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),i=r.firstChild,1===r.childNodes.length&&(r=i),i)){for(o=x.map(mt(r,"script"),ft),s=o.length;c>l;l++)a=r,l!==h&&(a=x.clone(a,!0,!0),s&&x.merge(o,mt(a,"script"))),t.call(this[l],a,l);if(s)for(u=o[o.length-1].ownerDocument,x.map(o,ht),l=0;s>l;l++)a=o[l],at.test(a.type||"")&&!q.access(a,"globalEval")&&x.contains(u,a)&&(a.src?x._evalUrl(a.src):x.globalEval(a.textContent.replace(lt,"")))}return this}}),x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=[],i=x(e),o=i.length-1,s=0;for(;o>=s;s++)n=s===o?this:this.clone(!0),x(i[s])[t](n),h.apply(r,n.get());return this.pushStack(r)}}),x.extend({clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=x.contains(e.ownerDocument,e);if(!(x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(s=mt(a),o=mt(e),r=0,i=o.length;i>r;r++)yt(o[r],s[r]);if(t)if(n)for(o=o||mt(e),s=s||mt(a),r=0,i=o.length;i>r;r++)gt(o[r],s[r]);else gt(e,a);return s=mt(a,"script"),s.length>0&&dt(s,!u&&mt(e,"script")),a},buildFragment:function(e,t,n,r){var i,o,s,a,u,l,c=0,p=e.length,f=t.createDocumentFragment(),h=[];for(;p>c;c++)if(i=e[c],i||0===i)if("object"===x.type(i))x.merge(h,i.nodeType?[i]:i);else if(rt.test(i)){o=o||f.appendChild(t.createElement("div")),s=(nt.exec(i)||["",""])[1].toLowerCase(),a=ct[s]||ct._default,o.innerHTML=a[1]+i.replace(tt,"<$1>")+a[2],l=a[0];while(l--)o=o.lastChild;x.merge(h,o.childNodes),o=f.firstChild,o.textContent=""}else h.push(t.createTextNode(i));f.textContent="",c=0;while(i=h[c++])if((!r||-1===x.inArray(i,r))&&(u=x.contains(i.ownerDocument,i),o=mt(f.appendChild(i),"script"),u&&dt(o),n)){l=0;while(i=o[l++])at.test(i.type||"")&&n.push(i)}return f},cleanData:function(e){var t,n,r,i,o,s,a=x.event.special,u=0;for(;(n=e[u])!==undefined;u++){if(F.accepts(n)&&(o=n[q.expando],o&&(t=q.cache[o]))){if(r=Object.keys(t.events||{}),r.length)for(s=0;(i=r[s])!==undefined;s++)a[i]?x.event.remove(n,i):x.removeEvent(n,i,t.handle);q.cache[o]&&delete q.cache[o]}delete L.cache[n[L.expando]]}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}});function pt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function ft(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function ht(e){var t=ut.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function dt(e,t){var n=e.length,r=0;for(;n>r;r++)q.set(e[r],"globalEval",!t||q.get(t[r],"globalEval"))}function gt(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(q.hasData(e)&&(o=q.access(e),s=q.set(t,o),l=o.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)x.event.add(t,i,l[i][n])}L.hasData(e)&&(a=L.access(e),u=x.extend({},a),L.set(t,u))}}function mt(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return t===undefined||t&&x.nodeName(e,t)?x.merge([e],n):n}function yt(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ot.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}x.fn.extend({wrapAll:function(e){var t;return x.isFunction(e)?this.each(function(t){x(this).wrapAll(e.call(this,t))}):(this[0]&&(t=x(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var vt,xt,bt=/^(none|table(?!-c[ea]).+)/,wt=/^margin/,Tt=RegExp("^("+b+")(.*)$","i"),Ct=RegExp("^("+b+")(?!px)[a-z%]+$","i"),kt=RegExp("^([+-])=("+b+")","i"),Nt={BODY:"block"},Et={position:"absolute",visibility:"hidden",display:"block"},St={letterSpacing:0,fontWeight:400},jt=["Top","Right","Bottom","Left"],Dt=["Webkit","O","Moz","ms"];function At(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Dt.length;while(i--)if(t=Dt[i]+n,t in e)return t;return r}function Lt(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function qt(t){return e.getComputedStyle(t,null)}function Ht(e,t){var n,r,i,o=[],s=0,a=e.length;for(;a>s;s++)r=e[s],r.style&&(o[s]=q.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&Lt(r)&&(o[s]=q.access(r,"olddisplay",Rt(r.nodeName)))):o[s]||(i=Lt(r),(n&&"none"!==n||!i)&&q.set(r,"olddisplay",i?n:x.css(r,"display"))));for(s=0;a>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}x.fn.extend({css:function(e,t){return x.access(this,function(e,t,n){var r,i,o={},s=0;if(x.isArray(t)){for(r=qt(e),i=t.length;i>s;s++)o[t[s]]=x.css(e,t[s],!1,r);return o}return n!==undefined?x.style(e,t,n):x.css(e,t)},e,t,arguments.length>1)},show:function(){return Ht(this,!0)},hide:function(){return Ht(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Lt(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=vt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=x.camelCase(t),u=e.style;return t=x.cssProps[a]||(x.cssProps[a]=At(u,a)),s=x.cssHooks[t]||x.cssHooks[a],n===undefined?s&&"get"in s&&(i=s.get(e,!1,r))!==undefined?i:u[t]:(o=typeof n,"string"===o&&(i=kt.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(x.css(e,t)),o="number"),null==n||"number"===o&&isNaN(n)||("number"!==o||x.cssNumber[a]||(n+="px"),x.support.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&(n=s.set(e,n,r))===undefined||(u[t]=n)),undefined)}},css:function(e,t,n,r){var i,o,s,a=x.camelCase(t);return t=x.cssProps[a]||(x.cssProps[a]=At(e.style,a)),s=x.cssHooks[t]||x.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),i===undefined&&(i=vt(e,t,r)),"normal"===i&&t in St&&(i=St[t]),""===n||n?(o=parseFloat(i),n===!0||x.isNumeric(o)?o||0:i):i}}),vt=function(e,t,n){var r,i,o,s=n||qt(e),a=s?s.getPropertyValue(t)||s[t]:undefined,u=e.style;return s&&(""!==a||x.contains(e.ownerDocument,e)||(a=x.style(e,t)),Ct.test(a)&&wt.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=s.width,u.width=r,u.minWidth=i,u.maxWidth=o)),a};function Ot(e,t,n){var r=Tt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Ft(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;for(;4>o;o+=2)"margin"===n&&(s+=x.css(e,n+jt[o],!0,i)),r?("content"===n&&(s-=x.css(e,"padding"+jt[o],!0,i)),"margin"!==n&&(s-=x.css(e,"border"+jt[o]+"Width",!0,i))):(s+=x.css(e,"padding"+jt[o],!0,i),"padding"!==n&&(s+=x.css(e,"border"+jt[o]+"Width",!0,i)));return s}function Pt(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=qt(e),s=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=vt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Ct.test(i))return i;r=s&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+Ft(e,t,n||(s?"border":"content"),r,o)+"px"}function Rt(e){var t=o,n=Nt[e];return n||(n=Mt(e,t),"none"!==n&&n||(xt=(xt||x("