aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.scrutinizer.yml15
-rw-r--r--.travis.yml1
-rw-r--r--CHANGELOG.md24
-rwxr-xr-xGNUmakefile53
-rw-r--r--[-rwxr-xr-x]Makefile54
-rw-r--r--README.md5
-rw-r--r--app/DoctrineMigrations/Version20160401000000.php51
-rw-r--r--app/DoctrineMigrations/Version20160410190541.php21
-rw-r--r--app/DoctrineMigrations/Version20160812120952.php21
-rw-r--r--app/DoctrineMigrations/Version20160911214952.php21
-rw-r--r--app/DoctrineMigrations/Version20160916201049.php21
-rw-r--r--app/DoctrineMigrations/Version20161001072726.php29
-rw-r--r--app/DoctrineMigrations/Version20161022134138.php25
-rw-r--r--app/DoctrineMigrations/Version20161024212538.php21
-rw-r--r--app/DoctrineMigrations/Version20161031132655.php21
-rw-r--r--app/DoctrineMigrations/Version20161104073720.php21
-rw-r--r--app/DoctrineMigrations/Version20161106113822.php21
-rw-r--r--app/DoctrineMigrations/Version20161117071626.php21
-rw-r--r--app/DoctrineMigrations/Version20161118134328.php21
-rw-r--r--app/DoctrineMigrations/Version20161122144743.php21
-rw-r--r--app/DoctrineMigrations/Version20161122203647.php21
-rw-r--r--app/DoctrineMigrations/Version20161128084725.php21
-rw-r--r--app/DoctrineMigrations/Version20161128131503.php21
-rw-r--r--app/DoctrineMigrations/Version20161214094402.php21
-rw-r--r--app/DoctrineMigrations/Version20161214094403.php21
-rw-r--r--app/DoctrineMigrations/Version20170127093841.php21
-rw-r--r--app/DoctrineMigrations/Version20170327194233.php21
-rw-r--r--app/DoctrineMigrations/Version20170405182620.php21
-rw-r--r--app/DoctrineMigrations/Version20170407200919.php21
-rw-r--r--app/DoctrineMigrations/Version20170420134133.php21
-rw-r--r--app/DoctrineMigrations/Version20170501115751.php21
-rw-r--r--app/DoctrineMigrations/Version20170510082609.php21
-rw-r--r--app/DoctrineMigrations/Version20170511115400.php21
-rw-r--r--app/DoctrineMigrations/Version20170511211659.php29
-rw-r--r--app/DoctrineMigrations/Version20170602075214.php21
-rw-r--r--app/DoctrineMigrations/Version20170606155640.php21
-rw-r--r--app/DoctrineMigrations/Version20170719231144.php23
-rw-r--r--app/DoctrineMigrations/Version20170824113337.php21
-rw-r--r--app/DoctrineMigrations/Version20171008195606.php21
-rw-r--r--app/DoctrineMigrations/Version20171105202000.php21
-rw-r--r--app/DoctrineMigrations/Version20171120163128.php21
-rw-r--r--app/DoctrineMigrations/Version20171125164500.php21
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml4
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml4
-rwxr-xr-xapp/Resources/static/themes/_global/img/logo-other_themes.pngbin3058 -> 0 bytes
-rw-r--r--app/Resources/static/themes/_global/img/logo-square.pngbin3314 -> 0 bytes
-rw-r--r--app/Resources/static/themes/_global/img/logo-square.svg1
-rw-r--r--app/Resources/static/themes/_global/img/logo-wallabag.svg301
-rw-r--r--app/Resources/static/themes/_global/index.js6
-rw-r--r--app/Resources/static/themes/_global/js/highlight.js8
-rw-r--r--app/Resources/static/themes/_global/js/tools.js6
-rw-r--r--app/Resources/static/themes/_global/share.scss6
-rw-r--r--app/Resources/static/themes/material/css/article.scss1
-rwxr-xr-xapp/Resources/static/themes/material/css/layout.scss4
-rw-r--r--app/Resources/static/themes/material/css/media_queries.scss10
-rw-r--r--app/config/config.yml1
-rw-r--r--app/config/security.yml2
-rw-r--r--app/config/wallabag.yml2
-rw-r--r--docker/php/Dockerfile4
-rw-r--r--package.json5
-rwxr-xr-x[-rw-r--r--]scripts/dev.sh0
-rwxr-xr-x[-rw-r--r--]scripts/install.sh0
-rwxr-xr-x[-rw-r--r--]scripts/release.sh8
-rwxr-xr-x[-rw-r--r--]scripts/require.sh0
-rwxr-xr-x[-rw-r--r--]scripts/update.sh0
-rw-r--r--src/Wallabag/AnnotationBundle/Controller/WallabagAnnotationController.php2
-rw-r--r--src/Wallabag/AnnotationBundle/Repository/AnnotationRepository.php4
-rw-r--r--src/Wallabag/ApiBundle/Controller/EntryRestController.php8
-rw-r--r--src/Wallabag/ApiBundle/Controller/TagRestController.php4
-rw-r--r--src/Wallabag/CoreBundle/Command/CleanDuplicatesCommand.php8
-rw-r--r--src/Wallabag/CoreBundle/Command/ExportCommand.php2
-rw-r--r--src/Wallabag/CoreBundle/Command/InstallCommand.php8
-rw-r--r--src/Wallabag/CoreBundle/Command/ListUserCommand.php2
-rw-r--r--src/Wallabag/CoreBundle/Command/ReloadEntryCommand.php2
-rw-r--r--src/Wallabag/CoreBundle/Controller/ConfigController.php2
-rw-r--r--src/Wallabag/CoreBundle/Controller/RssController.php1
-rw-r--r--src/Wallabag/CoreBundle/Controller/TagController.php2
-rw-r--r--src/Wallabag/CoreBundle/Doctrine/WallabagMigration.php49
-rw-r--r--src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php4
-rw-r--r--src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php2
-rw-r--r--src/Wallabag/CoreBundle/Helper/ContentProxy.php62
-rw-r--r--src/Wallabag/CoreBundle/Helper/CryptoProxy.php2
-rw-r--r--src/Wallabag/CoreBundle/Helper/DownloadImages.php47
-rw-r--r--src/Wallabag/CoreBundle/Helper/EntriesExport.php4
-rw-r--r--src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php2
-rw-r--r--src/Wallabag/CoreBundle/Helper/Redirect.php2
-rw-r--r--src/Wallabag/CoreBundle/Helper/TagsAssigner.php4
-rw-r--r--src/Wallabag/CoreBundle/ParamConverter/UsernameRssTokenConverter.php2
-rw-r--r--src/Wallabag/CoreBundle/Repository/EntryRepository.php71
-rw-r--r--src/Wallabag/CoreBundle/Repository/TagRepository.php2
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.en.yml8
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml8
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Static/_bookmarklet.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_no_preview.html.twig7
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig4
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Exception/error.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Tools/Utils.php2
-rw-r--r--src/Wallabag/CoreBundle/Twig/WallabagExtension.php10
-rw-r--r--src/Wallabag/ImportBundle/Command/ImportCommand.php2
-rw-r--r--src/Wallabag/ImportBundle/Controller/BrowserController.php2
-rw-r--r--src/Wallabag/ImportBundle/Controller/InstapaperController.php2
-rw-r--r--src/Wallabag/ImportBundle/Controller/PinboardController.php2
-rw-r--r--src/Wallabag/ImportBundle/Controller/ReadabilityController.php2
-rw-r--r--src/Wallabag/ImportBundle/Controller/WallabagController.php2
-rw-r--r--src/Wallabag/ImportBundle/Import/BrowserImport.php2
-rw-r--r--src/Wallabag/ImportBundle/Import/InstapaperImport.php4
-rw-r--r--src/Wallabag/ImportBundle/Import/PocketImport.php2
-rw-r--r--src/Wallabag/ImportBundle/Import/WallabagV1Import.php2
-rw-r--r--src/Wallabag/UserBundle/Resources/translations/wallabag_user.oc.yml2
-rw-r--r--src/Wallabag/UserBundle/Resources/views/Security/login.html.twig2
-rw-r--r--src/Wallabag/UserBundle/Resources/views/layout.html.twig2
-rw-r--r--tests/Wallabag/ApiBundle/Controller/DeveloperControllerTest.php4
-rw-r--r--tests/Wallabag/ApiBundle/Controller/EntryRestControllerTest.php64
-rw-r--r--tests/Wallabag/CoreBundle/Command/CleanDuplicatesCommandTest.php2
-rw-r--r--tests/Wallabag/CoreBundle/Command/ReloadEntryCommandTest.php2
-rw-r--r--tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php8
-rw-r--r--tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php35
-rw-r--r--tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php4
-rw-r--r--tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php12
-rw-r--r--tests/Wallabag/CoreBundle/Controller/TagControllerTest.php2
-rw-r--r--tests/Wallabag/CoreBundle/Helper/ContentProxyTest.php245
-rw-r--r--tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php69
-rw-r--r--tests/Wallabag/CoreBundle/Tools/UtilsTest.php2
-rw-r--r--tests/Wallabag/ImportBundle/Controller/ChromeControllerTest.php2
-rw-r--r--tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php10
-rw-r--r--tests/Wallabag/ImportBundle/Controller/InstapaperControllerTest.php16
-rw-r--r--tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php2
-rw-r--r--tests/Wallabag/ImportBundle/Controller/ReadabilityControllerTest.php10
-rw-r--r--tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php2
-rw-r--r--tests/Wallabag/ImportBundle/Controller/WallabagV2ControllerTest.php12
-rw-r--r--tests/Wallabag/ImportBundle/fixtures/firefox-bookmarks.json4
-rw-r--r--tests/Wallabag/ImportBundle/fixtures/instapaper-export.csv4
-rw-r--r--tests/Wallabag/ImportBundle/fixtures/readability.json4
-rw-r--r--tests/Wallabag/ImportBundle/fixtures/wallabag-v2.json2
-rw-r--r--tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php2
-rw-r--r--var/SymfonyRequirements.php13
-rw-r--r--web/wallassets/baggy.css2
-rw-r--r--web/wallassets/baggy.js2
-rw-r--r--web/wallassets/material.css2
-rw-r--r--web/wallassets/material.js2
-rw-r--r--web/wallassets/public.css2
-rw-r--r--web/wallassets/themes/_global/img/logo-other_themes.pngbin3058 -> 0 bytes
-rw-r--r--web/wallassets/themes/_global/img/logo-square.pngbin3314 -> 0 bytes
-rw-r--r--web/wallassets/themes/_global/img/logo-square.svg1
-rw-r--r--web/wallassets/themes/_global/img/logo-wallabag.svg301
-rw-r--r--yarn.lock4
148 files changed, 965 insertions, 1589 deletions
diff --git a/.scrutinizer.yml b/.scrutinizer.yml
index dee92922..194297f6 100644
--- a/.scrutinizer.yml
+++ b/.scrutinizer.yml
@@ -26,3 +26,18 @@ tools:
26checks: 26checks:
27 php: 27 php:
28 code_rating: true 28 code_rating: true
29
30# use the new PHP analysis engine
31# https://scrutinizer-ci.com/docs/tools/php/php-analyzer/guides/migrate_to_new_php_analysis
32build:
33 nodes:
34 analysis:
35 tests:
36 override:
37 - php-scrutinizer-run
38
39 dependencies:
40 override:
41 - npm install -g 'yarn'
42 - yarn install --force
43 - COMPOSER_MEMORY_LIMIT=-1 composer install -o --no-interaction --no-progress --prefer-dist
diff --git a/.travis.yml b/.travis.yml
index c6c03dc3..eb409533 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -44,7 +44,6 @@ matrix:
44 - php: 7.0 44 - php: 7.0
45 env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build DB=sqlite 45 env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build DB=sqlite
46 allow_failures: 46 allow_failures:
47 - php: 7.2
48 - php: nightly 47 - php: nightly
49 48
50# exclude v1 branches 49# exclude v1 branches
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b2626153..73fe6798 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,29 @@
1# Changelog 1# Changelog
2 2
3## [2.3.3](https://github.com/wallabag/wallabag/tree/2.3.3)
4 [Full Changelog](https://github.com/wallabag/wallabag/compare/2.3.2...2.3.3)
5
6### Fixes
7
8- Fix error when withRemove variable is not defined. [#3573](https://github.com/wallabag/wallabag/pull/3573)
9- Fix title card HTML parsing [#3592](https://github.com/wallabag/wallabag/pull/3592)
10- Fix tests [#3597](https://github.com/wallabag/wallabag/pull/3597)
11- Fix tests [#3619](https://github.com/wallabag/wallabag/pull/3619)
12- Better encoding of the URI for the bookmarklet [#3616](https://github.com/wallabag/wallabag/pull/3616)
13- Fix overflow wrap issue [#3652](https://github.com/wallabag/wallabag/pull/3652)
14- Fix/firefox mobile unneeded resize [#3653](https://github.com/wallabag/wallabag/pull/3653)
15- Fix srcset attribute on images downloaded [#3661](https://github.com/wallabag/wallabag/pull/3661)
16- Fix authors and preview alt encoding display [#3664](https://github.com/wallabag/wallabag/pull/3664)
17- Spelling: GitHub, Log out, of the dev [#3614](https://github.com/wallabag/wallabag/pull/3614)
18- Fix tests [#3668](https://github.com/wallabag/wallabag/pull/3668)
19- Fixed migrations with dash into db names [#3538](https://github.com/wallabag/wallabag/pull/3538)
20
21### Changes
22
23- Allow login by email [#3615](https://github.com/wallabag/wallabag/pull/3615)
24- Occitan update [#3646](https://github.com/wallabag/wallabag/pull/3646)
25- Highlight code in articles using highlight.js [#3636](https://github.com/wallabag/wallabag/pull/3636)
26
3## [2.3.2](https://github.com/wallabag/wallabag/tree/2.3.2) 27## [2.3.2](https://github.com/wallabag/wallabag/tree/2.3.2)
4 [Full Changelog](https://github.com/wallabag/wallabag/compare/2.3.1...2.3.2) 28 [Full Changelog](https://github.com/wallabag/wallabag/compare/2.3.1...2.3.2)
5 29
diff --git a/GNUmakefile b/GNUmakefile
new file mode 100755
index 00000000..a04468cb
--- /dev/null
+++ b/GNUmakefile
@@ -0,0 +1,53 @@
1SHELL=bash
2TMP_FOLDER=/tmp
3RELEASE_FOLDER=wllbg-release
4
5ENV ?= prod
6
7help: ## Display this help menu
8 @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
9
10clean: ## Clear the application cache
11 rm -rf var/cache/*
12
13install: ## Install wallabag with the latest version
14 @./scripts/install.sh $(ENV)
15
16update: ## Update the wallabag installation to the latest version
17 @./scripts/update.sh $(ENV)
18
19dev: ## Install the latest dev version
20 @./scripts/dev.sh
21
22run: ## Run the wallabag built-in server
23 @php bin/console server:run --env=dev
24
25build: ## Run webpack
26 @npm run build:$(ENV)
27
28prepare: clean ## Prepare database for testsuite
29ifdef DB
30 cp app/config/tests/parameters_test.$(DB).yml app/config/parameters_test.yml
31endif
32 -php bin/console doctrine:database:drop --force --env=test
33 php bin/console doctrine:database:create --env=test
34 php bin/console doctrine:migrations:migrate --no-interaction --env=test
35
36fixtures: ## Load fixtures into database
37 php bin/console doctrine:fixtures:load --no-interaction --env=test
38
39test: prepare fixtures ## Launch wallabag testsuite
40 bin/simple-phpunit -v
41
42release: ## Create a package. Need a VERSION parameter (eg: `make release VERSION=master`).
43ifndef VERSION
44 $(error VERSION is not set)
45endif
46 @./scripts/release.sh $(VERSION) $(TMP_FOLDER) $(RELEASE_FOLDER) $(ENV)
47
48deploy: ## Deploy wallabag
49 @bundle exec cap staging deploy
50
51.PHONY: help clean prepare install fixtures update build test release deploy run dev
52
53.DEFAULT_GOAL := install
diff --git a/Makefile b/Makefile
index 0f4cbbe8..fefdd017 100755..100644
--- a/Makefile
+++ b/Makefile
@@ -1,52 +1,2 @@
1TMP_FOLDER=/tmp 1.DEFAULT:
2RELEASE_FOLDER=wllbg-release 2 gmake $@
3
4ENV ?= prod
5
6help: ## Display this help menu
7 @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
8
9clean: ## Clear the application cache
10 rm -rf var/cache/*
11
12install: ## Install wallabag with the latest version
13 @sh scripts/install.sh $(ENV)
14
15update: ## Update the wallabag installation to the latest version
16 @sh scripts/update.sh $(ENV)
17
18dev: ## Install the latest dev version
19 @sh scripts/dev.sh
20
21run: ## Run the wallabag built-in server
22 @php bin/console server:run --env=dev
23
24build: ## Run webpack
25 @npm run build:$(ENV)
26
27prepare: clean ## Prepare database for testsuite
28ifdef DB
29 cp app/config/tests/parameters_test.$(DB).yml app/config/parameters_test.yml
30endif
31 -php bin/console doctrine:database:drop --force --env=test
32 php bin/console doctrine:database:create --env=test
33 php bin/console doctrine:migrations:migrate --no-interaction --env=test
34
35fixtures: ## Load fixtures into database
36 php bin/console doctrine:fixtures:load --no-interaction --env=test
37
38test: prepare fixtures ## Launch wallabag testsuite
39 bin/simple-phpunit -v
40
41release: ## Create a package. Need a VERSION parameter (eg: `make release VERSION=master`).
42ifndef VERSION
43 $(error VERSION is not set)
44endif
45 @sh scripts/release.sh $(VERSION) $(TMP_FOLDER) $(RELEASE_FOLDER) $(ENV)
46
47deploy: ## Deploy wallabag
48 @bundle exec cap staging deploy
49
50.PHONY: help clean prepare install fixtures update build test release deploy run dev
51
52.DEFAULT_GOAL := install
diff --git a/README.md b/README.md
index f463f79a..15c4ecb2 100644
--- a/README.md
+++ b/README.md
@@ -24,6 +24,11 @@ cd wallabag && make install
24 24
25Now, [configure a virtual host](https://doc.wallabag.org/en/admin/installation/virtualhosts.html) to use your wallabag. 25Now, [configure a virtual host](https://doc.wallabag.org/en/admin/installation/virtualhosts.html) to use your wallabag.
26 26
27# Run on YunoHost
28[![Install Wallabag with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=wallabag2)
29
30Wallabag app for [YunoHost](https://yunohost.org). See [here](https://github.com/YunoHost-Apps/wallabag2_ynh)
31
27# License 32# License
28Copyright © 2013-2018 Nicolas Lœuillet <nicolas@loeuillet.org> 33Copyright © 2013-2018 Nicolas Lœuillet <nicolas@loeuillet.org>
29This work is free. You can redistribute it and/or modify it under the 34This work is free. You can redistribute it and/or modify it under the
diff --git a/app/DoctrineMigrations/Version20160401000000.php b/app/DoctrineMigrations/Version20160401000000.php
index e9956b48..c80e3e1f 100644
--- a/app/DoctrineMigrations/Version20160401000000.php
+++ b/app/DoctrineMigrations/Version20160401000000.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Initial database structure. 9 * Initial database structure.
12 */ 10 */
13class Version20160401000000 extends AbstractMigration implements ContainerAwareInterface 11class Version20160401000000 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -76,30 +64,30 @@ SQL
76 case 'mysql': 64 case 'mysql':
77 $sql = <<<SQL 65 $sql = <<<SQL
78CREATE TABLE {$this->getTable('craue_config_setting')} (name VARCHAR(255) NOT NULL, value VARCHAR(255) DEFAULT NULL, section VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_5D9649505E237E06 (name), PRIMARY KEY(name)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; 66CREATE TABLE {$this->getTable('craue_config_setting')} (name VARCHAR(255) NOT NULL, value VARCHAR(255) DEFAULT NULL, section VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_5D9649505E237E06 (name), PRIMARY KEY(name)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
79CREATE TABLE `{$this->getTable('entry')}` (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, title LONGTEXT DEFAULT NULL, url LONGTEXT DEFAULT NULL, is_archived TINYINT(1) NOT NULL, is_starred TINYINT(1) NOT NULL, content LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype LONGTEXT DEFAULT NULL, language LONGTEXT DEFAULT NULL, reading_time INT DEFAULT NULL, domain_name LONGTEXT DEFAULT NULL, preview_picture LONGTEXT DEFAULT NULL, is_public TINYINT(1) DEFAULT '0', INDEX IDX_F4D18282A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; 67CREATE TABLE {$this->getTable('entry')} (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, title LONGTEXT DEFAULT NULL, url LONGTEXT DEFAULT NULL, is_archived TINYINT(1) NOT NULL, is_starred TINYINT(1) NOT NULL, content LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype LONGTEXT DEFAULT NULL, language LONGTEXT DEFAULT NULL, reading_time INT DEFAULT NULL, domain_name LONGTEXT DEFAULT NULL, preview_picture LONGTEXT DEFAULT NULL, is_public TINYINT(1) DEFAULT '0', INDEX IDX_F4D18282A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
80CREATE TABLE {$this->getTable('entry_tag')} (entry_id INT NOT NULL, tag_id INT NOT NULL, INDEX IDX_C9F0DD7CBA364942 (entry_id), INDEX IDX_C9F0DD7CBAD26311 (tag_id), PRIMARY KEY(entry_id, tag_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; 68CREATE TABLE {$this->getTable('entry_tag')} (entry_id INT NOT NULL, tag_id INT NOT NULL, INDEX IDX_C9F0DD7CBA364942 (entry_id), INDEX IDX_C9F0DD7CBAD26311 (tag_id), PRIMARY KEY(entry_id, tag_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
81CREATE TABLE `{$this->getTable('config')}` (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, theme VARCHAR(255) NOT NULL, items_per_page INT NOT NULL, language VARCHAR(255) NOT NULL, rss_token VARCHAR(255) DEFAULT NULL, rss_limit INT DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, UNIQUE INDEX UNIQ_87E64C53A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; 69CREATE TABLE {$this->getTable('config')} (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, theme VARCHAR(255) NOT NULL, items_per_page INT NOT NULL, language VARCHAR(255) NOT NULL, rss_token VARCHAR(255) DEFAULT NULL, rss_limit INT DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, UNIQUE INDEX UNIQ_87E64C53A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
82CREATE TABLE `{$this->getTable('tagging_rule')}` (id INT AUTO_INCREMENT NOT NULL, config_id INT DEFAULT NULL, rule VARCHAR(255) NOT NULL, tags LONGTEXT NOT NULL COMMENT '(DC2Type:simple_array)', INDEX IDX_2D9B3C5424DB0683 (config_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; 70CREATE TABLE {$this->getTable('tagging_rule')} (id INT AUTO_INCREMENT NOT NULL, config_id INT DEFAULT NULL, rule VARCHAR(255) NOT NULL, tags LONGTEXT NOT NULL COMMENT '(DC2Type:simple_array)', INDEX IDX_2D9B3C5424DB0683 (config_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
83CREATE TABLE `{$this->getTable('tag')}` (id INT AUTO_INCREMENT NOT NULL, `label` LONGTEXT NOT NULL, slug VARCHAR(128) NOT NULL, UNIQUE INDEX UNIQ_4CA58A8C989D9B62 (slug), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; 71CREATE TABLE {$this->getTable('tag')} (id INT AUTO_INCREMENT NOT NULL, `label` LONGTEXT NOT NULL, slug VARCHAR(128) NOT NULL, UNIQUE INDEX UNIQ_4CA58A8C989D9B62 (slug), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
84CREATE TABLE {$this->getTable('oauth2_clients')} (id INT AUTO_INCREMENT NOT NULL, random_id VARCHAR(255) NOT NULL, redirect_uris LONGTEXT NOT NULL COMMENT '(DC2Type:array)', secret VARCHAR(255) NOT NULL, allowed_grant_types LONGTEXT NOT NULL COMMENT '(DC2Type:array)', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; 72CREATE TABLE {$this->getTable('oauth2_clients')} (id INT AUTO_INCREMENT NOT NULL, random_id VARCHAR(255) NOT NULL, redirect_uris LONGTEXT NOT NULL COMMENT '(DC2Type:array)', secret VARCHAR(255) NOT NULL, allowed_grant_types LONGTEXT NOT NULL COMMENT '(DC2Type:array)', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
85CREATE TABLE {$this->getTable('oauth2_access_tokens')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_368A42095F37A13B (token), INDEX IDX_368A420919EB6921 (client_id), INDEX IDX_368A4209A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; 73CREATE TABLE {$this->getTable('oauth2_access_tokens')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_368A42095F37A13B (token), INDEX IDX_368A420919EB6921 (client_id), INDEX IDX_368A4209A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
86CREATE TABLE {$this->getTable('oauth2_refresh_tokens')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_20C9FB245F37A13B (token), INDEX IDX_20C9FB2419EB6921 (client_id), INDEX IDX_20C9FB24A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; 74CREATE TABLE {$this->getTable('oauth2_refresh_tokens')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_20C9FB245F37A13B (token), INDEX IDX_20C9FB2419EB6921 (client_id), INDEX IDX_20C9FB24A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
87CREATE TABLE {$this->getTable('oauth2_auth_codes')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, redirect_uri LONGTEXT NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_EE52E3FA5F37A13B (token), INDEX IDX_EE52E3FA19EB6921 (client_id), INDEX IDX_EE52E3FAA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; 75CREATE TABLE {$this->getTable('oauth2_auth_codes')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, redirect_uri LONGTEXT NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_EE52E3FA5F37A13B (token), INDEX IDX_EE52E3FA19EB6921 (client_id), INDEX IDX_EE52E3FAA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
88CREATE TABLE `{$this->getTable('user')}` (id INT AUTO_INCREMENT NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled TINYINT(1) NOT NULL, salt VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, last_login DATETIME DEFAULT NULL, locked TINYINT(1) NOT NULL, expired TINYINT(1) NOT NULL, expires_at DATETIME DEFAULT NULL, confirmation_token VARCHAR(255) DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, roles LONGTEXT NOT NULL COMMENT '(DC2Type:array)', credentials_expired TINYINT(1) NOT NULL, credentials_expire_at DATETIME DEFAULT NULL, name LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INT DEFAULT NULL, twoFactorAuthentication TINYINT(1) NOT NULL, trusted LONGTEXT DEFAULT NULL COMMENT '(DC2Type:json_array)', UNIQUE INDEX UNIQ_1D63E7E592FC23A8 (username_canonical), UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF (email_canonical), UNIQUE INDEX UNIQ_1D63E7E5C05FB297 (confirmation_token), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; 76CREATE TABLE {$this->getTable('user')} (id INT AUTO_INCREMENT NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled TINYINT(1) NOT NULL, salt VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, last_login DATETIME DEFAULT NULL, locked TINYINT(1) NOT NULL, expired TINYINT(1) NOT NULL, expires_at DATETIME DEFAULT NULL, confirmation_token VARCHAR(255) DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, roles LONGTEXT NOT NULL COMMENT '(DC2Type:array)', credentials_expired TINYINT(1) NOT NULL, credentials_expire_at DATETIME DEFAULT NULL, name LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INT DEFAULT NULL, twoFactorAuthentication TINYINT(1) NOT NULL, trusted LONGTEXT DEFAULT NULL COMMENT '(DC2Type:json_array)', UNIQUE INDEX UNIQ_1D63E7E592FC23A8 (username_canonical), UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF (email_canonical), UNIQUE INDEX UNIQ_1D63E7E5C05FB297 (confirmation_token), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
89CREATE TABLE {$this->getTable('annotation')} (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, entry_id INT DEFAULT NULL, text LONGTEXT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, quote VARCHAR(255) NOT NULL, ranges LONGTEXT NOT NULL COMMENT '(DC2Type:array)', INDEX IDX_A7AED006A76ED395 (user_id), INDEX IDX_A7AED006BA364942 (entry_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; 77CREATE TABLE {$this->getTable('annotation')} (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, entry_id INT DEFAULT NULL, text LONGTEXT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, quote VARCHAR(255) NOT NULL, ranges LONGTEXT NOT NULL COMMENT '(DC2Type:array)', INDEX IDX_A7AED006A76ED395 (user_id), INDEX IDX_A7AED006BA364942 (entry_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
90ALTER TABLE `{$this->getTable('entry')}` ADD CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES `{$this->getTable('user')}` (id); 78ALTER TABLE {$this->getTable('entry')} ADD CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
91ALTER TABLE {$this->getTable('entry_tag')} ADD CONSTRAINT FK_C9F0DD7CBA364942 FOREIGN KEY (entry_id) REFERENCES `{$this->getTable('entry')}` (id); 79ALTER TABLE {$this->getTable('entry_tag')} ADD CONSTRAINT FK_C9F0DD7CBA364942 FOREIGN KEY (entry_id) REFERENCES {$this->getTable('entry')} (id);
92ALTER TABLE {$this->getTable('entry_tag')} ADD CONSTRAINT FK_C9F0DD7CBAD26311 FOREIGN KEY (tag_id) REFERENCES `{$this->getTable('tag')}` (id); 80ALTER TABLE {$this->getTable('entry_tag')} ADD CONSTRAINT FK_C9F0DD7CBAD26311 FOREIGN KEY (tag_id) REFERENCES {$this->getTable('tag')} (id);
93ALTER TABLE `{$this->getTable('config')}` ADD CONSTRAINT FK_87E64C53A76ED395 FOREIGN KEY (user_id) REFERENCES `{$this->getTable('user')}` (id); 81ALTER TABLE {$this->getTable('config')} ADD CONSTRAINT FK_87E64C53A76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
94ALTER TABLE `{$this->getTable('tagging_rule')}` ADD CONSTRAINT FK_2D9B3C5424DB0683 FOREIGN KEY (config_id) REFERENCES `{$this->getTable('config')}` (id); 82ALTER TABLE {$this->getTable('tagging_rule')} ADD CONSTRAINT FK_2D9B3C5424DB0683 FOREIGN KEY (config_id) REFERENCES {$this->getTable('config')} (id);
95ALTER TABLE {$this->getTable('oauth2_access_tokens')} ADD CONSTRAINT FK_368A420919EB6921 FOREIGN KEY (client_id) REFERENCES {$this->getTable('oauth2_clients')} (id); 83ALTER TABLE {$this->getTable('oauth2_access_tokens')} ADD CONSTRAINT FK_368A420919EB6921 FOREIGN KEY (client_id) REFERENCES {$this->getTable('oauth2_clients')} (id);
96ALTER TABLE {$this->getTable('oauth2_access_tokens')} ADD CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES `{$this->getTable('user')}` (id); 84ALTER TABLE {$this->getTable('oauth2_access_tokens')} ADD CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
97ALTER TABLE {$this->getTable('oauth2_refresh_tokens')} ADD CONSTRAINT FK_20C9FB2419EB6921 FOREIGN KEY (client_id) REFERENCES {$this->getTable('oauth2_clients')} (id); 85ALTER TABLE {$this->getTable('oauth2_refresh_tokens')} ADD CONSTRAINT FK_20C9FB2419EB6921 FOREIGN KEY (client_id) REFERENCES {$this->getTable('oauth2_clients')} (id);
98ALTER TABLE {$this->getTable('oauth2_refresh_tokens')} ADD CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES `{$this->getTable('user')}` (id); 86ALTER TABLE {$this->getTable('oauth2_refresh_tokens')} ADD CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
99ALTER TABLE {$this->getTable('oauth2_auth_codes')} ADD CONSTRAINT FK_EE52E3FA19EB6921 FOREIGN KEY (client_id) REFERENCES {$this->getTable('oauth2_clients')} (id); 87ALTER TABLE {$this->getTable('oauth2_auth_codes')} ADD CONSTRAINT FK_EE52E3FA19EB6921 FOREIGN KEY (client_id) REFERENCES {$this->getTable('oauth2_clients')} (id);
100ALTER TABLE {$this->getTable('oauth2_auth_codes')} ADD CONSTRAINT FK_EE52E3FAA76ED395 FOREIGN KEY (user_id) REFERENCES `{$this->getTable('user')}` (id); 88ALTER TABLE {$this->getTable('oauth2_auth_codes')} ADD CONSTRAINT FK_EE52E3FAA76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
101ALTER TABLE {$this->getTable('annotation')} ADD CONSTRAINT FK_A7AED006A76ED395 FOREIGN KEY (user_id) REFERENCES `{$this->getTable('user')}` (id); 89ALTER TABLE {$this->getTable('annotation')} ADD CONSTRAINT FK_A7AED006A76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
102ALTER TABLE {$this->getTable('annotation')} ADD CONSTRAINT FK_A7AED006BA364942 FOREIGN KEY (entry_id) REFERENCES `{$this->getTable('entry')}` (id); 90ALTER TABLE {$this->getTable('annotation')} ADD CONSTRAINT FK_A7AED006BA364942 FOREIGN KEY (entry_id) REFERENCES {$this->getTable('entry')} (id);
103SQL 91SQL
104 ; 92 ;
105 foreach (explode("\n", $sql) as $query) { 93 foreach (explode("\n", $sql) as $query) {
@@ -197,9 +185,4 @@ SQL
197 $this->addSql("DROP TABLE {$this->getTable('user')}"); 185 $this->addSql("DROP TABLE {$this->getTable('user')}");
198 $this->addSql("DROP TABLE {$this->getTable('annotation')}"); 186 $this->addSql("DROP TABLE {$this->getTable('annotation')}");
199 } 187 }
200
201 private function getTable($tableName)
202 {
203 return $this->container->getParameter('database_table_prefix') . $tableName;
204 }
205} 188}
diff --git a/app/DoctrineMigrations/Version20160410190541.php b/app/DoctrineMigrations/Version20160410190541.php
index 55c12ce1..e1bd3e5c 100644
--- a/app/DoctrineMigrations/Version20160410190541.php
+++ b/app/DoctrineMigrations/Version20160410190541.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added foreign keys for account resetting. 9 * Added foreign keys for account resetting.
12 */ 10 */
13class Version20160410190541 extends AbstractMigration implements ContainerAwareInterface 11class Version20160410190541 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -56,9 +44,4 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
56 44
57 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_public'"); 45 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_public'");
58 } 46 }
59
60 private function getTable($tableName)
61 {
62 return $this->container->getParameter('database_table_prefix') . $tableName;
63 }
64} 47}
diff --git a/app/DoctrineMigrations/Version20160812120952.php b/app/DoctrineMigrations/Version20160812120952.php
index d28f3a71..d09aefa0 100644
--- a/app/DoctrineMigrations/Version20160812120952.php
+++ b/app/DoctrineMigrations/Version20160812120952.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added name field on wallabag_oauth2_clients. 9 * Added name field on wallabag_oauth2_clients.
12 */ 10 */
13class Version20160812120952 extends AbstractMigration implements ContainerAwareInterface 11class Version20160812120952 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -65,9 +53,4 @@ class Version20160812120952 extends AbstractMigration implements ContainerAwareI
65 $clientsTable->dropColumn('name'); 53 $clientsTable->dropColumn('name');
66 } 54 }
67 } 55 }
68
69 private function getTable($tableName)
70 {
71 return $this->container->getParameter('database_table_prefix') . $tableName;
72 }
73} 56}
diff --git a/app/DoctrineMigrations/Version20160911214952.php b/app/DoctrineMigrations/Version20160911214952.php
index 08cc8a03..9dc225fd 100644
--- a/app/DoctrineMigrations/Version20160911214952.php
+++ b/app/DoctrineMigrations/Version20160911214952.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added settings for RabbitMQ and Redis imports. 9 * Added settings for RabbitMQ and Redis imports.
12 */ 10 */
13class Version20160911214952 extends AbstractMigration implements ContainerAwareInterface 11class Version20160911214952 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -56,9 +44,4 @@ class Version20160911214952 extends AbstractMigration implements ContainerAwareI
56 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_redis';"); 44 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_redis';");
57 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_rabbitmq';"); 45 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_rabbitmq';");
58 } 46 }
59
60 private function getTable($tableName)
61 {
62 return $this->container->getParameter('database_table_prefix') . $tableName;
63 }
64} 47}
diff --git a/app/DoctrineMigrations/Version20160916201049.php b/app/DoctrineMigrations/Version20160916201049.php
index 83503bc4..13f99ce1 100644
--- a/app/DoctrineMigrations/Version20160916201049.php
+++ b/app/DoctrineMigrations/Version20160916201049.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added pocket_consumer_key field on wallabag_config. 9 * Added pocket_consumer_key field on wallabag_config.
12 */ 10 */
13class Version20160916201049 extends AbstractMigration implements ContainerAwareInterface 11class Version20160916201049 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -44,9 +32,4 @@ class Version20160916201049 extends AbstractMigration implements ContainerAwareI
44 $configTable->dropColumn('pocket_consumer_key'); 32 $configTable->dropColumn('pocket_consumer_key');
45 $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('pocket_consumer_key', NULL, 'import')"); 33 $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('pocket_consumer_key', NULL, 'import')");
46 } 34 }
47
48 private function getTable($tableName)
49 {
50 return $this->container->getParameter('database_table_prefix') . $tableName;
51 }
52} 35}
diff --git a/app/DoctrineMigrations/Version20161001072726.php b/app/DoctrineMigrations/Version20161001072726.php
index f9d088a3..4e19a54a 100644
--- a/app/DoctrineMigrations/Version20161001072726.php
+++ b/app/DoctrineMigrations/Version20161001072726.php
@@ -2,28 +2,16 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Migrations\SkipMigrationException; 5use Doctrine\DBAL\Migrations\SkipMigrationException;
7use Doctrine\DBAL\Schema\Schema; 6use Doctrine\DBAL\Schema\Schema;
8use Symfony\Component\DependencyInjection\ContainerAwareInterface; 7use Wallabag\CoreBundle\Doctrine\WallabagMigration;
9use Symfony\Component\DependencyInjection\ContainerInterface;
10 8
11/** 9/**
12 * Added pocket_consumer_key field on wallabag_config. 10 * Added pocket_consumer_key field on wallabag_config.
13 */ 11 */
14class Version20161001072726 extends AbstractMigration implements ContainerAwareInterface 12class Version20161001072726 extends WallabagMigration
15{ 13{
16 /** 14 /**
17 * @var ContainerInterface
18 */
19 private $container;
20
21 public function setContainer(ContainerInterface $container = null)
22 {
23 $this->container = $container;
24 }
25
26 /**
27 * @param Schema $schema 15 * @param Schema $schema
28 */ 16 */
29 public function up(Schema $schema) 17 public function up(Schema $schema)
@@ -36,7 +24,7 @@ class Version20161001072726 extends AbstractMigration implements ContainerAwareI
36 $query = $this->connection->query(" 24 $query = $this->connection->query("
37 SELECT CONSTRAINT_NAME 25 SELECT CONSTRAINT_NAME
38 FROM information_schema.key_column_usage 26 FROM information_schema.key_column_usage
39 WHERE TABLE_NAME = '" . $this->getTable('entry_tag') . "' AND CONSTRAINT_NAME LIKE 'FK_%' 27 WHERE TABLE_NAME = '" . $this->getTable('entry_tag', WallabagMigration::UN_ESCAPED_TABLE) . "' AND CONSTRAINT_NAME LIKE 'FK_%'
40 AND TABLE_SCHEMA = '" . $this->connection->getDatabase() . "'" 28 AND TABLE_SCHEMA = '" . $this->connection->getDatabase() . "'"
41 ); 29 );
42 $query->execute(); 30 $query->execute();
@@ -54,7 +42,7 @@ class Version20161001072726 extends AbstractMigration implements ContainerAwareI
54 FROM pg_constraint c 42 FROM pg_constraint c
55 JOIN pg_namespace n ON n.oid = c.connamespace 43 JOIN pg_namespace n ON n.oid = c.connamespace
56 WHERE contype = 'f' 44 WHERE contype = 'f'
57 AND conrelid::regclass::text = '" . $this->getTable('entry_tag') . "' 45 AND conrelid::regclass::text = '" . $this->getTable('entry_tag', WallabagMigration::UN_ESCAPED_TABLE) . "'
58 AND n.nspname = 'public';" 46 AND n.nspname = 'public';"
59 ); 47 );
60 $query->execute(); 48 $query->execute();
@@ -75,7 +63,7 @@ class Version20161001072726 extends AbstractMigration implements ContainerAwareI
75 $query = $this->connection->query(" 63 $query = $this->connection->query("
76 SELECT CONSTRAINT_NAME 64 SELECT CONSTRAINT_NAME
77 FROM information_schema.key_column_usage 65 FROM information_schema.key_column_usage
78 WHERE TABLE_NAME = '" . $this->getTable('annotation') . "' 66 WHERE TABLE_NAME = '" . $this->getTable('annotation', WallabagMigration::UN_ESCAPED_TABLE) . "'
79 AND CONSTRAINT_NAME LIKE 'FK_%' 67 AND CONSTRAINT_NAME LIKE 'FK_%'
80 AND COLUMN_NAME = 'entry_id' 68 AND COLUMN_NAME = 'entry_id'
81 AND TABLE_SCHEMA = '" . $this->connection->getDatabase() . "'" 69 AND TABLE_SCHEMA = '" . $this->connection->getDatabase() . "'"
@@ -95,7 +83,7 @@ class Version20161001072726 extends AbstractMigration implements ContainerAwareI
95 FROM pg_constraint c 83 FROM pg_constraint c
96 JOIN pg_namespace n ON n.oid = c.connamespace 84 JOIN pg_namespace n ON n.oid = c.connamespace
97 WHERE contype = 'f' 85 WHERE contype = 'f'
98 AND conrelid::regclass::text = '" . $this->getTable('annotation') . "' 86 AND conrelid::regclass::text = '" . $this->getTable('annotation', WallabagMigration::UN_ESCAPED_TABLE) . "'
99 AND n.nspname = 'public' 87 AND n.nspname = 'public'
100 AND pg_get_constraintdef(c.oid) LIKE '%entry_id%';" 88 AND pg_get_constraintdef(c.oid) LIKE '%entry_id%';"
101 ); 89 );
@@ -117,9 +105,4 @@ class Version20161001072726 extends AbstractMigration implements ContainerAwareI
117 { 105 {
118 throw new SkipMigrationException('Too complex ...'); 106 throw new SkipMigrationException('Too complex ...');
119 } 107 }
120
121 private function getTable($tableName)
122 {
123 return $this->container->getParameter('database_table_prefix') . $tableName;
124 }
125} 108}
diff --git a/app/DoctrineMigrations/Version20161022134138.php b/app/DoctrineMigrations/Version20161022134138.php
index c84f8fbb..231aada7 100644
--- a/app/DoctrineMigrations/Version20161022134138.php
+++ b/app/DoctrineMigrations/Version20161022134138.php
@@ -2,34 +2,22 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Converted database to utf8mb4 encoding (for MySQL only). 9 * Converted database to utf8mb4 encoding (for MySQL only).
12 */ 10 */
13class Version20161022134138 extends AbstractMigration implements ContainerAwareInterface 11class Version20161022134138 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
29 { 17 {
30 $this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL'); 18 $this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
31 19
32 $this->addSql('ALTER DATABASE ' . $this->connection->getParams()['dbname'] . ' CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;'); 20 $this->addSql('ALTER DATABASE `' . $this->connection->getParams()['dbname'] . '` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;');
33 21
34 // convert field length for utf8mb4 22 // convert field length for utf8mb4
35 // http://stackoverflow.com/a/31474509/569101 23 // http://stackoverflow.com/a/31474509/569101
@@ -60,7 +48,7 @@ class Version20161022134138 extends AbstractMigration implements ContainerAwareI
60 { 48 {
61 $this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL'); 49 $this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
62 50
63 $this->addSql('ALTER DATABASE ' . $this->connection->getParams()['dbname'] . ' CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;'); 51 $this->addSql('ALTER DATABASE `' . $this->connection->getParams()['dbname'] . '` CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;');
64 52
65 $this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;'); 53 $this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
66 $this->addSql('ALTER TABLE ' . $this->getTable('entry') . ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;'); 54 $this->addSql('ALTER TABLE ' . $this->getTable('entry') . ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
@@ -77,9 +65,4 @@ class Version20161022134138 extends AbstractMigration implements ContainerAwareI
77 65
78 $this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE `name` `name` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;'); 66 $this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE `name` `name` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
79 } 67 }
80
81 private function getTable($tableName)
82 {
83 return $this->container->getParameter('database_table_prefix') . $tableName;
84 }
85} 68}
diff --git a/app/DoctrineMigrations/Version20161024212538.php b/app/DoctrineMigrations/Version20161024212538.php
index 698819be..a7e3c3c8 100644
--- a/app/DoctrineMigrations/Version20161024212538.php
+++ b/app/DoctrineMigrations/Version20161024212538.php
@@ -2,28 +2,16 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added user_id column on oauth2_clients to prevent users to delete API clients from other users. 9 * Added user_id column on oauth2_clients to prevent users to delete API clients from other users.
12 */ 10 */
13class Version20161024212538 extends AbstractMigration implements ContainerAwareInterface 11class Version20161024212538 extends WallabagMigration
14{ 12{
15 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 private $constraintName = 'IDX_user_oauth_client'; 13 private $constraintName = 'IDX_user_oauth_client';
21 14
22 public function setContainer(ContainerInterface $container = null)
23 {
24 $this->container = $container;
25 }
26
27 /** 15 /**
28 * @param Schema $schema 16 * @param Schema $schema
29 */ 17 */
@@ -59,9 +47,4 @@ class Version20161024212538 extends AbstractMigration implements ContainerAwareI
59 $clientsTable->removeForeignKey($this->constraintName); 47 $clientsTable->removeForeignKey($this->constraintName);
60 } 48 }
61 } 49 }
62
63 private function getTable($tableName)
64 {
65 return $this->container->getParameter('database_table_prefix') . $tableName;
66 }
67} 50}
diff --git a/app/DoctrineMigrations/Version20161031132655.php b/app/DoctrineMigrations/Version20161031132655.php
index 0deebdf9..8d576862 100644
--- a/app/DoctrineMigrations/Version20161031132655.php
+++ b/app/DoctrineMigrations/Version20161031132655.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added the internal setting to enable/disable downloading pictures. 9 * Added the internal setting to enable/disable downloading pictures.
12 */ 10 */
13class Version20161031132655 extends AbstractMigration implements ContainerAwareInterface 11class Version20161031132655 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -44,9 +32,4 @@ class Version20161031132655 extends AbstractMigration implements ContainerAwareI
44 { 32 {
45 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_images_enabled';"); 33 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_images_enabled';");
46 } 34 }
47
48 private function getTable($tableName)
49 {
50 return $this->container->getParameter('database_table_prefix') . $tableName;
51 }
52} 35}
diff --git a/app/DoctrineMigrations/Version20161104073720.php b/app/DoctrineMigrations/Version20161104073720.php
index f59ad7ba..e2b18a46 100644
--- a/app/DoctrineMigrations/Version20161104073720.php
+++ b/app/DoctrineMigrations/Version20161104073720.php
@@ -2,28 +2,16 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added created_at index on entry table. 9 * Added created_at index on entry table.
12 */ 10 */
13class Version20161104073720 extends AbstractMigration implements ContainerAwareInterface 11class Version20161104073720 extends WallabagMigration
14{ 12{
15 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 private $indexName = 'IDX_entry_created_at'; 13 private $indexName = 'IDX_entry_created_at';
21 14
22 public function setContainer(ContainerInterface $container = null)
23 {
24 $this->container = $container;
25 }
26
27 /** 15 /**
28 * @param Schema $schema 16 * @param Schema $schema
29 */ 17 */
@@ -45,9 +33,4 @@ class Version20161104073720 extends AbstractMigration implements ContainerAwareI
45 33
46 $entryTable->dropIndex($this->indexName); 34 $entryTable->dropIndex($this->indexName);
47 } 35 }
48
49 private function getTable($tableName)
50 {
51 return $this->container->getParameter('database_table_prefix') . $tableName;
52 }
53} 36}
diff --git a/app/DoctrineMigrations/Version20161106113822.php b/app/DoctrineMigrations/Version20161106113822.php
index 1d5a865b..3a3c90db 100644
--- a/app/DoctrineMigrations/Version20161106113822.php
+++ b/app/DoctrineMigrations/Version20161106113822.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added action_mark_as_read field on config table. 9 * Added action_mark_as_read field on config table.
12 */ 10 */
13class Version20161106113822 extends AbstractMigration implements ContainerAwareInterface 11class Version20161106113822 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -48,9 +36,4 @@ class Version20161106113822 extends AbstractMigration implements ContainerAwareI
48 36
49 $configTable->dropColumn('action_mark_as_read'); 37 $configTable->dropColumn('action_mark_as_read');
50 } 38 }
51
52 private function getTable($tableName)
53 {
54 return $this->container->getParameter('database_table_prefix') . $tableName;
55 }
56} 39}
diff --git a/app/DoctrineMigrations/Version20161117071626.php b/app/DoctrineMigrations/Version20161117071626.php
index 0b34caab..fc66e7e3 100644
--- a/app/DoctrineMigrations/Version20161117071626.php
+++ b/app/DoctrineMigrations/Version20161117071626.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added the internal setting to share articles to unmark.it. 9 * Added the internal setting to share articles to unmark.it.
12 */ 10 */
13class Version20161117071626 extends AbstractMigration implements ContainerAwareInterface 11class Version20161117071626 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -56,9 +44,4 @@ class Version20161117071626 extends AbstractMigration implements ContainerAwareI
56 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_unmark';"); 44 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_unmark';");
57 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'unmark_url';"); 45 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'unmark_url';");
58 } 46 }
59
60 private function getTable($tableName)
61 {
62 return $this->container->getParameter('database_table_prefix') . $tableName;
63 }
64} 47}
diff --git a/app/DoctrineMigrations/Version20161118134328.php b/app/DoctrineMigrations/Version20161118134328.php
index dab0ff5b..8302408e 100644
--- a/app/DoctrineMigrations/Version20161118134328.php
+++ b/app/DoctrineMigrations/Version20161118134328.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Add http_status in `entry_table`. 9 * Add http_status in `entry_table`.
12 */ 10 */
13class Version20161118134328 extends AbstractMigration implements ContainerAwareInterface 11class Version20161118134328 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -48,9 +36,4 @@ class Version20161118134328 extends AbstractMigration implements ContainerAwareI
48 36
49 $entryTable->dropColumn('http_status'); 37 $entryTable->dropColumn('http_status');
50 } 38 }
51
52 private function getTable($tableName)
53 {
54 return $this->container->getParameter('database_table_prefix') . $tableName;
55 }
56} 39}
diff --git a/app/DoctrineMigrations/Version20161122144743.php b/app/DoctrineMigrations/Version20161122144743.php
index 15052ad7..08a41f48 100644
--- a/app/DoctrineMigrations/Version20161122144743.php
+++ b/app/DoctrineMigrations/Version20161122144743.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Add the restricted_access internal setting for articles with paywall. 9 * Add the restricted_access internal setting for articles with paywall.
12 */ 10 */
13class Version20161122144743 extends AbstractMigration implements ContainerAwareInterface 11class Version20161122144743 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -44,9 +32,4 @@ class Version20161122144743 extends AbstractMigration implements ContainerAwareI
44 { 32 {
45 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'restricted_access';"); 33 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'restricted_access';");
46 } 34 }
47
48 private function getTable($tableName)
49 {
50 return $this->container->getParameter('database_table_prefix') . $tableName;
51 }
52} 35}
diff --git a/app/DoctrineMigrations/Version20161122203647.php b/app/DoctrineMigrations/Version20161122203647.php
index ef08bd59..60ddeb08 100644
--- a/app/DoctrineMigrations/Version20161122203647.php
+++ b/app/DoctrineMigrations/Version20161122203647.php
@@ -2,10 +2,8 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Methods and properties removed from `FOS\UserBundle\Model\User`. 9 * Methods and properties removed from `FOS\UserBundle\Model\User`.
@@ -18,19 +16,9 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
18 * You need to drop the fields `expired` and `credentials_expired` from your database 16 * You need to drop the fields `expired` and `credentials_expired` from your database
19 * schema, because they aren't mapped anymore. 17 * schema, because they aren't mapped anymore.
20 */ 18 */
21class Version20161122203647 extends AbstractMigration implements ContainerAwareInterface 19class Version20161122203647 extends WallabagMigration
22{ 20{
23 /** 21 /**
24 * @var ContainerInterface
25 */
26 private $container;
27
28 public function setContainer(ContainerInterface $container = null)
29 {
30 $this->container = $container;
31 }
32
33 /**
34 * @param Schema $schema 22 * @param Schema $schema
35 */ 23 */
36 public function up(Schema $schema) 24 public function up(Schema $schema)
@@ -55,9 +43,4 @@ class Version20161122203647 extends AbstractMigration implements ContainerAwareI
55 $userTable->addColumn('expired', 'smallint', ['notnull' => false]); 43 $userTable->addColumn('expired', 'smallint', ['notnull' => false]);
56 $userTable->addColumn('credentials_expired', 'smallint', ['notnull' => false]); 44 $userTable->addColumn('credentials_expired', 'smallint', ['notnull' => false]);
57 } 45 }
58
59 private function getTable($tableName)
60 {
61 return $this->container->getParameter('database_table_prefix') . $tableName;
62 }
63} 46}
diff --git a/app/DoctrineMigrations/Version20161128084725.php b/app/DoctrineMigrations/Version20161128084725.php
index 497a9f21..ef747154 100644
--- a/app/DoctrineMigrations/Version20161128084725.php
+++ b/app/DoctrineMigrations/Version20161128084725.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added list_mode in user config. 9 * Added list_mode in user config.
12 */ 10 */
13class Version20161128084725 extends AbstractMigration implements ContainerAwareInterface 11class Version20161128084725 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -41,9 +29,4 @@ class Version20161128084725 extends AbstractMigration implements ContainerAwareI
41 $configTable = $schema->getTable($this->getTable('config')); 29 $configTable = $schema->getTable($this->getTable('config'));
42 $configTable->dropColumn('list_mode'); 30 $configTable->dropColumn('list_mode');
43 } 31 }
44
45 private function getTable($tableName)
46 {
47 return $this->container->getParameter('database_table_prefix') . $tableName;
48 }
49} 32}
diff --git a/app/DoctrineMigrations/Version20161128131503.php b/app/DoctrineMigrations/Version20161128131503.php
index 9d92983a..cd434617 100644
--- a/app/DoctrineMigrations/Version20161128131503.php
+++ b/app/DoctrineMigrations/Version20161128131503.php
@@ -2,15 +2,13 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Removed locked, credentials_expire_at and expires_at. 9 * Removed locked, credentials_expire_at and expires_at.
12 */ 10 */
13class Version20161128131503 extends AbstractMigration implements ContainerAwareInterface 11class Version20161128131503 extends WallabagMigration
14{ 12{
15 private $fields = [ 13 private $fields = [
16 'locked' => 'smallint', 14 'locked' => 'smallint',
@@ -19,16 +17,6 @@ class Version20161128131503 extends AbstractMigration implements ContainerAwareI
19 ]; 17 ];
20 18
21 /** 19 /**
22 * @var ContainerInterface
23 */
24 private $container;
25
26 public function setContainer(ContainerInterface $container = null)
27 {
28 $this->container = $container;
29 }
30
31 /**
32 * @param Schema $schema 20 * @param Schema $schema
33 */ 21 */
34 public function up(Schema $schema) 22 public function up(Schema $schema)
@@ -53,9 +41,4 @@ class Version20161128131503 extends AbstractMigration implements ContainerAwareI
53 $userTable->addColumn($field, $type, ['notnull' => false]); 41 $userTable->addColumn($field, $type, ['notnull' => false]);
54 } 42 }
55 } 43 }
56
57 private function getTable($tableName)
58 {
59 return $this->container->getParameter('database_table_prefix') . $tableName;
60 }
61} 44}
diff --git a/app/DoctrineMigrations/Version20161214094402.php b/app/DoctrineMigrations/Version20161214094402.php
index 07090b2f..e9f1a302 100644
--- a/app/DoctrineMigrations/Version20161214094402.php
+++ b/app/DoctrineMigrations/Version20161214094402.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Renamed uuid to uid in entry table. 9 * Renamed uuid to uid in entry table.
12 */ 10 */
13class Version20161214094402 extends AbstractMigration implements ContainerAwareInterface 11class Version20161214094402 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -67,9 +55,4 @@ class Version20161214094402 extends AbstractMigration implements ContainerAwareI
67 $this->addSql('ALTER TABLE ' . $this->getTable('entry') . ' RENAME uid TO uuid'); 55 $this->addSql('ALTER TABLE ' . $this->getTable('entry') . ' RENAME uid TO uuid');
68 } 56 }
69 } 57 }
70
71 private function getTable($tableName)
72 {
73 return $this->container->getParameter('database_table_prefix') . $tableName;
74 }
75} 58}
diff --git a/app/DoctrineMigrations/Version20161214094403.php b/app/DoctrineMigrations/Version20161214094403.php
index 6b5640e5..1f9e1f6b 100644
--- a/app/DoctrineMigrations/Version20161214094403.php
+++ b/app/DoctrineMigrations/Version20161214094403.php
@@ -2,28 +2,16 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added index on wallabag_entry.uid. 9 * Added index on wallabag_entry.uid.
12 */ 10 */
13class Version20161214094403 extends AbstractMigration implements ContainerAwareInterface 11class Version20161214094403 extends WallabagMigration
14{ 12{
15 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 private $indexName = 'IDX_entry_uid'; 13 private $indexName = 'IDX_entry_uid';
21 14
22 public function setContainer(ContainerInterface $container = null)
23 {
24 $this->container = $container;
25 }
26
27 /** 15 /**
28 * @param Schema $schema 16 * @param Schema $schema
29 */ 17 */
@@ -45,9 +33,4 @@ class Version20161214094403 extends AbstractMigration implements ContainerAwareI
45 33
46 $entryTable->dropIndex($this->indexName); 34 $entryTable->dropIndex($this->indexName);
47 } 35 }
48
49 private function getTable($tableName)
50 {
51 return $this->container->getParameter('database_table_prefix') . $tableName;
52 }
53} 36}
diff --git a/app/DoctrineMigrations/Version20170127093841.php b/app/DoctrineMigrations/Version20170127093841.php
index fc78a246..491b9383 100644
--- a/app/DoctrineMigrations/Version20170127093841.php
+++ b/app/DoctrineMigrations/Version20170127093841.php
@@ -2,29 +2,17 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added indexes on wallabag_entry.is_starred and wallabag_entry.is_archived. 9 * Added indexes on wallabag_entry.is_starred and wallabag_entry.is_archived.
12 */ 10 */
13class Version20170127093841 extends AbstractMigration implements ContainerAwareInterface 11class Version20170127093841 extends WallabagMigration
14{ 12{
15 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 private $indexStarredName = 'IDX_entry_starred'; 13 private $indexStarredName = 'IDX_entry_starred';
21 private $indexArchivedName = 'IDX_entry_archived'; 14 private $indexArchivedName = 'IDX_entry_archived';
22 15
23 public function setContainer(ContainerInterface $container = null)
24 {
25 $this->container = $container;
26 }
27
28 /** 16 /**
29 * @param Schema $schema 17 * @param Schema $schema
30 */ 18 */
@@ -48,9 +36,4 @@ class Version20170127093841 extends AbstractMigration implements ContainerAwareI
48 $entryTable->dropIndex($this->indexStarredName); 36 $entryTable->dropIndex($this->indexStarredName);
49 $entryTable->dropIndex($this->indexArchivedName); 37 $entryTable->dropIndex($this->indexArchivedName);
50 } 38 }
51
52 private function getTable($tableName)
53 {
54 return $this->container->getParameter('database_table_prefix') . $tableName;
55 }
56} 39}
diff --git a/app/DoctrineMigrations/Version20170327194233.php b/app/DoctrineMigrations/Version20170327194233.php
index 3e7e722d..1aa20eb5 100644
--- a/app/DoctrineMigrations/Version20170327194233.php
+++ b/app/DoctrineMigrations/Version20170327194233.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Add the share_scuttle internal setting. 9 * Add the share_scuttle internal setting.
12 */ 10 */
13class Version20170327194233 extends AbstractMigration implements ContainerAwareInterface 11class Version20170327194233 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -46,9 +34,4 @@ class Version20170327194233 extends AbstractMigration implements ContainerAwareI
46 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_scuttle';"); 34 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_scuttle';");
47 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'scuttle_url';"); 35 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'scuttle_url';");
48 } 36 }
49
50 private function getTable($tableName)
51 {
52 return $this->container->getParameter('database_table_prefix') . $tableName;
53 }
54} 37}
diff --git a/app/DoctrineMigrations/Version20170405182620.php b/app/DoctrineMigrations/Version20170405182620.php
index 75793fcb..c7752664 100644
--- a/app/DoctrineMigrations/Version20170405182620.php
+++ b/app/DoctrineMigrations/Version20170405182620.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Add published_at and published_by in `entry` table. 9 * Add published_at and published_by in `entry` table.
12 */ 10 */
13class Version20170405182620 extends AbstractMigration implements ContainerAwareInterface 11class Version20170405182620 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -57,9 +45,4 @@ class Version20170405182620 extends AbstractMigration implements ContainerAwareI
57 45
58 $entryTable->dropColumn('published_by'); 46 $entryTable->dropColumn('published_by');
59 } 47 }
60
61 private function getTable($tableName)
62 {
63 return $this->container->getParameter('database_table_prefix') . $tableName;
64 }
65} 48}
diff --git a/app/DoctrineMigrations/Version20170407200919.php b/app/DoctrineMigrations/Version20170407200919.php
index 8a11ffe3..ad05eadf 100644
--- a/app/DoctrineMigrations/Version20170407200919.php
+++ b/app/DoctrineMigrations/Version20170407200919.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Remove isPublic in Entry Table. 9 * Remove isPublic in Entry Table.
12 */ 10 */
13class Version20170407200919 extends AbstractMigration implements ContainerAwareInterface 11class Version20170407200919 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -43,9 +31,4 @@ class Version20170407200919 extends AbstractMigration implements ContainerAwareI
43 31
44 $entryTable->addColumn('is_public', 'boolean', ['notnull' => false, 'default' => 0]); 32 $entryTable->addColumn('is_public', 'boolean', ['notnull' => false, 'default' => 0]);
45 } 33 }
46
47 private function getTable($tableName)
48 {
49 return $this->container->getParameter('database_table_prefix') . $tableName;
50 }
51} 34}
diff --git a/app/DoctrineMigrations/Version20170420134133.php b/app/DoctrineMigrations/Version20170420134133.php
index e1947a49..c1732578 100644
--- a/app/DoctrineMigrations/Version20170420134133.php
+++ b/app/DoctrineMigrations/Version20170420134133.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Remove download_pictures in craue_config_setting. 9 * Remove download_pictures in craue_config_setting.
12 */ 10 */
13class Version20170420134133 extends AbstractMigration implements ContainerAwareInterface 11class Version20170420134133 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -44,9 +32,4 @@ class Version20170420134133 extends AbstractMigration implements ContainerAwareI
44 32
45 $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('download_pictures', '1', 'entry')"); 33 $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('download_pictures', '1', 'entry')");
46 } 34 }
47
48 private function getTable($tableName)
49 {
50 return $this->container->getParameter('database_table_prefix') . $tableName;
51 }
52} 35}
diff --git a/app/DoctrineMigrations/Version20170501115751.php b/app/DoctrineMigrations/Version20170501115751.php
index adf2f841..fd238cef 100644
--- a/app/DoctrineMigrations/Version20170501115751.php
+++ b/app/DoctrineMigrations/Version20170501115751.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Add site credential table to store username & password for some website (behind authentication or paywall). 9 * Add site credential table to store username & password for some website (behind authentication or paywall).
12 */ 10 */
13class Version20170501115751 extends AbstractMigration implements ContainerAwareInterface 11class Version20170501115751 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -53,9 +41,4 @@ class Version20170501115751 extends AbstractMigration implements ContainerAwareI
53 { 41 {
54 $schema->dropTable($this->getTable('site_credential')); 42 $schema->dropTable($this->getTable('site_credential'));
55 } 43 }
56
57 private function getTable($tableName)
58 {
59 return $this->container->getParameter('database_table_prefix') . $tableName;
60 }
61} 44}
diff --git a/app/DoctrineMigrations/Version20170510082609.php b/app/DoctrineMigrations/Version20170510082609.php
index 52c70168..541ae1fd 100644
--- a/app/DoctrineMigrations/Version20170510082609.php
+++ b/app/DoctrineMigrations/Version20170510082609.php
@@ -2,15 +2,13 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Changed length for username, username_canonical, email and email_canonical fields in wallabag_user table. 9 * Changed length for username, username_canonical, email and email_canonical fields in wallabag_user table.
12 */ 10 */
13class Version20170510082609 extends AbstractMigration implements ContainerAwareInterface 11class Version20170510082609 extends WallabagMigration
14{ 12{
15 private $fields = [ 13 private $fields = [
16 'username', 14 'username',
@@ -20,16 +18,6 @@ class Version20170510082609 extends AbstractMigration implements ContainerAwareI
20 ]; 18 ];
21 19
22 /** 20 /**
23 * @var ContainerInterface
24 */
25 private $container;
26
27 public function setContainer(ContainerInterface $container = null)
28 {
29 $this->container = $container;
30 }
31
32 /**
33 * @param Schema $schema 21 * @param Schema $schema
34 */ 22 */
35 public function up(Schema $schema) 23 public function up(Schema $schema)
@@ -52,9 +40,4 @@ class Version20170510082609 extends AbstractMigration implements ContainerAwareI
52 $this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE ' . $field . ' ' . $field . ' VARCHAR(255) NOT NULL;'); 40 $this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE ' . $field . ' ' . $field . ' VARCHAR(255) NOT NULL;');
53 } 41 }
54 } 42 }
55
56 private function getTable($tableName)
57 {
58 return $this->container->getParameter('database_table_prefix') . $tableName;
59 }
60} 43}
diff --git a/app/DoctrineMigrations/Version20170511115400.php b/app/DoctrineMigrations/Version20170511115400.php
index cad2b637..cb80dd45 100644
--- a/app/DoctrineMigrations/Version20170511115400.php
+++ b/app/DoctrineMigrations/Version20170511115400.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Added `headers` field in entry table. 9 * Added `headers` field in entry table.
12 */ 10 */
13class Version20170511115400 extends AbstractMigration implements ContainerAwareInterface 11class Version20170511115400 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -47,9 +35,4 @@ class Version20170511115400 extends AbstractMigration implements ContainerAwareI
47 35
48 $entryTable->dropColumn('headers'); 36 $entryTable->dropColumn('headers');
49 } 37 }
50
51 private function getTable($tableName)
52 {
53 return $this->container->getParameter('database_table_prefix') . $tableName;
54 }
55} 38}
diff --git a/app/DoctrineMigrations/Version20170511211659.php b/app/DoctrineMigrations/Version20170511211659.php
index f004d1b3..00ce7b1f 100644
--- a/app/DoctrineMigrations/Version20170511211659.php
+++ b/app/DoctrineMigrations/Version20170511211659.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Migrations\SkipMigrationException; 5use Doctrine\DBAL\Migrations\SkipMigrationException;
7use Doctrine\DBAL\Schema\Schema; 6use Doctrine\DBAL\Schema\Schema;
8use Symfony\Component\DependencyInjection\ContainerAwareInterface; 7use Wallabag\CoreBundle\Doctrine\WallabagMigration;
9use Symfony\Component\DependencyInjection\ContainerInterface;
10 8
11/** 9/**
12 * Increase the length of the "quote" column of "annotation" table. 10 * Increase the length of the "quote" column of "annotation" table.
13 */ 11 */
14class Version20170511211659 extends AbstractMigration implements ContainerAwareInterface 12class Version20170511211659 extends WallabagMigration
15{ 13{
16 /**
17 * @var ContainerInterface
18 */
19 private $container;
20
21 public function setContainer(ContainerInterface $container = null)
22 {
23 $this->container = $container;
24 }
25
26 public function up(Schema $schema) 14 public function up(Schema $schema)
27 { 15 {
28 $tableName = $this->getTable('annotation'); 16 $tableName = $this->getTable('annotation');
@@ -30,8 +18,8 @@ class Version20170511211659 extends AbstractMigration implements ContainerAwareI
30 switch ($this->connection->getDatabasePlatform()->getName()) { 18 switch ($this->connection->getDatabasePlatform()->getName()) {
31 case 'sqlite': 19 case 'sqlite':
32 $this->addSql(<<<EOD 20 $this->addSql(<<<EOD
33CREATE TEMPORARY TABLE __temp__wallabag_annotation AS 21CREATE TEMPORARY TABLE __temp__wallabag_annotation AS
34 SELECT id, user_id, entry_id, text, created_at, updated_at, quote, ranges 22 SELECT id, user_id, entry_id, text, created_at, updated_at, quote, ranges
35 FROM ${tableName} 23 FROM ${tableName}
36EOD 24EOD
37 ); 25 );
@@ -56,8 +44,8 @@ EOD
56 ); 44 );
57 45
58 $this->addSql(<<<EOD 46 $this->addSql(<<<EOD
59INSERT INTO ${tableName} (id, user_id, entry_id, text, created_at, updated_at, quote, ranges) 47INSERT INTO ${tableName} (id, user_id, entry_id, text, created_at, updated_at, quote, ranges)
60SELECT id, user_id, entry_id, text, created_at, updated_at, quote, ranges 48SELECT id, user_id, entry_id, text, created_at, updated_at, quote, ranges
61FROM __temp__wallabag_annotation; 49FROM __temp__wallabag_annotation;
62EOD 50EOD
63 ); 51 );
@@ -88,9 +76,4 @@ EOD
88 break; 76 break;
89 } 77 }
90 } 78 }
91
92 private function getTable($tableName)
93 {
94 return $this->container->getParameter('database_table_prefix') . $tableName;
95 }
96} 79}
diff --git a/app/DoctrineMigrations/Version20170602075214.php b/app/DoctrineMigrations/Version20170602075214.php
index 6b6f0035..12997c71 100644
--- a/app/DoctrineMigrations/Version20170602075214.php
+++ b/app/DoctrineMigrations/Version20170602075214.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Add api_user_registration in craue_config_setting. 9 * Add api_user_registration in craue_config_setting.
12 */ 10 */
13class Version20170602075214 extends AbstractMigration implements ContainerAwareInterface 11class Version20170602075214 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -44,9 +32,4 @@ class Version20170602075214 extends AbstractMigration implements ContainerAwareI
44 { 32 {
45 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'api_user_registration';"); 33 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'api_user_registration';");
46 } 34 }
47
48 private function getTable($tableName)
49 {
50 return $this->container->getParameter('database_table_prefix') . $tableName;
51 }
52} 35}
diff --git a/app/DoctrineMigrations/Version20170606155640.php b/app/DoctrineMigrations/Version20170606155640.php
index 5f58fc29..153d31b8 100644
--- a/app/DoctrineMigrations/Version20170606155640.php
+++ b/app/DoctrineMigrations/Version20170606155640.php
@@ -2,28 +2,16 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Remove wallabag_url from craue_config_setting. 9 * Remove wallabag_url from craue_config_setting.
12 * It has been moved into the parameters.yml. 10 * It has been moved into the parameters.yml.
13 */ 11 */
14class Version20170606155640 extends AbstractMigration implements ContainerAwareInterface 12class Version20170606155640 extends WallabagMigration
15{ 13{
16 /** 14 /**
17 * @var ContainerInterface
18 */
19 private $container;
20
21 public function setContainer(ContainerInterface $container = null)
22 {
23 $this->container = $container;
24 }
25
26 /**
27 * @param Schema $schema 15 * @param Schema $schema
28 */ 16 */
29 public function up(Schema $schema) 17 public function up(Schema $schema)
@@ -45,9 +33,4 @@ class Version20170606155640 extends AbstractMigration implements ContainerAwareI
45 { 33 {
46 $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('wallabag_url', 'wallabag.me', 'misc')"); 34 $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('wallabag_url', 'wallabag.me', 'misc')");
47 } 35 }
48
49 private function getTable($tableName)
50 {
51 return $this->container->getParameter('database_table_prefix') . $tableName;
52 }
53} 36}
diff --git a/app/DoctrineMigrations/Version20170719231144.php b/app/DoctrineMigrations/Version20170719231144.php
index 86754033..93fe7f26 100644
--- a/app/DoctrineMigrations/Version20170719231144.php
+++ b/app/DoctrineMigrations/Version20170719231144.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Changed tags to lowercase. 9 * Changed tags to lowercase.
12 */ 10 */
13class Version20170719231144 extends AbstractMigration implements ContainerAwareInterface 11class Version20170719231144 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -67,7 +55,7 @@ class Version20170719231144 extends AbstractMigration implements ContainerAwareI
67 } 55 }
68 56
69 // Just in case... 57 // Just in case...
70 if (count($ids) > 0) { 58 if (\count($ids) > 0) {
71 // Merge tags 59 // Merge tags
72 $this->addSql(' 60 $this->addSql('
73 UPDATE ' . $this->getTable('entry_tag') . ' 61 UPDATE ' . $this->getTable('entry_tag') . '
@@ -108,9 +96,4 @@ class Version20170719231144 extends AbstractMigration implements ContainerAwareI
108 { 96 {
109 throw new SkipMigrationException('Too complex ...'); 97 throw new SkipMigrationException('Too complex ...');
110 } 98 }
111
112 private function getTable($tableName)
113 {
114 return $this->container->getParameter('database_table_prefix') . $tableName;
115 }
116} 99}
diff --git a/app/DoctrineMigrations/Version20170824113337.php b/app/DoctrineMigrations/Version20170824113337.php
index e54a9bcf..5fc31de9 100644
--- a/app/DoctrineMigrations/Version20170824113337.php
+++ b/app/DoctrineMigrations/Version20170824113337.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Add starred_at column and set its value to updated_at for is_starred entries. 9 * Add starred_at column and set its value to updated_at for is_starred entries.
12 */ 10 */
13class Version20170824113337 extends AbstractMigration implements ContainerAwareInterface 11class Version20170824113337 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -60,9 +48,4 @@ class Version20170824113337 extends AbstractMigration implements ContainerAwareI
60 48
61 $entryTable->dropColumn('starred_at'); 49 $entryTable->dropColumn('starred_at');
62 } 50 }
63
64 private function getTable($tableName)
65 {
66 return $this->container->getParameter('database_table_prefix') . $tableName;
67 }
68} 51}
diff --git a/app/DoctrineMigrations/Version20171008195606.php b/app/DoctrineMigrations/Version20171008195606.php
index f09726c8..6974232a 100644
--- a/app/DoctrineMigrations/Version20171008195606.php
+++ b/app/DoctrineMigrations/Version20171008195606.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Changed reading_time field to prevent null value. 9 * Changed reading_time field to prevent null value.
12 */ 10 */
13class Version20171008195606 extends AbstractMigration implements ContainerAwareInterface 11class Version20171008195606 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -57,9 +45,4 @@ class Version20171008195606 extends AbstractMigration implements ContainerAwareI
57 break; 45 break;
58 } 46 }
59 } 47 }
60
61 private function getTable($tableName)
62 {
63 return $this->container->getParameter('database_table_prefix') . $tableName;
64 }
65} 48}
diff --git a/app/DoctrineMigrations/Version20171105202000.php b/app/DoctrineMigrations/Version20171105202000.php
index 3769045f..5ed787b9 100644
--- a/app/DoctrineMigrations/Version20171105202000.php
+++ b/app/DoctrineMigrations/Version20171105202000.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Add origin_url column. 9 * Add origin_url column.
12 */ 10 */
13class Version20171105202000 extends AbstractMigration implements ContainerAwareInterface 11class Version20171105202000 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -47,9 +35,4 @@ class Version20171105202000 extends AbstractMigration implements ContainerAwareI
47 35
48 $entryTable->dropColumn('origin_url'); 36 $entryTable->dropColumn('origin_url');
49 } 37 }
50
51 private function getTable($tableName)
52 {
53 return $this->container->getParameter('database_table_prefix') . $tableName;
54 }
55} 38}
diff --git a/app/DoctrineMigrations/Version20171120163128.php b/app/DoctrineMigrations/Version20171120163128.php
index fc3d4c37..48f10f1d 100644
--- a/app/DoctrineMigrations/Version20171120163128.php
+++ b/app/DoctrineMigrations/Version20171120163128.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Add store_article_headers in craue_config_setting. 9 * Add store_article_headers in craue_config_setting.
12 */ 10 */
13class Version20171120163128 extends AbstractMigration implements ContainerAwareInterface 11class Version20171120163128 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -44,9 +32,4 @@ class Version20171120163128 extends AbstractMigration implements ContainerAwareI
44 { 32 {
45 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'store_article_headers';"); 33 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'store_article_headers';");
46 } 34 }
47
48 private function getTable($tableName)
49 {
50 return $this->container->getParameter('database_table_prefix') . $tableName;
51 }
52} 35}
diff --git a/app/DoctrineMigrations/Version20171125164500.php b/app/DoctrineMigrations/Version20171125164500.php
index 980e0e75..a72463f0 100644
--- a/app/DoctrineMigrations/Version20171125164500.php
+++ b/app/DoctrineMigrations/Version20171125164500.php
@@ -2,27 +2,15 @@
2 2
3namespace Application\Migrations; 3namespace Application\Migrations;
4 4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema; 5use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface; 6use Wallabag\CoreBundle\Doctrine\WallabagMigration;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9 7
10/** 8/**
11 * Add shaarli_share_origin_url in craue_config_setting. 9 * Add shaarli_share_origin_url in craue_config_setting.
12 */ 10 */
13class Version20171125164500 extends AbstractMigration implements ContainerAwareInterface 11class Version20171125164500 extends WallabagMigration
14{ 12{
15 /** 13 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 /**
26 * @param Schema $schema 14 * @param Schema $schema
27 */ 15 */
28 public function up(Schema $schema) 16 public function up(Schema $schema)
@@ -44,9 +32,4 @@ class Version20171125164500 extends AbstractMigration implements ContainerAwareI
44 { 32 {
45 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'shaarli_share_origin_url';"); 33 $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'shaarli_share_origin_url';");
46 } 34 }
47
48 private function getTable($tableName)
49 {
50 return $this->container->getParameter('database_table_prefix') . $tableName;
51 }
52} 35}
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml
index a26e451f..239c69eb 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml
@@ -27,7 +27,7 @@ export: "export"
27import: "import" 27import: "import"
28misc: "misc" 28misc: "misc"
29modify_settings: "apply" 29modify_settings: "apply"
30piwik_host: Host of your website in Piwik (without http:// ou https://) 30piwik_host: Host of your website in Piwik (without http:// or https://)
31piwik_site_id: ID of your website in Piwik 31piwik_site_id: ID of your website in Piwik
32piwik_enabled: Enable Piwik 32piwik_enabled: Enable Piwik
33demo_mode_enabled: "Enable demo mode? (Only used for the public wallabag demo)" 33demo_mode_enabled: "Enable demo mode? (Only used for the public wallabag demo)"
@@ -37,4 +37,4 @@ download_images_enabled: Download images locally
37restricted_access: Enable authentication for paywalled websites 37restricted_access: Enable authentication for paywalled websites
38api_user_registration: Enable user to be registered using the API 38api_user_registration: Enable user to be registered using the API
39store_article_headers: Enable if wallabag stores HTTP headers for each article 39store_article_headers: Enable if wallabag stores HTTP headers for each article
40shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled \ No newline at end of file 40shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml
index 4c99652a..13771799 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml
@@ -36,5 +36,5 @@ share_public: Autorizar una URL publica pels articles
36download_images_enabled: Telecargar los imatges en local 36download_images_enabled: Telecargar los imatges en local
37restricted_access: Activar l'autenticacion pels sites amb peatge 37restricted_access: Activar l'autenticacion pels sites amb peatge
38api_user_registration: Autorizar los utilizaires a se marcar amb l'API 38api_user_registration: Autorizar los utilizaires a se marcar amb l'API
39# store_article_headers: Enable if wallabag stores HTTP headers for each article 39store_article_headers: Activar se wallabag garda las entèstas HTTP per cada article
40# shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled 40shaarli_share_origin_url: Activar lo partatge de l’url amb Shaarli, se lo servici es activat
diff --git a/app/Resources/static/themes/_global/img/logo-other_themes.png b/app/Resources/static/themes/_global/img/logo-other_themes.png
deleted file mode 100755
index c90aa46f..00000000
--- a/app/Resources/static/themes/_global/img/logo-other_themes.png
+++ /dev/null
Binary files differ
diff --git a/app/Resources/static/themes/_global/img/logo-square.png b/app/Resources/static/themes/_global/img/logo-square.png
deleted file mode 100644
index d5e05977..00000000
--- a/app/Resources/static/themes/_global/img/logo-square.png
+++ /dev/null
Binary files differ
diff --git a/app/Resources/static/themes/_global/img/logo-square.svg b/app/Resources/static/themes/_global/img/logo-square.svg
new file mode 100644
index 00000000..7b87fedc
--- /dev/null
+++ b/app/Resources/static/themes/_global/img/logo-square.svg
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path fill="none" d="M0 0h200v200H0z"/><path d="M75.899 72.438c1.597-.981 10.207-5.556 24.098.178 14.289 5.897 23.154.776 24.253.079-3.454-5.678-7.562-10.62-12.104-13.943.303-.083.612-.167.939-.263 6.023-1.742 7.553-6.842 7.875-11.21.364-4.954.616-5.03 1.692-9.487 1.032-4.281-.119-5.137-1.181-4.273-.572.465-5.552 1.616-8.505 3.919-4.768 3.72-7.707 10.794-9.039 14.706-.025.06-.205.604-.265.792-.621 1.498-1.857 1.494-1.857 1.494v.001c-.6-.065-1.202-.1-1.809-.1-.54 0-1.079.029-1.616.081-.012.002-.019 0-.031.001-1.581.233-2.45-1.697-2.632-2.157-1.847-5.304-6.816-15.763-17.984-18.577 0 0-2.028-1.554-1.41 1.074.588 2.511 1.804 5.049 1.534 8.741-.124 1.704-1.181 10.442 6.85 14.99.763.432 1.441.795 2.051 1.101-4.042 3.235-7.716 7.74-10.859 12.853zM128.626 152.353c-9.842-6.098-13.153-8.242-12.946-10.575 0 0 .002-.379.099-.957.239-1.236.995-3.348 3.407-4.552.079-.039.146-.084.208-.129 7.668-4.45 13.27-11.614 15.246-20.56-1.99 4.941-16.735 8.78-34.645 8.78-17.903 0-32.651-3.839-34.641-8.78.442 2.008 1.073 3.923 1.864 5.742.666 3.745 1.562 12.563-2.673 20.282-3.731 6.8-22.15 16.069-49.485 10.748 0 0-1.096-.766-1.428-.136-.491.932 1.517 1.685 3.583 2.229 19.031 5.04 47.756 2.989 56.777-4.443 4.116-3.388 5.704-7.953 6.107-12.865l.003.008s.11-1.287 1.719-.32c.461.277 2.125 1.36 2.39 2.585.232 1.743.248 3.883-.652 5.382-1.287 2.144-1.301 2.452.393 3.662 1.04.742 5.287 3.864 11.198 7.415.015.01.023.019.038.027 1.25.753 2.987 2.597 2.987 2.597 2.662 3.079 8.452 9.275 10.972 8.108 1.19-.551-.051-3.032-.051-3.032s1.98 2.571 3.043 1.694c.809-.668-.473-3.229-.473-3.229s1.729 1.499 2.757.944c1.258-.679-.187-4.614-10.079-10.627-9.896-6.018-12.578-6.94-12.814-9.626 0 0-.004-.135.004-.366.077-.593.414-1.847 1.852-1.712 2.141.346 4.348.531 6.608.531 2.587 0 5.107-.237 7.536-.69l.001.003s.127-.025.164-.031c.284-.036.838-.018.84.671-.09.873-.331 1.751-.845 2.519-1.447 2.168-.972 2.466.54 3.859.933.859 5.211 4.622 11.07 8.264.012.009.017.016.031.023 1.249.752 3.41 2.816 3.41 2.816v-.001c2.428 2.466 6.894 6.596 9.327 6.347 1.646-.168.306-3.002.306-3.002s2.078 2.006 3.099 1.416c1.142-.659-.474-2.755-.474-2.755s1.338.708 2.283.473c.948-.236 1.185-2.644-8.656-8.737z"/><path d="M117.631 83.452c-1.181 0-2.161.355-2.912 1.057-.76.71-1.144 1.531-1.144 2.438v16.056c0 2.154-.382 3.742-1.135 4.721-.728.946-1.892 1.406-3.556 1.406-1.703 0-2.863-.457-3.549-1.396-.716-.979-1.078-2.571-1.078-4.731V86.884c0-1.098-.5-1.996-1.448-2.596-1.289-.812-2.57-1.105-4.129-.587-.476.159-.924.366-1.333.615-.435.265-.802.597-1.093.985-.322.432-.486.901-.486 1.396v16.307c0 2.158-.363 3.75-1.079 4.73-.688.939-1.849 1.396-3.548 1.396-1.705 0-2.877-.459-3.584-1.401-.734-.979-1.107-2.57-1.107-4.726V86.947c0-.908-.384-1.728-1.145-2.438-.751-.702-1.751-1.057-2.973-1.057-1.258 0-2.296.352-3.085 1.045-.811.71-1.222 1.535-1.222 2.45v15.806c0 1.988.194 3.869.575 5.588.393 1.758 1.077 3.3 2.035 4.586.968 1.299 2.282 2.323 3.906 3.05 1.607.716 3.617 1.079 5.975 1.079 2.457 0 4.515-.455 6.115-1.354 1.342-.754 2.473-1.744 3.371-2.951.866 1.207 1.971 2.197 3.294 2.95 1.58.899 3.669 1.354 6.211 1.354 2.357 0 4.359-.364 5.947-1.081 1.601-.726 2.902-1.751 3.872-3.048.96-1.29 1.645-2.833 2.034-4.586.381-1.719.575-3.6.575-5.588V86.947c0-.911-.398-1.733-1.184-2.445-.767-.697-1.818-1.05-3.12-1.05z"/></svg>
diff --git a/app/Resources/static/themes/_global/img/logo-wallabag.svg b/app/Resources/static/themes/_global/img/logo-wallabag.svg
index 40193e1c..f76907a2 100644
--- a/app/Resources/static/themes/_global/img/logo-wallabag.svg
+++ b/app/Resources/static/themes/_global/img/logo-wallabag.svg
@@ -1,300 +1 @@
1<?xml version="1.0" encoding="utf-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path fill="none" d="M0 0h200v200H0z"/><path d="M80.068 54.827c1.321-.812 8.439-4.594 19.923.146 11.812 4.875 19.142.642 20.052.065-2.856-4.694-6.252-8.78-10.008-11.527.25-.068.506-.138.776-.218 4.979-1.44 6.244-5.657 6.511-9.268.301-4.096.509-4.159 1.399-7.843.854-3.539-.099-4.247-.977-3.533-.473.384-4.589 1.335-7.031 3.24-3.941 3.076-6.371 8.924-7.473 12.158-.021.05-.17.499-.22.655-.513 1.239-1.535 1.235-1.535 1.235v.001c-.496-.054-.994-.083-1.495-.083-.447 0-.892.024-1.336.066-.01.002-.015 0-.026.001-1.307.193-2.025-1.403-2.176-1.784-1.527-4.385-5.635-13.032-14.868-15.359 0 0-1.677-1.284-1.166.888.486 2.076 1.492 4.175 1.268 7.227-.102 1.409-.976 8.633 5.664 12.393.631.356 1.192.657 1.695.91-3.341 2.678-6.378 6.402-8.977 10.63zM123.66 120.896c-8.137-5.042-10.875-6.814-10.703-8.742 0 0 .002-.313.082-.793.197-1.021.822-2.767 2.816-3.763.065-.032.12-.068.172-.106 6.339-3.679 10.971-9.602 12.604-16.997-1.646 4.084-13.836 7.259-28.643 7.259-14.801 0-26.995-3.174-28.639-7.259.366 1.66.887 3.243 1.541 4.748.55 3.097 1.291 10.387-2.21 16.767-3.085 5.623-18.312 13.286-40.911 8.887 0 0-.907-.632-1.181-.111-.405.769 1.253 1.393 2.963 1.843 15.733 4.167 39.481 2.472 46.939-3.673 3.403-2.802 4.715-6.575 5.049-10.638l.003.007s.091-1.064 1.421-.265c.381.229 1.756 1.124 1.976 2.137.192 1.441.205 3.21-.54 4.449-1.063 1.772-1.075 2.026.325 3.028.859.612 4.371 3.194 9.257 6.13.013.008.019.015.032.022 1.034.623 2.47 2.146 2.47 2.146 2.201 2.546 6.988 7.669 9.071 6.703.984-.453-.041-2.506-.041-2.506s1.637 2.126 2.516 1.4c.668-.552-.391-2.668-.391-2.668s1.429 1.239 2.278.78c1.04-.561-.154-3.815-8.332-8.786-8.182-4.976-10.399-5.737-10.594-7.959 0 0-.004-.111.003-.302.064-.49.342-1.526 1.531-1.416 1.77.286 3.595.439 5.464.439 2.139 0 4.222-.196 6.23-.571v.004s.104-.021.136-.027c.235-.029.692-.015.694.555-.074.723-.273 1.448-.698 2.083-1.197 1.792-.804 2.039.446 3.189.771.712 4.308 3.823 9.152 6.833.01.008.014.013.025.021 1.033.621 2.819 2.327 2.819 2.327 2.008 2.037 5.7 5.453 7.712 5.247 1.36-.141.252-2.482.252-2.482s1.719 1.658 2.562 1.171c.944-.545-.391-2.278-.391-2.278s1.106.585 1.887.391c.787-.195.982-2.185-7.154-7.224z"/><path d="M114.57 63.932c-.977 0-1.787.294-2.408.874-.628.587-.945 1.265-.945 2.016v13.274c0 1.781-.315 3.094-.938 3.903-.602.783-1.564 1.163-2.94 1.163-1.407 0-2.367-.377-2.934-1.154-.592-.81-.892-2.125-.892-3.912V66.77c0-.908-.413-1.65-1.197-2.146-1.065-.671-2.125-.914-3.414-.485-.394.131-.764.303-1.102.509-.359.219-.663.494-.903.814-.267.356-.402.745-.402 1.154v13.481c0 1.784-.3 3.1-.892 3.911-.569.777-1.528 1.155-2.934 1.155-1.41 0-2.379-.379-2.963-1.158-.607-.81-.915-2.125-.915-3.907V66.822c0-.75-.318-1.429-.947-2.016-.622-.58-1.448-.874-2.458-.874-1.041 0-1.899.291-2.551.864-.67.587-1.01 1.269-1.01 2.026v13.067c0 1.644.16 3.199.476 4.62.324 1.453.89 2.728 1.683 3.791.8 1.074 1.886 1.921 3.229 2.522 1.329.592 2.99.892 4.939.892 2.031 0 3.732-.376 5.056-1.119 1.11-.624 2.045-1.442 2.787-2.44.716.998 1.629 1.816 2.723 2.439 1.307.743 3.034 1.12 5.136 1.12 1.949 0 3.604-.301 4.917-.894 1.323-.6 2.399-1.447 3.201-2.52.793-1.066 1.358-2.342 1.682-3.791.314-1.421.476-2.976.476-4.62V66.822c0-.753-.33-1.433-.979-2.021-.635-.577-1.505-.869-2.581-.869z"/><g><path d="M54.907 160.536c-.434 0-.794.13-1.07.388-.278.261-.419.562-.419.895v5.896c0 .793-.141 1.374-.417 1.734-.267.348-.695.516-1.305.516-.626 0-1.052-.168-1.303-.512-.263-.36-.396-.944-.396-1.738v-5.918c0-.403-.184-.733-.531-.954-.473-.298-.944-.405-1.516-.215a2.379 2.379 0 0 0-.49.226c-.159.097-.294.22-.4.361-.119.159-.179.332-.179.512v5.988c0 .793-.133 1.378-.396 1.738-.253.344-.679.512-1.304.512-.626 0-1.056-.168-1.316-.514-.269-.36-.406-.943-.406-1.736v-5.896c0-.333-.141-.634-.42-.895-.276-.258-.643-.388-1.092-.388-.462 0-.844.13-1.133.384-.298.261-.449.563-.449.898v5.805c0 .731.071 1.421.212 2.054.143.645.394 1.21.747 1.683.355.478.837.854 1.435 1.12.59.263 1.328.396 2.193.396.902 0 1.658-.168 2.247-.497.493-.277.908-.64 1.237-1.083.318.443.723.806 1.21 1.083.58.329 1.347.497 2.28.497.866 0 1.601-.134 2.185-.396.587-.267 1.065-.643 1.422-1.12.353-.474.604-1.04.747-1.683.139-.633.21-1.322.21-2.054v-5.805c0-.333-.146-.636-.434-.896-.285-.256-.672-.386-1.149-.386zM72.019 161.895c-.409-.426-.94-.762-1.578-1.002-.633-.235-1.391-.356-2.251-.356-.928 0-1.752.164-2.45.49-.696.324-1.283.755-1.742 1.277-.458.522-.812 1.114-1.047 1.764-.237.646-.357 1.311-.357 1.974v2.02c0 .6.092 1.19.273 1.759.184.574.463 1.091.829 1.536.369.45.848.819 1.422 1.099.577.279 1.255.422 2.017.422.471 0 .875-.036 1.203-.108.332-.072.625-.18.871-.32.246-.139.459-.301.633-.482.104-.11.205-.228.301-.35v.092c0 .333.142.636.42.896.276.257.635.387 1.069.387.478 0 .865-.128 1.147-.386.288-.261.434-.562.434-.896v-6.424c0-.676-.097-1.309-.286-1.877-.194-.581-.499-1.091-.908-1.515zm-4.823 1.751c.293-.132.627-.198.994-.198.635 0 1.127.141 1.463.422.324.271.489.764.489 1.461v2.156c0 .412-.071.778-.211 1.084-.141.31-.325.569-.548.771-.223.203-.482.358-.77.465-.289.105-.593.158-.904.158-.562 0-1.019-.177-1.395-.539-.375-.36-.557-.778-.557-1.275v-2.201c0-.34.06-.661.18-.956.12-.296.288-.566.5-.799.208-.231.463-.415.759-.549zM81.357 156.636c-.461 0-.843.13-1.133.384-.297.262-.449.564-.449.899v13.675c0 .335.151.638.449.898.29.254.672.384 1.133.384.45 0 .817-.13 1.093-.388.278-.261.42-.563.42-.895v-13.675c0-.332-.142-.633-.42-.894-.276-.258-.643-.388-1.093-.388zM91.153 156.636c-.461 0-.843.13-1.133.384-.297.262-.449.564-.449.899v13.675c0 .335.151.638.449.898.29.254.672.384 1.133.384.449 0 .817-.13 1.092-.388.278-.261.421-.563.421-.895v-13.675c0-.332-.143-.633-.421-.894-.275-.258-.642-.388-1.092-.388zM108.357 161.895c-.409-.426-.94-.762-1.578-1.002-.634-.235-1.392-.356-2.251-.356-.928 0-1.752.164-2.449.49-.696.324-1.283.753-1.743 1.277-.458.521-.81 1.114-1.047 1.764-.236.646-.357 1.311-.357 1.974v2.02c0 .599.092 1.19.274 1.759.183.572.461 1.09.829 1.536.369.45.848.819 1.421 1.099.578.279 1.257.422 2.019.422.471 0 .875-.036 1.202-.108.331-.072.625-.18.871-.32.245-.139.457-.301.632-.482.104-.11.205-.228.301-.35v.092c0 .333.142.636.421.896.274.257.635.387 1.069.387.479 0 .863-.128 1.147-.386.287-.259.433-.562.433-.896v-6.424c0-.676-.095-1.309-.285-1.877-.193-.581-.498-1.089-.909-1.515zm-4.823 1.751c.293-.132.627-.198.994-.198.635 0 1.126.141 1.462.422.324.271.489.762.489 1.461v2.156c0 .412-.071.776-.211 1.084-.14.31-.325.569-.547.771-.224.203-.483.358-.771.465a2.644 2.644 0 0 1-.905.158c-.562 0-1.018-.177-1.395-.539-.374-.36-.558-.778-.558-1.275v-2.201c0-.34.062-.661.182-.956.119-.296.287-.564.5-.799.211-.231.466-.415.76-.549zM125.54 162.136c-.416-.503-.951-.9-1.59-1.18-.637-.279-1.398-.42-2.262-.42-.607 0-1.16.11-1.644.328-.38.171-.714.401-.997.687v-3.632c0-.332-.141-.635-.42-.894-.276-.26-.644-.39-1.092-.39-.462 0-.843.13-1.133.384-.298.262-.449.564-.449.899v10.21c0 .682.117 1.319.348 1.898.231.584.584 1.1 1.049 1.531.462.431 1.046.77 1.736 1.008.682.235 1.488.354 2.396.354.881 0 1.66-.147 2.32-.441.658-.294 1.218-.697 1.663-1.198.446-.502.78-1.09.994-1.747.212-.652.32-1.356.32-2.093v-1.332c0-.796-.104-1.538-.308-2.205-.204-.672-.518-1.266-.931-1.767zm-4.058 7.876c-.707 0-1.303-.151-1.771-.45-.445-.283-.663-.723-.663-1.343v-2.63c.029-.745.247-1.293.649-1.628.411-.341.935-.514 1.555-.514.729 0 1.3.224 1.746.683.441.456.665 1.137.665 2.024v1.377c0 .757-.202 1.367-.603 1.813-.398.45-.914.668-1.578.668zM141.898 161.895c-.41-.426-.941-.762-1.579-1.002-.633-.235-1.391-.356-2.251-.356-.928 0-1.752.164-2.449.49-.695.324-1.282.753-1.742 1.277a5.5322 5.5322 0 0 0-1.048 1.764c-.236.646-.356 1.311-.356 1.974v2.02c0 .599.092 1.19.272 1.759.184.572.463 1.09.829 1.536.369.45.848.819 1.422 1.099.577.279 1.256.422 2.017.422.472 0 .876-.036 1.203-.108.331-.072.625-.18.871-.32.245-.139.458-.301.632-.482.104-.11.205-.228.301-.35v.092c0 .333.143.636.421.896.275.257.635.387 1.069.387.478 0 .864-.128 1.147-.386.288-.259.434-.562.434-.896v-6.424c0-.676-.096-1.309-.285-1.877-.193-.581-.497-1.089-.908-1.515zm-4.824 1.751c.294-.132.628-.198.994-.198.636 0 1.127.141 1.463.422.324.271.488.762.488 1.461v2.156c0 .412-.07.776-.211 1.084-.141.31-.325.569-.547.771-.224.203-.483.358-.771.465-.289.105-.594.158-.904.158-.562 0-1.018-.177-1.396-.539-.375-.36-.557-.778-.557-1.275v-2.201c0-.34.061-.661.181-.956.119-.296.288-.564.5-.799.21-.231.466-.415.76-.549zM159.368 163.29c-.193-.562-.499-1.056-.909-1.466-.409-.409-.939-.733-1.578-.966-.633-.229-1.39-.346-2.249-.346-.928 0-1.748.166-2.439.49-.688.324-1.271.758-1.729 1.291-.461.53-.81 1.151-1.038 1.847-.228.691-.343 1.414-.343 2.153v1.353c0 1.604.41 2.888 1.22 3.817.817.937 1.989 1.412 3.48 1.412.797 0 1.451-.141 1.947-.416.337-.188.623-.416.854-.683v.664c0 .509-.057.921-.17 1.226-.11.295-.262.529-.449.698-.188.166-.412.281-.668.343-.274.064-.583.098-.916.098-.552 0-.981-.029-1.28-.089-.328-.062-.578-.094-.762-.094-.481 0-.85.119-1.095.355-.246.237-.372.557-.372.949 0 .531.287.983.889 1.361.215.083.553.155 1.033.22.467.062 1.001.092 1.587.092.689 0 1.36-.103 1.989-.308.635-.205 1.203-.524 1.689-.945.487-.424.879-.966 1.165-1.609.286-.643.431-1.416.431-2.297v-7.364c-.001-.631-.097-1.232-.287-1.786zm-5.722.354c.29-.146.622-.22.986-.22.638 0 1.132.132 1.468.393.325.252.483.634.483 1.169v2.859c-.028.74-.247 1.265-.669 1.604-.433.348-.936.517-1.534.517-1.469 0-2.182-.728-2.182-2.227v-1.537c0-.387.062-.754.183-1.09.121-.333.29-.628.503-.875.21-.248.467-.448.762-.593z"/></g></svg>
2<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In -->
3<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
4 <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
5]>
6<svg version="1.1"
7 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
8 x="0px" y="0px" width="800px" height="800px" viewBox="0 0 800 800" overflow="visible" enable-background="new 0 0 800 800"
9 xml:space="preserve">
10<defs>
11</defs>
12<image overflow="visible" width="800" height="800" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
13bWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp
14bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6
15eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEz
16NDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo
17dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw
18dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv
19IiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RS
20ZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpD
21cmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNl
22SUQ9InhtcC5paWQ6MkMyNzEzMDQ4QTgzMTFFM0JGNkJCRDhDMjI5OTRBNkIiIHhtcE1NOkRvY3Vt
23ZW50SUQ9InhtcC5kaWQ6MkMyNzEzMDU4QTgzMTFFM0JGNkJCRDhDMjI5OTRBNkIiPiA8eG1wTU06
24RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQzI3MTMwMjhBODMxMUUzQkY2
25QkJEOEMyMjk5NEE2QiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQzI3MTMwMzhBODMxMUUz
26QkY2QkJEOEMyMjk5NEE2QiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1w
27bWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtTNJDcAADxbSURBVHja7N37ddPK2gfgybf2/9ungm0q
28IFSAqYBQAaYCQgWECgIVJFRAqABTAaYCvCvY2RXk85yMDibkYsu6zEjPs5ZWuCSxNZKl96eZkQ6u
29rq4CAABAF/5PEwAAAAIIAAAggAAAAAggAACAAAIAACCAAAAAAggAACCAAAAACCAAAIAAAgAAIIAA
30AAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCAAAAAAggAACCAAAAA
31CCAAAIAAAgAAIIAAAAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAACAAAIAAAggAACAAAIAACCA
32AAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAggAAAAAIIAACAAAIA
33AAggAACAAAIAACCAAAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAAAIIAAAg
34gAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAIAAAgAACCAAAAACCAAAIIAAAAACCAAAgAAC
35AAAIIAAAAAIIAAAggAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAIAAAgAACCAAAAACCAAA
36IIAAAAACiCYAAAAEEAAAYHD+0ATAWB0cHMQvk/VynP5pkRbY13S9zNfLn+vl63q5uO2brq6utBQw
37vvOvgx8w8gDyab0cbfxzDCCv1stKC1FTDLRvU7itvLgthDgHAwIIwPgCyJf1Mrvlv5cpjNx59Ro2
38HK6Xl+G612Nyy//HQPtIAAEQQAAB5K4AsukyhZDPwggbpuG69+x1+vNDHoUbPWvOwcAYmYQOjN3l
39Ft8Tr2jPw/VwrX/Wy1m4vuLN+FRzhr6tlx/r5XTL8BF2+D4AAQRgwL7XKEDnqQD9lv7M8G0G0FMB
40FEAAAahrscfPxiI09obEK+En4fax/5RrmsJG1et1pEkA9mcOCDDeA+D1HJCoqQNhHM71Yb28D9sN
417SJP83A9oXzW8O99djPwOgcDY6QHBKC5ieWxByTefjX2iBxr1qJUQ+vitjtrIXwAIIAA/M/XForZ
4201TMKmTzDx4nG8Fj2uJr6RUDCIZgAWM+AP4cgjVNBWhbYg/Lm+DhhrmZp6DY1dydg5v/4BwMjJEe
43EIDrYNBmOIiTl+MdswzLysMs/OzxmHS4jwEggAD8T9sPGKyGZcUHH041dy8mKXT0sQ0EEAABBOAX
44nzt6nVm47g1xS9duxXaPvR7znl7/q00AIIAAbFqE7iYJxyvx8aF2p5q9Eyfhutejz+e0LG0GAAEE
454LYQ0qU4J+Rb8ADDNoNeHHL1doT7FoAAAlCAzz28Znya+o/0lWbDR+z1mGfwXmLvh1vwAgggAL9Z
469Fgsf8ukWB5S+Dgc+X4FIIAAZG4V+r1b0ZkQsrfDFOZy6lEyAR1AAAG406Ln1z9LC7urJvdP7VMA
47AghAKb5n8B7mQkit8JHjM1bM/wAQQAAeLBhzIITsHj5ynMi/sHkABBCAUgpGIWQ7ZyHfu4iZ/wEg
48gAA8aCWEFCM+zDHnp8ovbCIAAQSgpABShRBPTb+9XY4zfn/mfwAIIABbF465OQ5u0bvpsIBQtrCZ
49AAQQgG38m+n7ikOxjmye/046P0tfc2b+B4AAArCVnIfN5DzhuiunhbTBwkcJQAAB2MYy4/dWPWxv
50MtJtE3uA5oXsQ+Z/AAggAIMwTSFkjOtdyh3BlnZTAAEEYEhmYXx3xiph3kfF/A8AAQRgcOKdscYy
51KX2eQlcp9IAA3OHg6upKKwDjPAAeHNz1X7HQ/VLIasR5Bk9Cfs8uaVLs9fgRypr3crDNNzkHA2Ok
52BwSg/OJ86E9KPy0sfOj9ABBAAHZS2m1uZ+vlZKDbIq7bvLD3vPIRAhBAAHZR4i1u34ZhPh+kxIn2
53332EAAQQgDEY2lCs40JDled/AAggADv5s9D3HYv1k4Fsg9gL9bbQ924OCIAAArBzIV+qWLRPB7AN
54jsN4n/YOIIAAUJTSh2JNQ7m9H9HCLggggACMySyU/YDCtzYhgAACQFlKe3ZGZRrKu+3uppVdD0AA
55ARijWMgfF/i+S+/9EEAABBCA0XodypqQHt/r3GYDEEAAKFNpt7IdwtwPt+AFEEAARm0eyugFmYZh
569H78a5cDEEAAdvV1YOtTwm153fkKQAABYCBmaclVHCo2H0hbr+xuAAIIwK4uB7hOOfcwHA+onQUQ
57AAEEYGdDnEg8C/n2gry2ywEIIABjdjnQ9cqx0J+HMh+YOKbwCtCog6urK60AjPMAeHBw338P9eD4
58KOQ1TOjbejkc0m61yzc7BwNjpAcE4Harga5XTnNBZgMLHwsfGwABBKCuoQ6lmYd8ngvycmBte+lj
59AyCAANT1fcDrNs/gPQzp1rtj2GcABBCAli0GvG45TEaf22cAxskkdGC8B8CDB+cLD/kA+Wq9nPf4
60+j9CPkPBmvKfsOMwLOdgYIz0gADc7WLA69bn/IvDAYaPVTAHBEAAAdjT1wGv26zHEDDEBw8ufFwA
61BBCAfV0MfP36CgJHA2zLzz4uANsxBwQY7wHwYKtnxg3tQXmb4pCh//QQPj4NsC13nv8ROQcDY6QH
62BOB+Hwa8bpPQfW/EywG240Uw/wNAAAFQXG7l+cADTxcMvwIQQAAacxmGPRdknoJBF47sHwAIIAAP
63ezfw9Tvu6HWeD7DtDL8C2JFJ6MB4D4DbTUKvnIVhPr07pAL6UcuFdOxl+WeAbRfbbVX3h52DgTHS
64AwKwnSH3gkxSwGrT8QDbbbFP+AAQQAC4Tyw0zwe8fnF+xryl3x1vY/xWKAVAAAHYzZsw7PH+bQwz
65i+FjiM/9iGF04SMBIIAAtCmGj6Ff9Y4h5DQ0c2esGGa+rJep/QCAiknowHgPgLtNQt8Ui+rZCJoo
663uHp+3r565YQUT0dfnnj35cpvMwGGDwqsSfsfRO/yDkYEEAABJBtxAL7R+ju+RnkY7FenjX1y5yD
67gTEyBAtgd3EIzivNMMrt/kIzAAggAH2Iw5PMAxiXZ8FDBwEEEIAenYRh35qXn2KP11IzAOzPHBBg
68vAfA+nNAboq3mT3SooMOH60ETedgQAABEEDqiJPR452xDrWq8CGAANzPECyA/cV5Ac+C4Vi2KQAP
690gMCjPcA2FwPyKY2niZOt+Jcj3i3q1XbL+QcDIyRHhCAZsUhO280Q7Hinc2edBE+AMZKDwgw3gNg
70Oz0glVm4npzuYYVlWKTg2OmdrpyDgTHSAwLQXkH7KH0l7+30LC1uswsggAAUrZrI/CZ4gF1uzjeC
71h5AI0CFDsIDxHgDbHYJ1UxyKdRpMUO9T7OH4mMJHFoHQORgQQAAEkLbN1svb9JV2xZBxsV6+pq/Z
729UI5BwNjZAgWQLcW4XrYTye3eeW/4eM8GAIHIIAAjFy8Ih8nqb8SRFoTh72dpQWATBiCBYz3ANjP
73EKy7xPkhx7ZKa+L8j9jzlFVPiHMwMEZ6QAD6Nwsmp7ftcL38SF8BEEAARisGjy/BAwu7MEltLewB
74CCAAo2R+Qj8hJLb5iaYA6Ic5IMB4D4D9zgGJRfDcVujVebi+CUBvnIOBMfpDEwB0qhoGZC5C/6oA
756En1AB3SAwKM9wDYfQ+I8JGn3u6Q5RwMjJE5IADCx9gdBjcCABBAAIQPhBAAAQQA4UMIAUAAARA+
76EEIABBAA4QMhBAABBED4QAgB6J7b8ALjPQC2cxte4WNY4i16n7T1y52DgTHSAwLQrE/Cx6DEbXmm
77GQAEEIAcxUJ1phkGZy6EAAggALk5TYUqww0hx5oBYH/mgADjPQA2NwckFqeukI/Dq/Vy3tQvcw4G
78BBAAAWRXR+F63gfjESelLwUQAAEEoOsA4lat43SZQshKAAHYnTkgAPXE0PFJ+LDtARBAALoQC9Cp
79Zhgtt+cFEEAAOhPveDXTDKMX5/+caAaA3ZgDAoz3AFhvDsg8uPLNr16sl4s6P+gcDAggAALIfUw6
805za1J6U7BwNjZAgWwHZi6DgTPrhj33ArZgABBKBRMXwcagbuYFI6gAAC0JjjcD3hGO4zTwsA9zAH
81BBjvAXC7OSDxyvY3rcWWdpoP4hwMjJEeEIC7VfM+YJd9xnwQAAEEoJb4vA/zPthV3GdONAPA7QzB
82AsZ7ALx/CFac8+FKNvt4tl4W932DczAggAAIIFEcRvMjuOUu+1mF6/kglwIIwE+GYAH87pPwQQOm
83wRwigN/oAQHGewC8vQck3nL3tIWXW4Wfd0Zarpd/d/jZv1IxWxW1U1uvKC/Wy8Vt/+EcDAggAOMO
84ILGwj7fcrdv7UYWMrxt/jmHjsoW3H9/j4cbXKqTMbNnsxO3/6Lb9wDkYEEAAxh1AvuxYwMdwsUiB
85Y9FS0KhjmkJJXJ4KJVmIPSAvBBAAAQQQQCrbDL1apaDxObPAsY3DFESqQGKOS/d+G4rlHAwIIADj
86DCDTcPfQq1UqGj+G6x6PoagCyfOgh6Qrvw3Fcg4GBBCAcQaQeNeroxv/XYWOixE0xSSt/9P0Ve9I
87e87XyysBBBBAAMYbQDYfOBivTH9IReJqxE0T2+S5MNKa/z2g0DkYEEAAxhVAqgcOhhQ83oey5nV0
88Yb4RRmhGDLePBBBAAAEYXwCJk87/FTy2Mklh5HXwHJImvFsvJ87BgAACMK4AMhE8apmtl5cpkFDf
89o/U5eKUZgLH5P00AjJjwUc8iXE+k/s96eRPGPV+m7n73zv4HjJUeEGC8B8DfH0RIffG2vnF4lonr
909ztP4eO/oc05GBBAAAQQ9hdDyMtg4nol9nRcbAaPinMwIIAACCA0p3q+SPWww7H1jMSwUd3W+dbh
91Vs7BgAACIIDQns2HHU4Huo5Vb0d8iOXioW92DgYEEAABhG5MNwLJLJTdO7JKYeNzCh9bcw4GBBAA
92AYR+HKbl6cafc3WZAsfX9HVZ9xc5BwMCCIAAQj5mKYj8tRFKuu4puUwBIy7fN/7cCOdgQAABEEAo
93I5hsfn28EUymYbf5JYuNP39NX5cbwaPVZ3U4BwMCCIAAAp1xDgbGyJPQAQAAAQQAABBAAAAABBAA
94AEAAAQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAAAQQAAAAAEEAAAQQAAAAAQQAABAAAEAABBAAAAA
95AQQAABBAAAAABBAAAEAAAQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAADYyR+aAKC2yXo5XC+z9Pen
96G/+3XC//rpdF+vPlANb3MC3TW9b17411LX2bztJ6/pm+Vr6mr0PapgCdO7i6utIKwDgPgAcHdX90
97vl6er5ejHX7mYr18SMVrSaZpfV+mPz9kldbzvLACPYaO1zW26cf0tRbnYEAAARBAHipST8OvV8V3
98FQPIiwKK8xg23qbwUcdlCiInma9n7PE42zF43BR7Q16FGr0/zsGAAAIggNzlOIWPJsTi/FnId7jS
99cQofkwZ+V+3ivAMxSH5paD1DWs9zAQRAAAHYN4DEK+Tzhl8+xxDSRG9AKevadPioFUKcgwEBBEAA
100uanJno/bCvMn4XreRA6+hf2Gl5USQmLo+NFC+Ng5hDgHAwIIgACy6TAV5W1apMK8b6cpbLVpmQJX
10132LPx6zF3791sHQOBsbIc0AA7i/K2zZruRje9j0cd/A6MdDNM1jXtts79qy89fEBEEAAdi2WuwoG
102r3te1y5f//lI1nUe2hviBVA0Q7CA8R4A7x+CdRK6vYp90GNTdH0iGMu6PjgXxDkYGCM9IAC3e9rx
1036816Ws/pSF4zOhzJegIIIABka0wBpOshUY/tXgACCAAMNfAACCAAAAACCAAAIIAAAAACCAAAgAAC
104AAAIIAAAAAIIAAAggAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAIAAAgAACCAAAAACCAAA
105IIAAAAACCAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAA
106AgAACCAAAAACCAAAIIAAAAAIIAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggA
107ACCAAAAACCAAAIAAAgAACCAAAAACCAAAIIAAAAAIIAAAgAACAAAIIAAAAAIIAAAggAAAAAggAJCT
108pSYAEEAAoCv/agIAAQQgVzNN0LqpJgAQQAAQBAQQAAEEYPRWHb/enz2t50wQAEAAAejf3x2/3uGI
1092ravsPV04CEWQAABYGvTkRTlfYatrttYAAEQQACyLR5jcTwZSfDpI4BMgqFfAAIIgADyi1kP4aOP
110oryPMDDrYT09BwRAAAHY2mUPr9n1cKhZj+17NPC27WsfAhBAAArVx9Xrrovy5z2279OBt+3KRwhA
111AAHIvYichu56JSY9FOU3A8F0gK8lgAAIIABFFZFvO3qd4wzad97R67zuYd2++vgACCAAu+pjGNYs
112tN8LMumpKL8tGExbfo2j0M9cl5WPD4AAArCr7z297llo95a8bf/+XYLQWcG/XwABEEAAGtXXbVSn
1136+VLSyEhFuRHGbXxrKWQMGmxDbex8PEBEEAASgkg0WEqoKcNFuSx0J9n2M7z0GyvTNV2hyPcbwAE
114EIDCLXoOId/Wy8mexfk8/Z55xu3cxHucpiDzrcfw0fc+A5C9g6urK60AjPMAeHCwzbfF4v9tJm/5
115IlzfXWn5QJF7mIrx+JyPo5DHfI9dXN5Y1/t6FGZpfZ+GfIaWvUjv/0HOwYAAAiCA3FbMf8u8WF+m
116kHE48E22Ssth5qHqP2HLp6A7BwMCCIAAcpt/Qnm9CPRjsV6ebfvNzsHAGJkDAvCwC03Alj5rAoD7
1176QEBxnsA3L4HZBau76oED9l6+FXkHAyMkR4QgIctggfL8bCLXcIHgAACwH0+aALsIwD7MwQLGO8B
118cPshWFGchP4jmIzO7Vbr5dGuP+QcDIyRHhCA7cShNa5wc5d3mgBgO3pAgPEeAHfrAYn0gnCbVajR
119+xE5BwNjpAcEYHuxF8SVbm56pQkAtqcHBBjvAXD3HpBKfDL6oRYkXN/56kXdH3YOBgQQAAFkG4cp
120hDBusUfsUdjj1rvOwcAYGYIFsLtlMBTrMnjmxSttALA7PSDAeA+A9XtAKvHp6LORNt+T9TJdL59G
121uv7v18ubfX+JczAwRnpAAOqLY/+XI1zvV2m9L5oowgu0GOl6AzRCDwgw3gPg/j0gUZwPEntCxnJr
1223hg+zm/829l6mY9k/WPwehYaGnrlHAwIIIy9kAKEkF3Dx5hCSKPhA/qi9qNvhmABNFOYPgnDHo51
123X/jY5v+FDwAEEIAGrVKBejGw9YoF94stw0UMIUOcG3GeAqbwASCAAGRZrA+lCF/WCFXvw3B6Ci5T
124qPKkcwABBCBrsQiPV8wXA1iHOsPK4no/CmX3Bi3S+p/bnQEEEKBshyNZz6r3IF49XxVYeO/bi1P1
125Br0IZfWGrNJ7flbYdvOZBAQQgDschfHcsjY6D9e9AbkHkVV6j89Cs5PpL9L6v8s8iFTrX3rPza6m
1266TMJ0Bm34R3KhnQbXsoKIE/DeB/kNl8vL0M+T1BfrJePoZuhRpO0/q9T4ZuDi7T+FyPdH+OT7D+E
127socLsiO1HwIIAghjE4vQf8L1lfYxFz3TjTDW9RXo5UbRvepp/Q9TEDvqIYzE9f6cvo75zlYxDMbn
128tziBCCAggCCAMHjfUtHZ9HCfks1SUf44fW1qXP5lauOv6esiw6J7mta/WvdZw2ErLt831p+fD8+s
1295iohgIAAggDCoJ2ul+NwffXd8xXuNtkIIodhu7kzlxuhbjHidV/arx4MH7FN41DI95pEAAEBBAGE
130oZulAqgqGvWEQPfhI4T6t1pGAAEBRAARQCjOPxtFUHXL1oVmgdbE+TZnG5+7Vbi+6xcCCHTKbXiB
131vmyGjVgQxauyJ5oFWhGHPX4Kvw5lE/gBAQQYlc+3/NvbFESmmgcaEYdcxZs+HG/5GQRonSFYQ9mQ
132hmBRnup2vHeJD6470UxQ+/N1nEL9beKwx/9opnFS+9E3PSBAX2IBdN/D32Lh9CNcP6sA2F78zHy7
133J3yEMN4HLwICCDByDw0BmYbrSbNxWNZMc8GDweNH+sxM9/zsAbTGEKyhbEhDsCjTQ8Owblqslw/B
1341Vu4GTzehu3nThl+NXJqP/qmBwToUyyEznf4/lm4vpNPNTRrogkZcXg/Dtv3eGwS4IFe6QEZyobU
135A0K5Yqj4smeAib0iK03JCMS7Wr0O18/0qBvAPXxw5NR+CCAIIHB9FXe65+9Yhp/Dsy41KQMSg8Z8
136vbxMAWTfz8kTTSqAQJ8MwQJy8LGB3xELszgUJc4p+RTcPYthhI5PaZ8+bSB8hBTSAXqlB2QoG1IP
137COUXW/+09Ltjj8jnoGeEMj4HcWjV8/S1aXH/f+RzgNoPAQQBBK7F3ot5y6+x2AgjK01OBmKvxiw0
138M7zqIefr5ZUmR+2HAIIAAtfiHX1OO3y91UYgiV9dFaYLVS/H0xQ8ph2+9iPBGwEEAQQBBH6KxdiX
139Hl9/mYLIV4GEBsWAcbgROA57eh/nQe8HAggCCAII/KLNeSB1rDYCyTK4bSnbqYZUPQ7d93Dc51na
140n0EAQQBBAIHN82Lm72+Rgsh3oYQUNg5T2KiCR6777TObCwEEAQQBBH73JeMi7r7ibnUjlBi+NSyT
141G2FjWth+qvcDAYSs/KEJAPZyWyF6uRFG/g0/55ToMcnbYQobcZv+FX7O35gUvE4L4QPIjR6QoWxI
142PSAMw8l6eTvwdVylpQony41wouekXZONQBG//pm+TkM+czWapveD36j96JseEIBuVcXu7I7/r4JI
143DCl/p39b3Agv/G6zp6Jq28fp34YcMO5zIXwAOdIDMpQNqQeEYYiF4xfNsJXNMLIZVjZDzF1/LyGg
144VareinAjVIQRB4ttee4Ht1L70Tc9IABl2rf43mZOytc93+PTB/6/9PkVOXsvfAC50gMylA2pB4Rh
145iAXpN80Ae4nh8lEwp4g7qP3o2/9pAiAj7hIF+3sjfAA50wMylA2pB4ThcFCC+hbBQwd56CCr9kMA
146QQABAQQa8iToSUQAIXOGYAG5UTxBPe98fgABBGB3xq5DveB+ohkAAQQA6MIrTQAIIABAFwy9AgQQ
147AKATi2DoFSCAAAAdiPOlDL0CBBAAoBMxfKw0AyCAAABte79eLjQDIIAAAG1brJc3mgEQQACAtsW7
148Xb3QDIAAAgC0rZp07mGdgAACALQu9nx43gcggAAArYs9HwvNAAggAM2bagL4RZxwfq4ZgKE4uLq6
1490gpD2JAHBxqBoXBQgp9i8PCwQZo9yKr96JkeEAAQPgAEEAAQPgAEEIA2zTQBCB+AAAIACB8AAggw
150OFNNgPABIIAACCDQrvfCBzAWf2gCICN/aQJGKAaPc80AjIUeECAnU03AiFwKH8AYeRDhUDakBxEy
151DP+sl4lmYCTh49l6WWoKuqb2QwBBAIGN86ImYASWKXxcagoEEMbIECwgFzNNwAicr5cnwgcggAD0
15271ATMGDVfA93ugJGz12wgFy4AxZDtUzBw3wPgKAHBMiHHhCG6DyYbA7wC5PQh7IhTUKnfA5GDEk1
1535OpCU5DdwVbtR88MwQJyMNMEDMhivbwIJpoD3MoQLCAHhl8xBFWvh1vsAtxDDwiQg6eagMJdpPAh
154eAA8wByQoWxIc0AomyegU6pVCh4LTUEp1H70zRAsoG+HwgcFij0d79bLI+EDYDeGYAF9Oyq4AI23
155Vp2mhfE4Xy9vguFWALXoAQH69rzA9xyDR7zy/Wzj68KmHLy43Z8Ecz0ABBCgWNNQ5h2wPtwoQBcp
156hLj16nCdBw8UBBBAgOLNCn3fqzv+Pd4J6YkidZDhQ68HgAACDMDzQt/35QPh5EkqWhlO+ACgIW7D
157O5QN6Ta8lGe6Xn6U+pHb8vvO1svcphY+ICdqP/qmBwToy9EI1vFV0BNSqlW4vtMVAAIIMBAvC33f
158ixohZGFzFxkezfkAEECAgTgMZd79KtQsSg3jKcu50AgggADD8rrg9/69xs+sgqFYJXmnCQAEEGA4
159JqHsidl1b7H72aYvwnm4+zbLAAggQIGOC3//dYtT8wnKICgCtMxteIeyId2Gl3LEW+9OS/641fy5
160aSj3tsNjEUPifzQDQ6f2o296QIAuzQsPH4s9fnZl89cOBV31Hl1oboD2/aEJgA69Lfz9Lwt6r6tU
161UP+7Xv4M13cdm2YcAFdpiW38d/q63AgfJx3sP199RAEEEGA45qHs3o+SCtT4AL339/x/DCOTja9V
162QAkthZQqXFQh7t8ULJYbXx/SRQBZ+ZgCtM8ckKFsSHNAyF/pcz+i/4T9hgN1ccB9KHzsahJ2f2bL
163MrQzbKrt9nMgZRTUfvRNDwjQhZMBhI+2iuomrRoOHyGt8yKDdZv6GAEMg0noQNviFfTXA1iPRQHv
1648cOA96NDHyUAAQRgG2cphJTuYwHvcTng/ei5jxKAAALwkPl6ORrAeqwaKO67uIK/GPC+NOvgNfSy
165AAggQMFiMXc6kHVp4vkQXfQCTQe6Lx11tG5HPrYAAghQplhsD2XoVdTE8KuZAFJbV3OIXg5onwUQ
166QIBR+RKGM5xlFZqZW/G4g/c6xHkSs47CWxXgjn18AdrlOSBD2ZCeA0I+Ys/HfEDr09RzNbo42Maw
1679GhAbR97I76F7nt2noVhz6dh5NR+9E0PCCB83C0+A+O8gd/TVZvEQn1IV/Dfhn6GlX0KJqQDtEYP
168yFA2pB4QhI82xPDxqoHfE4ekzToMTU/CdW9IyWLw+NFz+HwU8n/4JOxM7Uff9IAA+4rDZD4NMHxE
1697xr4HbMOw8fm9ih9MvVZBvt1HP6lJwSgYXpAhrIh9YDQX5E2pAnnm85DM70ffRWxceJ8nMtQ4hX8
170aei392PTZWrHpY87Q6H2o296QIC6DsOwrxA30ftx3GP7HKZwWGJPSE7P46hC9txHHkAAAfotEGNR
171Nh3o+sW7Xq0aKFzfZhASS+yhmmT4fuKQsBMffQABBOhefLr5EOYY3CUOuWmq9yOHNqpCyNyuu7e3
172odxeJQABBCjONFwPuRr6g9rehf3nTcQC9XVG61RdwS8lOC4yfm+zcD0/ZeaQACCAAO05DuO4I1As
173fJt46OBRpoX+USqej0ayHdoMdLEn5MShAUAAAZo1TYXWaRj+sJPY6/GqwXbLuXj+FPLvDXkT8n8a
174+dvgVr0AAgjQmKrXYzaS9Y1Dr1Yj2r5Vb0jOQ+pehGaeRN+mao7NcQBgK54DMpQN6TkgNFtQnYVx
175XdW9SMVuU2apKC3FIlz3OOT6rIu4P84LacdXIwuyFEjtR9/0gACVaqLy2IaULENzQ682C9H3BbXB
176LG33XIfaxe1zXlA76g0BuIcekKFsSD0g7OckXN+1aWy3F237KdenBRajsU3eZFrwH6c2LcEi6A0h
177U2o/BBAEEPo0D9cTaacjXf8nof1hR/NQ5iT+RchzWFZsz7OCwlycW/Q+gAACAogAguAx6uARdTms
178J7ZzvOtUiUPb3odmno3SpGridymhLtcwhwACvTAHBMYXPOKdj86Ej06HGK3CdW/LuwLb6jjtM/OM
1793tMydNN71ZRZuJ4bcuIQBKAHZDgbUg8Id4tXieMtV8fe49FX+LitGC01AC5SiFpktG9/CmXdKnqV
1809sGFjyJ9UfshgCCA0JZY4M7DOCeX5xo+Ngvns5D/E8nvEtswDinKZVhWiZP9cxzahgACAggCCLXM
1811svLUMZzE7rS9t2u6pqHcp8yn9sE63koZ3L6ZhvGUHzhI4oAggCCAEJpJuFnb8dUc/yies5HrvMF
182pqlwnhXcvrE3ZJHBeyltcnplEdyyFwEEAQQBhELEITzPg96Ou1ykwq6EYS4n4XqeTslt/SaDIrrE
183eSEh7aMfgonqCCAIIAggZChe5X2ZwsdUc9xZzOX6ML2Htu1ZKPdJ9DkV0SXOC4ly6lFCAAEBBAFE
1846BA6thALt9KHs5RaPFdWIY87Pc1DuXNsTFJHAEEAQQChc7NwPbxK6NhOqb0e923/0p/XksOwrJJ7
185lUxSRwBBAEEAoVXV8zqepq9unbu96m5MlwPcJ+K8kJJ7Q3IYlhXbMfaEzAttw0UwSR0BBAGEDANI
186PMEebpysKEMVOGah3HH/fTpP4WPohVncP0rvDVmF/odlzUPZtz02SR0BBAGErALIl/Dzri/ViWqI
187V4RLNtkIGk9DubddFTz6239K7w2J+h6WVfpE/xyCHAIICCD8N4DctSGXafk7nbCWQkmnhU4VNg6D
188Ho59Xabg8SGMeyjKLJTfG9L3QwyHEObOQ15Po0cAAQFkhAFkswdkm5P/ZjBZCiaNFIUxYPyVvs40
189SWNWKXSc20cHVUCH0P8tZ49SmCt1vtXQbryAAIIAQmEBJBa98eFb0z1/1SKd1L6nwm8lnPxS9B2m
190No7L040/07w4VOdjcAegh4LvaSi/d63PW86W+uDCm8dtk9QRQBBA6DyAVCfSNu/0UgWReJL7O/zs
191SalOgEMJGGGjGHl64++0a5lCx7nQu5OTUPZT1EPof27DcWrDkntD+hzWhgACAshIA0hlmk6kfdzK
192dTOUVD0pNwPMpraKjc0wEW4JEX+Fnz0Xh8Etb/suPGMvx9jnduzrMF2AKD0sX6QgctlTG5Y8Qb06
193puoNQQBBAKHzALJZhMcQUj3MrtTidHVHoSA0lCuG0c+p2FxqjkaVfiU/hP4fwHcSyu5R0huCAIIA
194Qm8B5LYw4iF39CUWk1/T15XmaNU0XPeGHBW+Huehvzs96Q1BAAEBhD0DyG0n11n4+TwKgYSmLVMB
195VIUOuneUgsi04HVYhX7nhpyE8ntD3CkLAQQBhCwCiEBCm4FjEUwiz8VQbtn7LvT3FPAh9Ib0ObcG
196AQQEEAFkK9MURB4Hz7Xgd9XNBqqw4VbN+RvCJPW4n70I/Q0pigHodSj3As0qtZ95VwKIRkAAIcsA
197clcBcyiUjFIVMr6Hnw+upEzzFERKvt1snxPUp+G6N6Tk418ckmWCugACAghFBJC7Qsl0I5hUf6ZM
198MVisbgSNlWYZnCEMy3qfCum+lP4UdUOyBBAQQCg2gGwTTP7a+LO5JXlYhJ/PaalChl6N8ZmlInpa
199cGB+1mMRPUntd1Rw+73y2RdAQABhKAHkoaKn+vpn+P3p4zRTWGw+tb76u7kaDK2IvkwhpM8iOvYk
200nRbcfn0OaUMAQQBBAMlC1VMyDT+vzD7dKJbGPMRrFX4OiYoF17/h16fPCxjUdRLKvd1sDreajcel
201L6HcXl7zQgQQEEAYdQDZ1s0wcnOI1+NbioEchoHdFhKqMHHb92yGDmjTPFz3hpSqz1v1RtP18imU
202e5EkBrhXPgYCCAggCCDdFg/Thn7XQnNSqFkqoku9kt93EV36kDYhRAABAQQBBOhc6cOJYhEdhxT1
203ORwxhpB5oe3nDlkCCAggCCCAELKjvu+QFZ2EcufVLFL7IYBA4/5PEwCQaQFfeoCKAaTU4UyzUPZ8
204IEAAAUAIGWUIOS84hMyFEEAAAaCPEFLypOQYQj71/B5KDyFzHwNAAAGgSxeFh5BZ6P9KfskhJD5k
205cepjAAggAHRdQL8r+P3PQ7/PCCk5hEyCoVhAg9wFaygb0l2wgG6UfHvZ6EW47tHp0yyU+ayVOB9o
2064SNQPrUffdMDAsAu4hX888IDVN+F/yKUObn/pd0fEEAA6CuELAt97zF8fMrgfZR4h7GpXR8QQADo
207y7OCQ8hsvRwJIb/x5HNAAAEgW5eFh5DTTN5HbL9HmbRjfA9xjsz5LWEk/v2D3R5ogknoQ9mQJqED
208/YhDmuLD/g4LfO85zWfJpR03J+lPNt7Pwq4+HGo/BBAEEEAI6cdFKrhz0vddxlbhukcGAQQEEAQQ
209QAhp4/CZ4Xs6WS9ve3x9t9sVQKBV5oAA0ITS54TkFkBehWYnha92+N7nNgEggAAghOzmTej/gYP7
210OE9tuWrwd77YMtQc2pUBAQQAIWQ3L1PBfd9woveZt2VswycNBalpCjNPguFVgAACgBDSuMO0LNJ7
211iYX3u/T3WNDHIU5vCmnLFw2916MUQp6l33dXb8hnuzDQJpPQh7IhTUIH8tP3xPQYOE4G1J6xHc/2
212aM8qjG1un3m4nvMxS+Hk48DajFuo/RBAEECAoevr1rI3C+6hhLrjUO8uWUNsDwQQCmQIFgBta/qB
213f5dhu8nUswG2ZVzvk2AuByCAAMCDIeRVQ78r9gK82TKETAbannF+zbPUpiu7FyCAAMDvzlPR3MTz
214LR5v+bsmI2jTRymIPDTp/6NdEMiBOSBD2ZDmgADlmK6XT2G/yemLFEAemuh+MMK2jXe7enojfH0M
215zQ6Do2BqPwQQBBBgrE7D9YTq2oe+jT+frJfXN4ru+JyPN5oZBBAEEAQQgEq8Wn8W6g2Vunngi79j
216Fq57Q+KzPpaaFwQQBBAEEIBwS3CIvSHzPQMIIIBQAJPQAehbnEgeJ1HHOR2LLX9mpdkABBAA2Mci
217hZC4XDzwveZ2ABTKEKyhbEhDsIDhmYbrOR1P05+jr+H6bk4rzQP1qP0QQBBAAAABhNEwBAsAABBA
218AAAAAQQAAEAAAQAABBAAAAABBAAAEEAAAAABBAAAQAABAAAEEAAAAAEEAAAQQAAAAAEEAABAAAEA
219AAQQAAAAAQQAABBAAAAAAQQAAEAAAQAABBAAAAABBAAAEEAAAAABBAAAQAABAAAEEAAAAAEEAAAQ
220QAAAAAEEAABAAAEAAAQQAAAAAQQAABBAAAAABBAAAEAAAQAABBAAAAABBAAAEEAAAAAEEAAAQAAB
221AAAEEAAAAAEEAAAQQAAAAAQQAABAAAEAAAQQAAAAAQQAABBAAAAABBAAAEAAAQAABBAAAAABBAAA
222EEAAAAAEEAAAQAABAAAEEAAAAAEEAAAQQAAAAAQQAABAAAEAABBAAAAAAQQAABBAAAAABBAAAEAA
223AQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAAAQQAAAAAEEAAAQQAAAAAQQAABAAAEAABBAAAAAAQQA
224ABBAAAAABBAAAEAAAQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAAAQQAAAAAEEAABAAAEAAAQQAABA
225AAEAABBAAAAAAQQAAEAAAQAABBAAAGDA/tAEAP81WS+HG39fZPb+Zht/Xq6XS5ssO9O0hLR9lpoE
2264Hd6QICxi4X9t/Xyz3r5srFcrZezjYKyDzEQfUrvZfO9Ve/10ObLwsl6+ZGWahtV+9RJCrcAJAdX
227V1daYQgb8uBAI8Du5ilk3CdeyX4Wur+avc17i16tl3ObsheTFBBnD3zfMu1Deq3IgtoPAQQBBPpx
228lIrHbazWy5MOC8hpuL6Cvs2V88v03lY2aedO18vxlt97nsIiCCCMniFYwFi93TEQHHX83rYdthO/
22977XN2bnpDuEjmod+h/MBCCAAPdt1/kSXxeO05XWh+23U9T4EIIAAAAAIIAAAgAACAAAIIAAAAAII
230AAAggAAAAAggAACAAAIAAAggAAAAAggAAFCQPzQBmZmsl/l6ebxepunfvq6Xi/WybPi1Zml52uLr
231dLk+bZuldYjLn+vl8Mb/f01fV2ndlnZnbpim/abad57e+P+4z/y7Xi439qHLEbTLYfp8TW60SVz3
2327+nPi/TZWg10v5imNgjpeDnZ+P+4zn9vtMNQ94vpxnH2ZhvcdqxdjOgzwtBcXV1ZBrAMxPF6+Sfu
233lncsX+45IO9aSP944HWmDbzOvKP1aTsMfrpnHR5aPqXfkeN67rouJx2+ty87vrcvGe9HR+vl7IHP
234wn3Lt/Vy2tBnsulAvuu6zG4Um6c12uVH+rnDAYSu0weOxdph+8/I8S6fEXWTpfe6VSMIIJk43eFA
235u08xO9/ydf7Z88Q272h92roKt0/BeFd7nmVWRAog7ZrvWVTdtZ6zwgPIZIfjXUntsUsg/dbwfvEt
2367W8lmdX4nG+zbHWcVTdZBBCLALL7ifyko9epW9RNdizezzLaFicNB4/bgshJJusqgLT3ef7R4j5U
2379axNCjtuXaWr1N9CO0Vnzr2p1ZX+Ly3vF18K6BGZ7Nmr3MjxSt1k6XsxCZ0cPN/x+1/uUTC0+f2b
238V/gmO35/DsVBLIzetlzITNJr5D78jHpOQ3NDGB/6zPwo8Op/W0OG5unzm2vxfZLeX9vbq+pVyLU3
239pNpvuzjmvw159rDDfwkg5HJlbBfTzNdn1/fX9wniKHR/5XAmhAzKJPwch97la+ZcbPZx3MmtByBu
240o7NUDHf9mrntF/H9dN1zV11Ymvp4IIAAYz8pbp4chZBhhI8+C9+zUF5PyFC3RU4BMacQchr6G2o7
241DXkMWQQBBPivWeh//slhyGsODGUWvAqsX7dJDnNCzjLYL3J4DzEEHff8HhxnEUCALExT0ZaDo5DH
242PBjKLPA2i25+Fpxve3z904w+02c9b4dc9kvHWQQQoHe5XTE+tUmKc5xZQRPfy8xm+WX79NEes9D/
243Ff+bIWDeUyj+lNk+4TiLAAL0WpjkdrecaTCZuCRxe73N8H29tml+0fU2yrUnqo99dacHA3b4udUL
244ggACdG6SaeEYPbd5iipsc5xzcRTc8WfTLHR7seE40/afhm57g3IN6I6zZOMPTQCjctxA4bhYL5/X
245y/KWYuf5HgVP9fyUS5spa7G4mu/5O1br5WK9fL2xveO+8zjs/iydm/vheUHtuUyfp0XDn6dK7BV6
2461cF6TML+PVCXadvd3C/iPvd0z/3i+S1t3JYmeuLO035xmd73YVr3w422qHucfRWgb57G6EnoGajz
247dNw6Tgb2OnXs85Tzbe92FAunuk977nJ4gCeh13O2xz70z5bhZbLH63Q17n4W9ntS9bYP5tv3CeL/
248dHhxY5/3eLJFuJjUPL5W7d2FyZ7H2U9hu16kwz2Os4fqJosnoQNdme9x9TBejXsWfu/1uM0ife+q
249xusc2kxZm+wREuO+8yhs1ztxma7Sng90H4rr9SRsd0V+mT5P53tssy7apO5V/8u0fifh4d7Py/R9
250bzLeL/bppYnr9WLLY+dyj+PsLEDPBBAYj7pjf8/D7l32lzWLhKc2U9bqFlerVCztOrzuTY2fmWbe
251hotQbwhM3UAWQvs9i4c1270KH8sdf+59jZ/pqvCue5x9n5YujrOemYMAAnRaPO5qGeqPF74I5nMM
252Td2A+KLmvnCZ9qMcC8263u3xs29CvSvej1tep9ke67Os+bMfMy2867TFsmaQCDU/Hy70IIAAndin
253QNjHsqP3Sb770fkeRWb0dUDtF8PDYo+fj4HsQ42fa3v4UZ2CdhH2u1nAMsN2OKwZcvY9zi4CCCBA
254huqceJcNnNiWmn4wYmE1rfFzH/Z83dWA2vCigd9Rp2iftrxedYLpxz1fM8djS1/HWRBAgGyLx119
255buB1/9X0ow6xKyG08c/DZc02bXP4UZ3ffd5AO+SmTtD76GOBAAIMVd0hErAP+1A77ZHT8KOZ/eJ/
256HmsLEEAAaE6dAvZvzdYK7ZqnOj1BeggRQACgweIKAAQQAABAAAEAAAQQAAAAAQQAABBAAAAABBAA
257AEAAgU79qQk695cmAFow1QQggEAJ6jxIbabZOm9zsA81H+wvBRBhDAQQ+OlrjZ/J+aFoelp+biPF
25843D0VcA+1fSNhLKhPXH7+YCOkwIIAggM+AQ87ehnhlJ073tSO7abDkqdAvZxA/vg0YDacNbQ53LX
259Y0xuvR9NFMw57herHvaJWQABBLININOaJ706V193PSEsOmivOr1ML/d4vXhV77XddPSOwn5XeN9m
260vG51ivrHDbzuvKPw2Obxa7pn4XwS8rzq/3eNn9m3J+dlAAEEOjuB7XrQrXu1bNeT5DzTNr6sue51
261i4SzkPcwOborYk/3KLTnA2uPeBzap4d0WjOUfW25LeocX+qGy9h+rwe0T8z3CFOHmX9GQAAha6ua
262B95ti+N9rsbHE8MuQ4nqvM7XDtq4bvH4qUbBdBaGNWyGn0Vmnc9qnSBxtEdwyb3grBvOJ+nzWMci
263w3aYpbbY9bj/JeR7cWOf4+ykRlt8CiCAwF4BpM4VtG2K40kqZKZ7vL+3W4ads1Dv6uaqgzauW4BM
2640gl/m/WvioO5XXqw6u5H8bNxsuX+dlqzICulPeLn5NuOIX2aPlt1ji+XHQSQuhdR5jsEsuPMw0d1
265LF/V3Ce+7HCemu/4/SCAwB3qXDmapBP5WSqQJzcO6Mfp//ctiKsivLqyf9vr/NjjdRYdtfHFnutf
266hYvpjfWfp4LxWzAhcuj26a17mz4nxzcK6Wn6XJ1t/P/Q22OaPjO3tcfNwvQ0fbYOO/7cd/Ua89QO
267pzeOH5P099ON/x9qKK229Y+0X8xv2d6zjXONIa4U7+Dq6korDGFDHhyUvgrHoYwhF01brZdHHb3W
268POw+5KGX3bmj19n14PcubHcVvwnb9jptFj3POnhfk1QA5V78POsw2P8IzV2Jjr0Vy9DsLayfhG5u
269wdtkO7Sli8/wLH1+sw5J69rvWYAe6QEhFxfWu3XnYXgPI6NblyP+rN7lY8MBb9Zg+FiE7p7/8cGu
2708L82X2kGEEAowyp0d8UyJx8G/noMzztN8Iv3GQf7Nx2+1nlwgcNnBAQQHLSzdx66v1L2Prg6x/4X
271C95rhv+JRferTI+ny47bQeHd37EdBBCoaRHG1QvSx8k6Fglv7Go0sO8qsH66SEVnLmLwOOnhdd93
272HHpy9koTgABCWQftrrvx+xg20GcBdxFcwWb/z8wLzfCLN5kU3/G40ucE4xfBUKxoEfQIgQBCMVah
2732ytHl+lkfd7ha8bXOsmgWDq3u7GHZXCV97ZjSZ8hZJVBAKgCkBByfZx3nAUBhEJcdFTYbBYMrzo6
274UZxnVLS1vc653zFJgVTG/rwoMIT0UXTG41hXt9zd5r20HUJKKey7OLc4liGAQIMnlzZPYMvw+9XK
275eKJoc2jS+5DfFeP4ftoYJlAVYp8zLjYvMn5vu7bbx54/q7HwXbV4HNjVqsf2qCald9kT8S5tg5wK
2760TYDURV8VzXeU1/H2Tct/m7zbihPfBChpfxlwOJ98eMDCq8aXE7C/Q9Si09l/tHg65XwhPD43IEv
277Da7v5nMMdmnLo473rX+2fF99PMDx2w7tnctn9aShfShul/nG797lGHCW2fHrZIf9bNflS2jumSFt
278arINTjZ+73zH49KQjrM/Ns4ru/7OL+omS+91q0YQQAoxTUXIjz0KmtOw25N65zsUgbctnzouqJsw
279S++77glxfsdJd5vi47SnguChbdxXQTvZorD4FvJ7Kvk+n9Xqczq5pS22+Szm2B6bx5NPoZlwdlbA
280RY27wljdY/jZHcfvsy3b7DCz4+xZzVD245aLaAKIpbjlYCTF6+AdHByMaXUP0/L4gZPKar18D/s/
281DXiaThjx69MHXu/vjdcreVzu5hOZnzbQxtN7iqb4O+LwhD7ni8Ti8PmNk3p8Xx9D/3MQjtJ72yy+
2824r4Vh2mdF/BZnaXP6l3h/3JjH3qorWPh9fqWkBF/R3zI5vsCPneTG+1S/f2u4FQdS76G4dyqfJv9
283IqR1XqZ1vm+7Hqf94rbfdZ6OL7nuF7O0/LXFZ+TijuPstx0D1mJd+z0L0GfdKoAIINBD8bVZ5K80
284CzWKtl8KKk3CLUFuLPvFroXcxbr2cxttevWHJhjI0UeQpAyXisXmjPjCg32I24xxMva0xs98t6vQ
285N3fBAgAo06zGz7htLwIIAAC1vKzxM27bS+/MAQEo9QBu7heMWbxBxSe1HyXSAwIAUJZZqHeL8AtN
286Rw5MQgcA6D5ATNNS3Wp5scXPxTt9xVsOz2u+7mdNTw50wwGUegA3BAtKcxJuf5ZNZRXuvjX5bM/X
287jr/3UfyD2o++6QEBAGjfabh+aOJ9pqHerXW38dEmIBd6QABKPYDrAYFSxKFT33p8/VVIvR+R2o++
288mYQOANCuo55f/5VNgAACADAej3t87XdhuwnuIIAAAAxEX08fPw/XE99BAAEAGJHvPYUPQ6/Ikkno
289AKUewE1Ch1LE2+7+CHfffrdpb9bL+7v+U+1H3/SAAAC06zKFgrYt1suT+8IH5MBzQAAA2neevp61
290FDw+brwGZM0QLIBSD+CGYEGJZuH6aejx6z5Dslbr5SIFj+UuP6j2QwABQACBcZqmZZb+/le4+0no
291MWT8G657O+Kfa99ZS+2HAAIAAIyGSegAAIAAAgAACCAAAAACCAAAIIAAAAAIIAAAgAACAAAIIAAA
292AAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAAAgAACCAAAAACCAAAIIAAAAAI
293IAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAAAgAAIIAA
294AAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCAAAAAAggAACCAAAAA
295CCAAAIAAAgAAIIAAAAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCA
296AAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAggAAAAAIIAACAAAIA
297AAggAACAAAIAACCAAAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAg
298gAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAEBt/y/AAEmyIDWRykGwAAAAAElFTkSuQmCC">
299</image>
300</svg>
diff --git a/app/Resources/static/themes/_global/index.js b/app/Resources/static/themes/_global/index.js
index fddb476d..ae598e56 100644
--- a/app/Resources/static/themes/_global/index.js
+++ b/app/Resources/static/themes/_global/index.js
@@ -13,8 +13,10 @@ import './global.scss';
13import './js/shortcuts/entry'; 13import './js/shortcuts/entry';
14import './js/shortcuts/main'; 14import './js/shortcuts/main';
15 15
16import { savePercent, retrievePercent } from './js/tools'; 16/* Hightlight */
17import './js/highlight';
17 18
19import { savePercent, retrievePercent } from './js/tools';
18 20
19/* ========================================================================== 21/* ==========================================================================
20 Annotations & Remember position 22 Annotations & Remember position
@@ -65,7 +67,7 @@ $(document).ready(() => {
65 retrievePercent(x.entryId); 67 retrievePercent(x.entryId);
66 68
67 $(window).resize(() => { 69 $(window).resize(() => {
68 retrievePercent(x.entryId); 70 retrievePercent(x.entryId, true);
69 }); 71 });
70 } 72 }
71}); 73});
diff --git a/app/Resources/static/themes/_global/js/highlight.js b/app/Resources/static/themes/_global/js/highlight.js
new file mode 100644
index 00000000..4025fc14
--- /dev/null
+++ b/app/Resources/static/themes/_global/js/highlight.js
@@ -0,0 +1,8 @@
1import 'highlight.js/styles/atom-one-light.css';
2import * as hljs from 'highlight.js';
3
4window.addEventListener('load', () => {
5 document.querySelectorAll('pre').forEach((node) => {
6 hljs.highlightBlock(node);
7 });
8});
diff --git a/app/Resources/static/themes/_global/js/tools.js b/app/Resources/static/themes/_global/js/tools.js
index 774f4539..7e5a2b27 100644
--- a/app/Resources/static/themes/_global/js/tools.js
+++ b/app/Resources/static/themes/_global/js/tools.js
@@ -19,14 +19,16 @@ function savePercent(id, percent) {
19 return true; 19 return true;
20} 20}
21 21
22function retrievePercent(id) { 22function retrievePercent(id, resized) {
23 if (!supportsLocalStorage()) { return false; } 23 if (!supportsLocalStorage()) { return false; }
24 24
25 const bheight = $(document).height(); 25 const bheight = $(document).height();
26 const percent = localStorage[`wallabag.article.${id}.percent`]; 26 const percent = localStorage[`wallabag.article.${id}.percent`];
27 const scroll = bheight * percent; 27 const scroll = bheight * percent;
28 28
29 $('html,body').animate({ scrollTop: scroll }, 'fast'); 29 if (!resized) {
30 $('html,body').animate({ scrollTop: scroll }, 'fast');
31 }
30 32
31 return true; 33 return true;
32} 34}
diff --git a/app/Resources/static/themes/_global/share.scss b/app/Resources/static/themes/_global/share.scss
index 72e73a9a..ac26a350 100644
--- a/app/Resources/static/themes/_global/share.scss
+++ b/app/Resources/static/themes/_global/share.scss
@@ -221,6 +221,12 @@ ol li:last-child {
221 padding-bottom: 0; 221 padding-bottom: 0;
222} 222}
223 223
224iframe,
225video {
226 max-width: 100%;
227 height: auto;
228}
229
224mark { 230mark {
225 padding: 0 0.2em; 231 padding: 0 0.2em;
226} 232}
diff --git a/app/Resources/static/themes/material/css/article.scss b/app/Resources/static/themes/material/css/article.scss
index 2d4ef4b4..75658a58 100644
--- a/app/Resources/static/themes/material/css/article.scss
+++ b/app/Resources/static/themes/material/css/article.scss
@@ -11,6 +11,7 @@
11 color: #424242; 11 color: #424242;
12 font-size: 18px; 12 font-size: 18px;
13 line-height: 1.7em; 13 line-height: 1.7em;
14 overflow-wrap: break-word;
14 15
15 h1, 16 h1,
16 h2, 17 h2,
diff --git a/app/Resources/static/themes/material/css/layout.scss b/app/Resources/static/themes/material/css/layout.scss
index cfdbf2b3..56c805ef 100755
--- a/app/Resources/static/themes/material/css/layout.scss
+++ b/app/Resources/static/themes/material/css/layout.scss
@@ -24,6 +24,10 @@ main,
24 height: 100%; 24 height: 100%;
25} 25}
26 26
27.typo-logo {
28 max-width: 150px;
29}
30
27#main { 31#main {
28 flex: 1 0 auto; 32 flex: 1 0 auto;
29 33
diff --git a/app/Resources/static/themes/material/css/media_queries.scss b/app/Resources/static/themes/material/css/media_queries.scss
index 69e3d47d..72584426 100644
--- a/app/Resources/static/themes/material/css/media_queries.scss
+++ b/app/Resources/static/themes/material/css/media_queries.scss
@@ -22,6 +22,16 @@
22 padding-left: 0; 22 padding-left: 0;
23 } 23 }
24 24
25 table {
26 display: block;
27 overflow: auto;
28 }
29
30 iframe {
31 max-width: 100%;
32 height: auto;
33 }
34
25 .nav-panels .action { 35 .nav-panels .action {
26 padding-right: 0.75rem; 36 padding-right: 0.75rem;
27 } 37 }
diff --git a/app/config/config.yml b/app/config/config.yml
index 04d757c1..0c2b6a1d 100644
--- a/app/config/config.yml
+++ b/app/config/config.yml
@@ -26,7 +26,6 @@ framework:
26 engines: ['twig'] 26 engines: ['twig']
27 default_locale: "%locale%" 27 default_locale: "%locale%"
28 trusted_hosts: ~ 28 trusted_hosts: ~
29 trusted_proxies: ~
30 session: 29 session:
31 # handler_id set to null will use default session handler from php.ini 30 # handler_id set to null will use default session handler from php.ini
32 handler_id: session.handler.native_file 31 handler_id: session.handler.native_file
diff --git a/app/config/security.yml b/app/config/security.yml
index 796dc361..02afc9ea 100644
--- a/app/config/security.yml
+++ b/app/config/security.yml
@@ -12,7 +12,7 @@ security:
12 class: WallabagUserBundle:User 12 class: WallabagUserBundle:User
13 property: username 13 property: username
14 fos_userbundle: 14 fos_userbundle:
15 id: fos_user.user_provider.username 15 id: fos_user.user_provider.username_email
16 16
17 # the main part of the security, where you can set up firewalls 17 # the main part of the security, where you can set up firewalls
18 # for specific sections of your app 18 # for specific sections of your app
diff --git a/app/config/wallabag.yml b/app/config/wallabag.yml
index b155d159..d2476959 100644
--- a/app/config/wallabag.yml
+++ b/app/config/wallabag.yml
@@ -1,5 +1,5 @@
1wallabag_core: 1wallabag_core:
2 version: 2.3.2 2 version: 2.3.3
3 paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb" 3 paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
4 languages: 4 languages:
5 en: 'English' 5 en: 'English'
diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile
index 1fb1f298..d0266ec7 100644
--- a/docker/php/Dockerfile
+++ b/docker/php/Dockerfile
@@ -4,10 +4,10 @@ FROM php:fpm
4ARG timezone='Europe/Paris' 4ARG timezone='Europe/Paris'
5 5
6RUN apt-get update && apt-get install -y \ 6RUN apt-get update && apt-get install -y \
7 libmcrypt-dev libicu-dev libpq-dev libxml2-dev libpng12-dev libjpeg-dev \ 7 libmcrypt-dev libicu-dev libpq-dev libxml2-dev libpng-dev libjpeg-dev \
8 && /usr/local/bin/docker-php-ext-configure gd --with-jpeg-dir=/usr/include \ 8 && /usr/local/bin/docker-php-ext-configure gd --with-jpeg-dir=/usr/include \
9 && docker-php-ext-install \ 9 && docker-php-ext-install \
10 iconv mcrypt mbstring intl pdo pdo_mysql pdo_pgsql gd 10 iconv mbstring intl pdo pdo_mysql pdo_pgsql gd
11 11
12RUN echo "date.timezone="$timezone > /usr/local/etc/php/conf.d/date_timezone.ini 12RUN echo "date.timezone="$timezone > /usr/local/etc/php/conf.d/date_timezone.ini
13 13
diff --git a/package.json b/package.json
index e6659bd3..ac894e79 100644
--- a/package.json
+++ b/package.json
@@ -1,13 +1,13 @@
1{ 1{
2 "name": "wallabag", 2 "name": "wallabag",
3 "version": "2.2.2", 3 "version": "2.3.3",
4 "description": "wallabag is a self hostable application for saving web pages", 4 "description": "wallabag is a self hostable application for saving web pages",
5 "private": true, 5 "private": true,
6 "directories": { 6 "directories": {
7 "doc": "docs" 7 "doc": "docs"
8 }, 8 },
9 "engines": { 9 "engines": {
10 "node": ">4.8" 10 "node": ">=6.10"
11 }, 11 },
12 "repository": { 12 "repository": {
13 "type": "git", 13 "type": "git",
@@ -65,6 +65,7 @@
65 "dependencies": { 65 "dependencies": {
66 "annotator": "git://github.com/wallabag/annotator.git#0f076c7d371ed25eb0793346f46982d90f2c4c85", 66 "annotator": "git://github.com/wallabag/annotator.git#0f076c7d371ed25eb0793346f46982d90f2c4c85",
67 "hammerjs": "^2.0.8", 67 "hammerjs": "^2.0.8",
68 "highlight.js": "^9.12.0",
68 "icomoon-free-npm": "^0.0.0", 69 "icomoon-free-npm": "^0.0.0",
69 "jquery": "^2.1.4", 70 "jquery": "^2.1.4",
70 "jquery.cookie": "^1.4.1", 71 "jquery.cookie": "^1.4.1",
diff --git a/scripts/dev.sh b/scripts/dev.sh
index 0703ced1..0703ced1 100644..100755
--- a/scripts/dev.sh
+++ b/scripts/dev.sh
diff --git a/scripts/install.sh b/scripts/install.sh
index 62a46f4f..62a46f4f 100644..100755
--- a/scripts/install.sh
+++ b/scripts/install.sh
diff --git a/scripts/release.sh b/scripts/release.sh
index bfb65684..6186a486 100644..100755
--- a/scripts/release.sh
+++ b/scripts/release.sh
@@ -1,6 +1,6 @@
1#! /usr/bin/env bash 1#! /usr/bin/env bash
2# You can execute this file to create a new package for wallabag 2# You can execute this file to create a new package for wallabag
3# eg: `sh release.sh master /tmp wllbg-release prod` 3# eg: `sh release.sh 2.3.3 /tmp wllbg-release prod`
4 4
5VERSION=$1 5VERSION=$1
6TMP_FOLDER=$2 6TMP_FOLDER=$2
@@ -10,11 +10,11 @@ ENV=$4
10rm -rf $TMP_FOLDER/$RELEASE_FOLDER 10rm -rf $TMP_FOLDER/$RELEASE_FOLDER
11mkdir $TMP_FOLDER/$RELEASE_FOLDER 11mkdir $TMP_FOLDER/$RELEASE_FOLDER
12git clone git@github.com:wallabag/wallabag.git -b $VERSION $TMP_FOLDER/$RELEASE_FOLDER/$VERSION 12git clone git@github.com:wallabag/wallabag.git -b $VERSION $TMP_FOLDER/$RELEASE_FOLDER/$VERSION
13cd $TMP_FOLDER/$RELEASE_FOLDER/$VERSION && SYMFONY_ENV=$ENV composer up -n --no-dev 13cd $TMP_FOLDER/$RELEASE_FOLDER/$VERSION && SYMFONY_ENV=$ENV COMPOSER_MEMORY_LIMIT=-1 composer up -n --no-dev
14cd $TMP_FOLDER/$RELEASE_FOLDER/$VERSION && php bin/console wallabag:install --env=$ENV 14cd $TMP_FOLDER/$RELEASE_FOLDER/$VERSION && php bin/console wallabag:install --env=$ENV
15cd $TMP_FOLDER/$RELEASE_FOLDER/$VERSION && php bin/console assets:install --env=$ENV --symlink --relative 15cd $TMP_FOLDER/$RELEASE_FOLDER/$VERSION && php bin/console assets:install --env=$ENV --symlink --relative
16cd $TMP_FOLDER/$RELEASE_FOLDER && tar czf wallabag-$VERSION.tar.gz --exclude="var/cache/*" --exclude="var/logs/*" --exclude="var/sessions/*" --exclude=".git" $VERSION 16cd $TMP_FOLDER/$RELEASE_FOLDER && tar czf wallabag-$VERSION.tar.gz --exclude="var/cache/*" --exclude="var/logs/*" --exclude="var/sessions/*" --exclude=".git" $VERSION
17echo "MD5 checksum of the package for wallabag $VERSION" 17echo "MD5 checksum of the package for wallabag $VERSION"
18md5 $TMP_FOLDER/$RELEASE_FOLDER/wallabag-$VERSION.tar.gz 18md5 $TMP_FOLDER/$RELEASE_FOLDER/wallabag-$VERSION.tar.gz
19scp $TMP_FOLDER/$RELEASE_FOLDER/wallabag-$VERSION.tar.gz framasoft_bag@78.46.248.87:/var/www/framabag.org/web 19echo "Package to upload to the release server:"
20rm -rf $TMP_FOLDER/$RELEASE_FOLDER 20echo $TMP_FOLDER/$RELEASE_FOLDER/wallabag-$VERSION.tar.gz
diff --git a/scripts/require.sh b/scripts/require.sh
index c48ab936..c48ab936 100644..100755
--- a/scripts/require.sh
+++ b/scripts/require.sh
diff --git a/scripts/update.sh b/scripts/update.sh
index d0598135..d0598135 100644..100755
--- a/scripts/update.sh
+++ b/scripts/update.sh
diff --git a/src/Wallabag/AnnotationBundle/Controller/WallabagAnnotationController.php b/src/Wallabag/AnnotationBundle/Controller/WallabagAnnotationController.php
index f3090e65..3a7421c7 100644
--- a/src/Wallabag/AnnotationBundle/Controller/WallabagAnnotationController.php
+++ b/src/Wallabag/AnnotationBundle/Controller/WallabagAnnotationController.php
@@ -28,7 +28,7 @@ class WallabagAnnotationController extends FOSRestController
28 ->getDoctrine() 28 ->getDoctrine()
29 ->getRepository('WallabagAnnotationBundle:Annotation') 29 ->getRepository('WallabagAnnotationBundle:Annotation')
30 ->findAnnotationsByPageId($entry->getId(), $this->getUser()->getId()); 30 ->findAnnotationsByPageId($entry->getId(), $this->getUser()->getId());
31 $total = count($annotationRows); 31 $total = \count($annotationRows);
32 $annotations = ['total' => $total, 'rows' => $annotationRows]; 32 $annotations = ['total' => $total, 'rows' => $annotationRows];
33 33
34 $json = $this->get('jms_serializer')->serialize($annotations, 'json'); 34 $json = $this->get('jms_serializer')->serialize($annotations, 'json');
diff --git a/src/Wallabag/AnnotationBundle/Repository/AnnotationRepository.php b/src/Wallabag/AnnotationBundle/Repository/AnnotationRepository.php
index b44f7e64..0de5c934 100644
--- a/src/Wallabag/AnnotationBundle/Repository/AnnotationRepository.php
+++ b/src/Wallabag/AnnotationBundle/Repository/AnnotationRepository.php
@@ -21,7 +21,7 @@ class AnnotationRepository extends EntityRepository
21 public function getBuilderForAllByUser($userId) 21 public function getBuilderForAllByUser($userId)
22 { 22 {
23 return $this 23 return $this
24 ->getBuilderByUser($userId) 24 ->getSortedQueryBuilderByUser($userId)
25 ; 25 ;
26 } 26 }
27 27
@@ -133,7 +133,7 @@ class AnnotationRepository extends EntityRepository
133 * 133 *
134 * @return QueryBuilder 134 * @return QueryBuilder
135 */ 135 */
136 private function getBuilderByUser($userId) 136 private function getSortedQueryBuilderByUser($userId)
137 { 137 {
138 return $this->createQueryBuilder('a') 138 return $this->createQueryBuilder('a')
139 ->leftJoin('a.user', 'u') 139 ->leftJoin('a.user', 'u')
diff --git a/src/Wallabag/ApiBundle/Controller/EntryRestController.php b/src/Wallabag/ApiBundle/Controller/EntryRestController.php
index fc47c479..0b4e74a0 100644
--- a/src/Wallabag/ApiBundle/Controller/EntryRestController.php
+++ b/src/Wallabag/ApiBundle/Controller/EntryRestController.php
@@ -102,7 +102,7 @@ class EntryRestController extends WallabagRestController
102 $order = $request->query->get('order', 'desc'); 102 $order = $request->query->get('order', 'desc');
103 $page = (int) $request->query->get('page', 1); 103 $page = (int) $request->query->get('page', 1);
104 $perPage = (int) $request->query->get('perPage', 30); 104 $perPage = (int) $request->query->get('perPage', 30);
105 $tags = is_array($request->query->get('tags')) ? '' : (string) $request->query->get('tags', ''); 105 $tags = \is_array($request->query->get('tags')) ? '' : (string) $request->query->get('tags', '');
106 $since = $request->query->get('since', 0); 106 $since = $request->query->get('since', 0);
107 107
108 /** @var \Pagerfanta\Pagerfanta $pager */ 108 /** @var \Pagerfanta\Pagerfanta $pager */
@@ -253,7 +253,7 @@ class EntryRestController extends WallabagRestController
253 253
254 $limit = $this->container->getParameter('wallabag_core.api_limit_mass_actions'); 254 $limit = $this->container->getParameter('wallabag_core.api_limit_mass_actions');
255 255
256 if (count($urls) > $limit) { 256 if (\count($urls) > $limit) {
257 throw new HttpException(400, 'API limit reached'); 257 throw new HttpException(400, 'API limit reached');
258 } 258 }
259 259
@@ -347,7 +347,7 @@ class EntryRestController extends WallabagRestController
347 'open_graph' => [ 347 'open_graph' => [
348 'og_image' => !empty($data['picture']) ? $data['picture'] : $entry->getPreviewPicture(), 348 'og_image' => !empty($data['picture']) ? $data['picture'] : $entry->getPreviewPicture(),
349 ], 349 ],
350 'authors' => is_string($data['authors']) ? explode(',', $data['authors']) : $entry->getPublishedBy(), 350 'authors' => \is_string($data['authors']) ? explode(',', $data['authors']) : $entry->getPublishedBy(),
351 ] 351 ]
352 ); 352 );
353 } catch (\Exception $e) { 353 } catch (\Exception $e) {
@@ -461,7 +461,7 @@ class EntryRestController extends WallabagRestController
461 $contentProxy->updateLanguage($entry, $data['language']); 461 $contentProxy->updateLanguage($entry, $data['language']);
462 } 462 }
463 463
464 if (!empty($data['authors']) && is_string($data['authors'])) { 464 if (!empty($data['authors']) && \is_string($data['authors'])) {
465 $entry->setPublishedBy(explode(',', $data['authors'])); 465 $entry->setPublishedBy(explode(',', $data['authors']));
466 } 466 }
467 467
diff --git a/src/Wallabag/ApiBundle/Controller/TagRestController.php b/src/Wallabag/ApiBundle/Controller/TagRestController.php
index 9d333fe4..c6d6df6a 100644
--- a/src/Wallabag/ApiBundle/Controller/TagRestController.php
+++ b/src/Wallabag/ApiBundle/Controller/TagRestController.php
@@ -138,14 +138,14 @@ class TagRestController extends WallabagRestController
138 */ 138 */
139 private function cleanOrphanTag($tags) 139 private function cleanOrphanTag($tags)
140 { 140 {
141 if (!is_array($tags)) { 141 if (!\is_array($tags)) {
142 $tags = [$tags]; 142 $tags = [$tags];
143 } 143 }
144 144
145 $em = $this->getDoctrine()->getManager(); 145 $em = $this->getDoctrine()->getManager();
146 146
147 foreach ($tags as $tag) { 147 foreach ($tags as $tag) {
148 if (0 === count($tag->getEntries())) { 148 if (0 === \count($tag->getEntries())) {
149 $em->remove($tag); 149 $em->remove($tag);
150 } 150 }
151 } 151 }
diff --git a/src/Wallabag/CoreBundle/Command/CleanDuplicatesCommand.php b/src/Wallabag/CoreBundle/Command/CleanDuplicatesCommand.php
index b58909db..99170967 100644
--- a/src/Wallabag/CoreBundle/Command/CleanDuplicatesCommand.php
+++ b/src/Wallabag/CoreBundle/Command/CleanDuplicatesCommand.php
@@ -51,7 +51,7 @@ class CleanDuplicatesCommand extends ContainerAwareCommand
51 } else { 51 } else {
52 $users = $this->getContainer()->get('wallabag_user.user_repository')->findAll(); 52 $users = $this->getContainer()->get('wallabag_user.user_repository')->findAll();
53 53
54 $this->io->text(sprintf('Cleaning through <info>%d</info> user accounts', count($users))); 54 $this->io->text(sprintf('Cleaning through <info>%d</info> user accounts', \count($users)));
55 55
56 foreach ($users as $user) { 56 foreach ($users as $user) {
57 $this->io->text(sprintf('Processing user <info>%s</info>', $user->getUsername())); 57 $this->io->text(sprintf('Processing user <info>%s</info>', $user->getUsername()));
@@ -79,7 +79,7 @@ class CleanDuplicatesCommand extends ContainerAwareCommand
79 $url = $this->similarUrl($entry['url']); 79 $url = $this->similarUrl($entry['url']);
80 80
81 /* @var $entry Entry */ 81 /* @var $entry Entry */
82 if (in_array($url, $urls, true)) { 82 if (\in_array($url, $urls, true)) {
83 ++$duplicatesCount; 83 ++$duplicatesCount;
84 84
85 $em->remove($repo->find($entry['id'])); 85 $em->remove($repo->find($entry['id']));
@@ -96,8 +96,8 @@ class CleanDuplicatesCommand extends ContainerAwareCommand
96 96
97 private function similarUrl($url) 97 private function similarUrl($url)
98 { 98 {
99 if (in_array(substr($url, -1), ['/', '#'], true)) { // get rid of "/" and "#" and the end of urls 99 if (\in_array(substr($url, -1), ['/', '#'], true)) { // get rid of "/" and "#" and the end of urls
100 return substr($url, 0, strlen($url)); 100 return substr($url, 0, \strlen($url));
101 } 101 }
102 102
103 return $url; 103 return $url;
diff --git a/src/Wallabag/CoreBundle/Command/ExportCommand.php b/src/Wallabag/CoreBundle/Command/ExportCommand.php
index 75e9ad91..128f9d65 100644
--- a/src/Wallabag/CoreBundle/Command/ExportCommand.php
+++ b/src/Wallabag/CoreBundle/Command/ExportCommand.php
@@ -47,7 +47,7 @@ class ExportCommand extends ContainerAwareCommand
47 ->getQuery() 47 ->getQuery()
48 ->getResult(); 48 ->getResult();
49 49
50 $io->text(sprintf('Exporting <info>%d</info> entrie(s) for user <info>%s</info>...', count($entries), $user->getUserName())); 50 $io->text(sprintf('Exporting <info>%d</info> entrie(s) for user <info>%s</info>...', \count($entries), $user->getUserName()));
51 51
52 $filePath = $input->getArgument('filepath'); 52 $filePath = $input->getArgument('filepath');
53 53
diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php
index a56a3257..3c76545c 100644
--- a/src/Wallabag/CoreBundle/Command/InstallCommand.php
+++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php
@@ -81,7 +81,7 @@ class InstallCommand extends ContainerAwareCommand
81 $status = '<info>OK!</info>'; 81 $status = '<info>OK!</info>';
82 $help = ''; 82 $help = '';
83 83
84 if (!extension_loaded($this->getContainer()->getParameter('database_driver'))) { 84 if (!\extension_loaded($this->getContainer()->getParameter('database_driver'))) {
85 $fulfilled = false; 85 $fulfilled = false;
86 $status = '<error>ERROR!</error>'; 86 $status = '<error>ERROR!</error>';
87 $help = 'Database driver "' . $this->getContainer()->getParameter('database_driver') . '" is not installed.'; 87 $help = 'Database driver "' . $this->getContainer()->getParameter('database_driver') . '" is not installed.';
@@ -146,7 +146,7 @@ class InstallCommand extends ContainerAwareCommand
146 $status = '<info>OK!</info>'; 146 $status = '<info>OK!</info>';
147 $help = ''; 147 $help = '';
148 148
149 if (!function_exists($functionRequired)) { 149 if (!\function_exists($functionRequired)) {
150 $fulfilled = false; 150 $fulfilled = false;
151 $status = '<error>ERROR!</error>'; 151 $status = '<error>ERROR!</error>';
152 $help = 'You need the ' . $functionRequired . ' function activated'; 152 $help = 'You need the ' . $functionRequired . ' function activated';
@@ -371,7 +371,7 @@ class InstallCommand extends ContainerAwareCommand
371 } 371 }
372 372
373 try { 373 try {
374 return in_array($databaseName, $schemaManager->listDatabases(), true); 374 return \in_array($databaseName, $schemaManager->listDatabases(), true);
375 } catch (\Doctrine\DBAL\Exception\DriverException $e) { 375 } catch (\Doctrine\DBAL\Exception\DriverException $e) {
376 // it means we weren't able to get database list, assume the database doesn't exist 376 // it means we weren't able to get database list, assume the database doesn't exist
377 377
@@ -389,6 +389,6 @@ class InstallCommand extends ContainerAwareCommand
389 { 389 {
390 $schemaManager = $this->getContainer()->get('doctrine')->getManager()->getConnection()->getSchemaManager(); 390 $schemaManager = $this->getContainer()->get('doctrine')->getManager()->getConnection()->getSchemaManager();
391 391
392 return count($schemaManager->listTableNames()) > 0 ? true : false; 392 return \count($schemaManager->listTableNames()) > 0 ? true : false;
393 } 393 }
394} 394}
diff --git a/src/Wallabag/CoreBundle/Command/ListUserCommand.php b/src/Wallabag/CoreBundle/Command/ListUserCommand.php
index 68e515da..a7101a02 100644
--- a/src/Wallabag/CoreBundle/Command/ListUserCommand.php
+++ b/src/Wallabag/CoreBundle/Command/ListUserCommand.php
@@ -50,7 +50,7 @@ class ListUserCommand extends ContainerAwareCommand
50 $io->success( 50 $io->success(
51 sprintf( 51 sprintf(
52 '%s/%s%s user(s) displayed.', 52 '%s/%s%s user(s) displayed.',
53 count($users), 53 \count($users),
54 $nbUsers, 54 $nbUsers,
55 null === $input->getArgument('search') ? '' : ' (filtered)' 55 null === $input->getArgument('search') ? '' : ' (filtered)'
56 ) 56 )
diff --git a/src/Wallabag/CoreBundle/Command/ReloadEntryCommand.php b/src/Wallabag/CoreBundle/Command/ReloadEntryCommand.php
index 91998841..10918872 100644
--- a/src/Wallabag/CoreBundle/Command/ReloadEntryCommand.php
+++ b/src/Wallabag/CoreBundle/Command/ReloadEntryCommand.php
@@ -43,7 +43,7 @@ class ReloadEntryCommand extends ContainerAwareCommand
43 $entryRepository = $this->getContainer()->get('wallabag_core.entry_repository'); 43 $entryRepository = $this->getContainer()->get('wallabag_core.entry_repository');
44 $entryIds = $entryRepository->findAllEntriesIdByUserId($userId); 44 $entryIds = $entryRepository->findAllEntriesIdByUserId($userId);
45 45
46 $nbEntries = count($entryIds); 46 $nbEntries = \count($entryIds);
47 if (!$nbEntries) { 47 if (!$nbEntries) {
48 $io->success('No entry to reload.'); 48 $io->success('No entry to reload.');
49 49
diff --git a/src/Wallabag/CoreBundle/Controller/ConfigController.php b/src/Wallabag/CoreBundle/Controller/ConfigController.php
index a89bb780..b999c539 100644
--- a/src/Wallabag/CoreBundle/Controller/ConfigController.php
+++ b/src/Wallabag/CoreBundle/Controller/ConfigController.php
@@ -348,7 +348,7 @@ class ConfigController extends Controller
348 $em = $this->getDoctrine()->getManager(); 348 $em = $this->getDoctrine()->getManager();
349 349
350 foreach ($tags as $tag) { 350 foreach ($tags as $tag) {
351 if (0 === count($tag->getEntries())) { 351 if (0 === \count($tag->getEntries())) {
352 $em->remove($tag); 352 $em->remove($tag);
353 } 353 }
354 } 354 }
diff --git a/src/Wallabag/CoreBundle/Controller/RssController.php b/src/Wallabag/CoreBundle/Controller/RssController.php
index e84044b1..848bb814 100644
--- a/src/Wallabag/CoreBundle/Controller/RssController.php
+++ b/src/Wallabag/CoreBundle/Controller/RssController.php
@@ -12,7 +12,6 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
12use Symfony\Component\HttpFoundation\Request; 12use Symfony\Component\HttpFoundation\Request;
13use Symfony\Component\HttpFoundation\Response; 13use Symfony\Component\HttpFoundation\Response;
14use Symfony\Component\Routing\Generator\UrlGeneratorInterface; 14use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
15use Wallabag\CoreBundle\Entity\Entry;
16use Wallabag\CoreBundle\Entity\Tag; 15use Wallabag\CoreBundle\Entity\Tag;
17use Wallabag\UserBundle\Entity\User; 16use Wallabag\UserBundle\Entity\User;
18 17
diff --git a/src/Wallabag/CoreBundle/Controller/TagController.php b/src/Wallabag/CoreBundle/Controller/TagController.php
index 616c37f2..b6d28e59 100644
--- a/src/Wallabag/CoreBundle/Controller/TagController.php
+++ b/src/Wallabag/CoreBundle/Controller/TagController.php
@@ -65,7 +65,7 @@ class TagController extends Controller
65 $em->flush(); 65 $em->flush();
66 66
67 // remove orphan tag in case no entries are associated to it 67 // remove orphan tag in case no entries are associated to it
68 if (0 === count($tag->getEntries())) { 68 if (0 === \count($tag->getEntries())) {
69 $em->remove($tag); 69 $em->remove($tag);
70 $em->flush(); 70 $em->flush();
71 } 71 }
diff --git a/src/Wallabag/CoreBundle/Doctrine/WallabagMigration.php b/src/Wallabag/CoreBundle/Doctrine/WallabagMigration.php
new file mode 100644
index 00000000..7aa2409a
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Doctrine/WallabagMigration.php
@@ -0,0 +1,49 @@
1<?php
2
3namespace Wallabag\CoreBundle\Doctrine;
4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9
10abstract class WallabagMigration extends AbstractMigration implements ContainerAwareInterface
11{
12 const UN_ESCAPED_TABLE = true;
13
14 /**
15 * @var ContainerInterface
16 */
17 protected $container;
18
19 // because there are declared as abstract in `AbstractMigration` we need to delarer here too
20 public function up(Schema $schema)
21 {
22 }
23
24 public function down(Schema $schema)
25 {
26 }
27
28 public function setContainer(ContainerInterface $container = null)
29 {
30 $this->container = $container;
31 }
32
33 protected function getTable($tableName, $unEscaped = false)
34 {
35 $table = $this->container->getParameter('database_table_prefix') . $tableName;
36
37 if (self::UN_ESCAPED_TABLE === $unEscaped) {
38 return $table;
39 }
40
41 // escape table name is handled using " on postgresql
42 if ('postgresql' === $this->connection->getDatabasePlatform()->getName()) {
43 return '"' . $table . '"';
44 }
45
46 // return escaped table
47 return '`' . $table . '`';
48 }
49}
diff --git a/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php b/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php
index 6f8c9e27..702c7f7a 100644
--- a/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php
+++ b/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php
@@ -33,7 +33,7 @@ class EntryFilterType extends AbstractType
33 33
34 $this->user = $tokenStorage->getToken() ? $tokenStorage->getToken()->getUser() : null; 34 $this->user = $tokenStorage->getToken() ? $tokenStorage->getToken()->getUser() : null;
35 35
36 if (null === $this->user || !is_object($this->user)) { 36 if (null === $this->user || !\is_object($this->user)) {
37 return; 37 return;
38 } 38 }
39 } 39 }
@@ -96,7 +96,7 @@ class EntryFilterType extends AbstractType
96 ->add('domainName', TextFilterType::class, [ 96 ->add('domainName', TextFilterType::class, [
97 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) { 97 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) {
98 $value = $values['value']; 98 $value = $values['value'];
99 if (strlen($value) <= 2 || empty($value)) { 99 if (\strlen($value) <= 2 || empty($value)) {
100 return; 100 return;
101 } 101 }
102 $expression = $filterQuery->getExpr()->like($field, $filterQuery->getExpr()->lower($filterQuery->getExpr()->literal('%' . $value . '%'))); 102 $expression = $filterQuery->getExpr()->like($field, $filterQuery->getExpr()->lower($filterQuery->getExpr()->literal('%' . $value . '%')));
diff --git a/src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php b/src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php
index 2c85da62..90e00c62 100644
--- a/src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php
+++ b/src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php
@@ -107,7 +107,7 @@ class GrabySiteConfigBuilder implements SiteConfigBuilder
107 */ 107 */
108 protected function processExtraFields($extraFieldsStrings) 108 protected function processExtraFields($extraFieldsStrings)
109 { 109 {
110 if (!is_array($extraFieldsStrings)) { 110 if (!\is_array($extraFieldsStrings)) {
111 return []; 111 return [];
112 } 112 }
113 113
diff --git a/src/Wallabag/CoreBundle/Helper/ContentProxy.php b/src/Wallabag/CoreBundle/Helper/ContentProxy.php
index fe795d42..d4ea608f 100644
--- a/src/Wallabag/CoreBundle/Helper/ContentProxy.php
+++ b/src/Wallabag/CoreBundle/Helper/ContentProxy.php
@@ -53,6 +53,7 @@ class ContentProxy
53 53
54 if ((empty($content) || false === $this->validateContent($content)) && false === $disableContentUpdate) { 54 if ((empty($content) || false === $this->validateContent($content)) && false === $disableContentUpdate) {
55 $fetchedContent = $this->graby->fetchContent($url); 55 $fetchedContent = $this->graby->fetchContent($url);
56 $fetchedContent['title'] = $this->sanitizeContentTitle($fetchedContent['title'], $fetchedContent['content_type']);
56 57
57 // when content is imported, we have information in $content 58 // when content is imported, we have information in $content
58 // in case fetching content goes bad, we'll keep the imported information instead of overriding them 59 // in case fetching content goes bad, we'll keep the imported information instead of overriding them
@@ -85,7 +86,7 @@ class ContentProxy
85 (new LocaleConstraint()) 86 (new LocaleConstraint())
86 ); 87 );
87 88
88 if (0 === count($errors)) { 89 if (0 === \count($errors)) {
89 $entry->setLanguage($value); 90 $entry->setLanguage($value);
90 91
91 return; 92 return;
@@ -107,7 +108,7 @@ class ContentProxy
107 (new UrlConstraint()) 108 (new UrlConstraint())
108 ); 109 );
109 110
110 if (0 === count($errors)) { 111 if (0 === \count($errors)) {
111 $entry->setPreviewPicture($value); 112 $entry->setPreviewPicture($value);
112 113
113 return; 114 return;
@@ -177,6 +178,59 @@ class ContentProxy
177 } 178 }
178 179
179 /** 180 /**
181 * Try to sanitize the title of the fetched content from wrong character encodings and invalid UTF-8 character.
182 *
183 * @param $title
184 * @param $contentType
185 *
186 * @return string
187 */
188 private function sanitizeContentTitle($title, $contentType)
189 {
190 if ('application/pdf' === $contentType) {
191 $title = $this->convertPdfEncodingToUTF8($title);
192 }
193
194 return $this->sanitizeUTF8Text($title);
195 }
196
197 /**
198 * If the title from the fetched content comes from a PDF, then its very possible that the character encoding is not
199 * UTF-8. This methods tries to identify the character encoding and translate the title to UTF-8.
200 *
201 * @param $title
202 *
203 * @return string (maybe contains invalid UTF-8 character)
204 */
205 private function convertPdfEncodingToUTF8($title)
206 {
207 // first try UTF-8 because its easier to detect its present/absence
208 foreach (['UTF-8', 'UTF-16BE', 'WINDOWS-1252'] as $encoding) {
209 if (mb_check_encoding($title, $encoding)) {
210 return mb_convert_encoding($title, 'UTF-8', $encoding);
211 }
212 }
213
214 return $title;
215 }
216
217 /**
218 * Remove invalid UTF-8 characters from the given string.
219 *
220 * @param string $rawText
221 *
222 * @return string
223 */
224 private function sanitizeUTF8Text($rawText)
225 {
226 if (mb_check_encoding($rawText, 'UTF-8')) {
227 return $rawText;
228 }
229
230 return iconv('UTF-8', 'UTF-8//IGNORE', $rawText);
231 }
232
233 /**
180 * Stock entry with fetched or imported content. 234 * Stock entry with fetched or imported content.
181 * Will fall back to OpenGraph data if available. 235 * Will fall back to OpenGraph data if available.
182 * 236 *
@@ -212,7 +266,7 @@ class ContentProxy
212 $entry->setHttpStatus($content['status']); 266 $entry->setHttpStatus($content['status']);
213 } 267 }
214 268
215 if (!empty($content['authors']) && is_array($content['authors'])) { 269 if (!empty($content['authors']) && \is_array($content['authors'])) {
216 $entry->setPublishedBy($content['authors']); 270 $entry->setPublishedBy($content['authors']);
217 } 271 }
218 272
@@ -233,7 +287,7 @@ class ContentProxy
233 } 287 }
234 288
235 // if content is an image, define it as a preview too 289 // if content is an image, define it as a preview too
236 if (!empty($content['content_type']) && in_array($this->mimeGuesser->guess($content['content_type']), ['jpeg', 'jpg', 'gif', 'png'], true)) { 290 if (!empty($content['content_type']) && \in_array($this->mimeGuesser->guess($content['content_type']), ['jpeg', 'jpg', 'gif', 'png'], true)) {
237 $this->updatePreviewPicture($entry, $content['url']); 291 $this->updatePreviewPicture($entry, $content['url']);
238 } 292 }
239 293
diff --git a/src/Wallabag/CoreBundle/Helper/CryptoProxy.php b/src/Wallabag/CoreBundle/Helper/CryptoProxy.php
index 7d8c9888..67d73915 100644
--- a/src/Wallabag/CoreBundle/Helper/CryptoProxy.php
+++ b/src/Wallabag/CoreBundle/Helper/CryptoProxy.php
@@ -81,6 +81,6 @@ class CryptoProxy
81 */ 81 */
82 private function mask($value) 82 private function mask($value)
83 { 83 {
84 return strlen($value) > 0 ? $value[0] . '*****' . $value[strlen($value) - 1] : 'Empty value'; 84 return \strlen($value) > 0 ? $value[0] . '*****' . $value[\strlen($value) - 1] : 'Empty value';
85 } 85 }
86} 86}
diff --git a/src/Wallabag/CoreBundle/Helper/DownloadImages.php b/src/Wallabag/CoreBundle/Helper/DownloadImages.php
index 252ba57c..cc3dcfce 100644
--- a/src/Wallabag/CoreBundle/Helper/DownloadImages.php
+++ b/src/Wallabag/CoreBundle/Helper/DownloadImages.php
@@ -42,14 +42,17 @@ class DownloadImages
42 public function processHtml($entryId, $html, $url) 42 public function processHtml($entryId, $html, $url)
43 { 43 {
44 $crawler = new Crawler($html); 44 $crawler = new Crawler($html);
45 $result = $crawler 45 $imagesCrawler = $crawler
46 ->filterXpath('//img') 46 ->filterXpath('//img');
47 $imagesUrls = $imagesCrawler
47 ->extract(['src']); 48 ->extract(['src']);
49 $imagesSrcsetUrls = $this->getSrcsetUrls($imagesCrawler);
50 $imagesUrls = array_unique(array_merge($imagesUrls, $imagesSrcsetUrls));
48 51
49 $relativePath = $this->getRelativePath($entryId); 52 $relativePath = $this->getRelativePath($entryId);
50 53
51 // download and save the image to the folder 54 // download and save the image to the folder
52 foreach ($result as $image) { 55 foreach ($imagesUrls as $image) {
53 $imagePath = $this->processSingleImage($entryId, $image, $url, $relativePath); 56 $imagePath = $this->processSingleImage($entryId, $image, $url, $relativePath);
54 57
55 if (false === $imagePath) { 58 if (false === $imagePath) {
@@ -82,6 +85,10 @@ class DownloadImages
82 */ 85 */
83 public function processSingleImage($entryId, $imagePath, $url, $relativePath = null) 86 public function processSingleImage($entryId, $imagePath, $url, $relativePath = null)
84 { 87 {
88 if (null === $imagePath) {
89 return false;
90 }
91
85 if (null === $relativePath) { 92 if (null === $relativePath) {
86 $relativePath = $this->getRelativePath($entryId); 93 $relativePath = $this->getRelativePath($entryId);
87 } 94 }
@@ -172,6 +179,38 @@ class DownloadImages
172 } 179 }
173 180
174 /** 181 /**
182 * Get images urls from the srcset image attribute.
183 *
184 * @param Crawler $imagesCrawler
185 *
186 * @return array An array of urls
187 */
188 private function getSrcsetUrls(Crawler $imagesCrawler)
189 {
190 $urls = [];
191 $iterator = $imagesCrawler
192 ->getIterator();
193 while ($iterator->valid()) {
194 $srcsetAttribute = $iterator->current()->getAttribute('srcset');
195 if ('' !== $srcsetAttribute) {
196 // Couldn't start with " OR ' OR a white space
197 // Could be one or more white space
198 // Must be one or more digits followed by w OR x
199 $pattern = "/(?:[^\"'\s]+\s*(?:\d+[wx])+)/";
200 preg_match_all($pattern, $srcsetAttribute, $matches);
201 $srcset = \call_user_func_array('array_merge', $matches);
202 $srcsetUrls = array_map(function ($src) {
203 return trim(explode(' ', $src, 2)[0]);
204 }, $srcset);
205 $urls = array_merge($srcsetUrls, $urls);
206 }
207 $iterator->next();
208 }
209
210 return $urls;
211 }
212
213 /**
175 * Setup base folder where all images are going to be saved. 214 * Setup base folder where all images are going to be saved.
176 */ 215 */
177 private function setFolder() 216 private function setFolder()
@@ -269,7 +308,7 @@ class DownloadImages
269 $this->logger->debug('DownloadImages: Checking extension (alternative)', ['ext' => $ext]); 308 $this->logger->debug('DownloadImages: Checking extension (alternative)', ['ext' => $ext]);
270 } 309 }
271 310
272 if (!in_array($ext, ['jpeg', 'jpg', 'gif', 'png'], true)) { 311 if (!\in_array($ext, ['jpeg', 'jpg', 'gif', 'png'], true)) {
273 $this->logger->error('DownloadImages: Processed image with not allowed extension. Skipping: ' . $imagePath); 312 $this->logger->error('DownloadImages: Processed image with not allowed extension. Skipping: ' . $imagePath);
274 313
275 return false; 314 return false;
diff --git a/src/Wallabag/CoreBundle/Helper/EntriesExport.php b/src/Wallabag/CoreBundle/Helper/EntriesExport.php
index 136f66f5..cbf1037b 100644
--- a/src/Wallabag/CoreBundle/Helper/EntriesExport.php
+++ b/src/Wallabag/CoreBundle/Helper/EntriesExport.php
@@ -45,7 +45,7 @@ class EntriesExport
45 */ 45 */
46 public function setEntries($entries) 46 public function setEntries($entries)
47 { 47 {
48 if (!is_array($entries)) { 48 if (!\is_array($entries)) {
49 $this->language = $entries->getLanguage(); 49 $this->language = $entries->getLanguage();
50 $entries = [$entries]; 50 $entries = [$entries];
51 } 51 }
@@ -325,7 +325,7 @@ class EntriesExport
325 { 325 {
326 $delimiter = ';'; 326 $delimiter = ';';
327 $enclosure = '"'; 327 $enclosure = '"';
328 $handle = fopen('php://memory', 'rb+'); 328 $handle = fopen('php://memory', 'b+r');
329 329
330 fputcsv($handle, ['Title', 'URL', 'Content', 'Tags', 'MIME Type', 'Language', 'Creation date'], $delimiter, $enclosure); 330 fputcsv($handle, ['Title', 'URL', 'Content', 'Tags', 'MIME Type', 'Language', 'Creation date'], $delimiter, $enclosure);
331 331
diff --git a/src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php b/src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php
index 49c1ea41..1c2c5093 100644
--- a/src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php
+++ b/src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php
@@ -31,7 +31,7 @@ class PreparePagerForEntries
31 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null; 31 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null;
32 } 32 }
33 33
34 if (null === $user || !is_object($user)) { 34 if (null === $user || !\is_object($user)) {
35 return; 35 return;
36 } 36 }
37 37
diff --git a/src/Wallabag/CoreBundle/Helper/Redirect.php b/src/Wallabag/CoreBundle/Helper/Redirect.php
index abc84d08..9d1a6345 100644
--- a/src/Wallabag/CoreBundle/Helper/Redirect.php
+++ b/src/Wallabag/CoreBundle/Helper/Redirect.php
@@ -31,7 +31,7 @@ class Redirect
31 { 31 {
32 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null; 32 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null;
33 33
34 if (null === $user || !is_object($user)) { 34 if (null === $user || !\is_object($user)) {
35 return $url; 35 return $url;
36 } 36 }
37 37
diff --git a/src/Wallabag/CoreBundle/Helper/TagsAssigner.php b/src/Wallabag/CoreBundle/Helper/TagsAssigner.php
index 0bfe5c57..e6b4989f 100644
--- a/src/Wallabag/CoreBundle/Helper/TagsAssigner.php
+++ b/src/Wallabag/CoreBundle/Helper/TagsAssigner.php
@@ -32,7 +32,7 @@ class TagsAssigner
32 { 32 {
33 $tagsEntities = []; 33 $tagsEntities = [];
34 34
35 if (!is_array($tags)) { 35 if (!\is_array($tags)) {
36 $tags = explode(',', $tags); 36 $tags = explode(',', $tags);
37 } 37 }
38 38
@@ -48,7 +48,7 @@ class TagsAssigner
48 $label = trim(mb_convert_case($label, MB_CASE_LOWER)); 48 $label = trim(mb_convert_case($label, MB_CASE_LOWER));
49 49
50 // avoid empty tag 50 // avoid empty tag
51 if (0 === strlen($label)) { 51 if (0 === \strlen($label)) {
52 continue; 52 continue;
53 } 53 }
54 54
diff --git a/src/Wallabag/CoreBundle/ParamConverter/UsernameRssTokenConverter.php b/src/Wallabag/CoreBundle/ParamConverter/UsernameRssTokenConverter.php
index 40b5673d..4a2fcab5 100644
--- a/src/Wallabag/CoreBundle/ParamConverter/UsernameRssTokenConverter.php
+++ b/src/Wallabag/CoreBundle/ParamConverter/UsernameRssTokenConverter.php
@@ -36,7 +36,7 @@ class UsernameRssTokenConverter implements ParamConverterInterface
36 { 36 {
37 // If there is no manager, this means that only Doctrine DBAL is configured 37 // If there is no manager, this means that only Doctrine DBAL is configured
38 // In this case we can do nothing and just return 38 // In this case we can do nothing and just return
39 if (null === $this->registry || !count($this->registry->getManagers())) { 39 if (null === $this->registry || !\count($this->registry->getManagers())) {
40 return false; 40 return false;
41 } 41 }
42 42
diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php
index b5e35eff..83379998 100644
--- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php
+++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php
@@ -21,7 +21,7 @@ class EntryRepository extends EntityRepository
21 public function getBuilderForAllByUser($userId) 21 public function getBuilderForAllByUser($userId)
22 { 22 {
23 return $this 23 return $this
24 ->getBuilderByUser($userId) 24 ->getSortedQueryBuilderByUser($userId)
25 ; 25 ;
26 } 26 }
27 27
@@ -35,7 +35,7 @@ class EntryRepository extends EntityRepository
35 public function getBuilderForUnreadByUser($userId) 35 public function getBuilderForUnreadByUser($userId)
36 { 36 {
37 return $this 37 return $this
38 ->getBuilderByUser($userId) 38 ->getSortedQueryBuilderByUser($userId)
39 ->andWhere('e.isArchived = false') 39 ->andWhere('e.isArchived = false')
40 ; 40 ;
41 } 41 }
@@ -50,7 +50,7 @@ class EntryRepository extends EntityRepository
50 public function getBuilderForArchiveByUser($userId) 50 public function getBuilderForArchiveByUser($userId)
51 { 51 {
52 return $this 52 return $this
53 ->getBuilderByUser($userId) 53 ->getSortedQueryBuilderByUser($userId)
54 ->andWhere('e.isArchived = true') 54 ->andWhere('e.isArchived = true')
55 ; 55 ;
56 } 56 }
@@ -65,7 +65,7 @@ class EntryRepository extends EntityRepository
65 public function getBuilderForStarredByUser($userId) 65 public function getBuilderForStarredByUser($userId)
66 { 66 {
67 return $this 67 return $this
68 ->getBuilderByUser($userId, 'starredAt', 'desc') 68 ->getSortedQueryBuilderByUser($userId, 'starredAt', 'desc')
69 ->andWhere('e.isStarred = true') 69 ->andWhere('e.isStarred = true')
70 ; 70 ;
71 } 71 }
@@ -82,7 +82,7 @@ class EntryRepository extends EntityRepository
82 public function getBuilderForSearchByUser($userId, $term, $currentRoute) 82 public function getBuilderForSearchByUser($userId, $term, $currentRoute)
83 { 83 {
84 $qb = $this 84 $qb = $this
85 ->getBuilderByUser($userId); 85 ->getSortedQueryBuilderByUser($userId);
86 86
87 if ('starred' === $currentRoute) { 87 if ('starred' === $currentRoute) {
88 $qb->andWhere('e.isStarred = true'); 88 $qb->andWhere('e.isStarred = true');
@@ -102,7 +102,7 @@ class EntryRepository extends EntityRepository
102 } 102 }
103 103
104 /** 104 /**
105 * Retrieves untagged entries for a user. 105 * Retrieve a sorted list of untagged entries for a user.
106 * 106 *
107 * @param int $userId 107 * @param int $userId
108 * 108 *
@@ -111,8 +111,21 @@ class EntryRepository extends EntityRepository
111 public function getBuilderForUntaggedByUser($userId) 111 public function getBuilderForUntaggedByUser($userId)
112 { 112 {
113 return $this 113 return $this
114 ->getBuilderByUser($userId) 114 ->sortQueryBuilder($this->getRawBuilderForUntaggedByUser($userId));
115 ->andWhere('size(e.tags) = 0'); 115 }
116
117 /**
118 * Retrieve untagged entries for a user.
119 *
120 * @param int $userId
121 *
122 * @return QueryBuilder
123 */
124 public function getRawBuilderForUntaggedByUser($userId)
125 {
126 return $this->getQueryBuilderByUser($userId)
127 ->leftJoin('e.tags', 't')
128 ->andWhere('t.id is null');
116 } 129 }
117 130
118 /** 131 /**
@@ -151,7 +164,7 @@ class EntryRepository extends EntityRepository
151 $qb->andWhere('e.updatedAt > :since')->setParameter('since', new \DateTime(date('Y-m-d H:i:s', $since))); 164 $qb->andWhere('e.updatedAt > :since')->setParameter('since', new \DateTime(date('Y-m-d H:i:s', $since)));
152 } 165 }
153 166
154 if (is_string($tags) && '' !== $tags) { 167 if (\is_string($tags) && '' !== $tags) {
155 foreach (explode(',', $tags) as $i => $tag) { 168 foreach (explode(',', $tags) as $i => $tag) {
156 $entryAlias = 'e' . $i; 169 $entryAlias = 'e' . $i;
157 $tagAlias = 't' . $i; 170 $tagAlias = 't' . $i;
@@ -260,7 +273,7 @@ class EntryRepository extends EntityRepository
260 */ 273 */
261 public function removeTag($userId, Tag $tag) 274 public function removeTag($userId, Tag $tag)
262 { 275 {
263 $entries = $this->getBuilderByUser($userId) 276 $entries = $this->getSortedQueryBuilderByUser($userId)
264 ->innerJoin('e.tags', 't') 277 ->innerJoin('e.tags', 't')
265 ->andWhere('t.id = :tagId')->setParameter('tagId', $tag->getId()) 278 ->andWhere('t.id = :tagId')->setParameter('tagId', $tag->getId())
266 ->getQuery() 279 ->getQuery()
@@ -296,7 +309,7 @@ class EntryRepository extends EntityRepository
296 */ 309 */
297 public function findAllByTagId($userId, $tagId) 310 public function findAllByTagId($userId, $tagId)
298 { 311 {
299 return $this->getBuilderByUser($userId) 312 return $this->getSortedQueryBuilderByUser($userId)
300 ->innerJoin('e.tags', 't') 313 ->innerJoin('e.tags', 't')
301 ->andWhere('t.id = :tagId')->setParameter('tagId', $tagId) 314 ->andWhere('t.id = :tagId')->setParameter('tagId', $tagId)
302 ->getQuery() 315 ->getQuery()
@@ -320,7 +333,7 @@ class EntryRepository extends EntityRepository
320 ->getQuery() 333 ->getQuery()
321 ->getResult(); 334 ->getResult();
322 335
323 if (count($res)) { 336 if (\count($res)) {
324 return current($res); 337 return current($res);
325 } 338 }
326 339
@@ -414,7 +427,20 @@ class EntryRepository extends EntityRepository
414 } 427 }
415 428
416 /** 429 /**
417 * Return a query builder to used by other getBuilderFor* method. 430 * Return a query builder to be used by other getBuilderFor* method.
431 *
432 * @param int $userId
433 *
434 * @return QueryBuilder
435 */
436 private function getQueryBuilderByUser($userId)
437 {
438 return $this->createQueryBuilder('e')
439 ->andWhere('e.user = :userId')->setParameter('userId', $userId);
440 }
441
442 /**
443 * Return a sorted query builder to be used by other getBuilderFor* method.
418 * 444 *
419 * @param int $userId 445 * @param int $userId
420 * @param string $sortBy 446 * @param string $sortBy
@@ -422,10 +448,23 @@ class EntryRepository extends EntityRepository
422 * 448 *
423 * @return QueryBuilder 449 * @return QueryBuilder
424 */ 450 */
425 private function getBuilderByUser($userId, $sortBy = 'createdAt', $direction = 'desc') 451 private function getSortedQueryBuilderByUser($userId, $sortBy = 'createdAt', $direction = 'desc')
426 { 452 {
427 return $this->createQueryBuilder('e') 453 return $this->sortQueryBuilder($this->getQueryBuilderByUser($userId), $sortBy, $direction);
428 ->andWhere('e.user = :userId')->setParameter('userId', $userId) 454 }
455
456 /**
457 * Return the given QueryBuilder with an orderBy() call.
458 *
459 * @param QueryBuilder $qb
460 * @param string $sortBy
461 * @param string $direction
462 *
463 * @return QueryBuilder
464 */
465 private function sortQueryBuilder(QueryBuilder $qb, $sortBy = 'createdAt', $direction = 'desc')
466 {
467 return $qb
429 ->orderBy(sprintf('e.%s', $sortBy), $direction); 468 ->orderBy(sprintf('e.%s', $sortBy), $direction);
430 } 469 }
431} 470}
diff --git a/src/Wallabag/CoreBundle/Repository/TagRepository.php b/src/Wallabag/CoreBundle/Repository/TagRepository.php
index 5c45211f..3ae9d414 100644
--- a/src/Wallabag/CoreBundle/Repository/TagRepository.php
+++ b/src/Wallabag/CoreBundle/Repository/TagRepository.php
@@ -30,7 +30,7 @@ class TagRepository extends EntityRepository
30 $query->setResultCacheLifetime($cacheLifeTime); 30 $query->setResultCacheLifetime($cacheLifeTime);
31 } 31 }
32 32
33 return count($query->getArrayResult()); 33 return \count($query->getArrayResult());
34 } 34 }
35 35
36 /** 36 /**
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
index 0a65ce9f..bd81c72f 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
@@ -116,7 +116,7 @@ config:
116 archived: Remove ALL archived entries 116 archived: Remove ALL archived entries
117 confirm: Are you really sure? (THIS CAN'T BE UNDONE) 117 confirm: Are you really sure? (THIS CAN'T BE UNDONE)
118 form_password: 118 form_password:
119 description: "You can change your password here. Your new password should by at least 8 characters long." 119 description: "You can change your password here. Your new password should be at least 8 characters long."
120 old_password_label: 'Current password' 120 old_password_label: 'Current password'
121 new_password_label: 'New password' 121 new_password_label: 'New password'
122 repeat_new_password_label: 'Repeat new password' 122 repeat_new_password_label: 'Repeat new password'
@@ -265,7 +265,7 @@ about:
265 who_behind_wallabag: 265 who_behind_wallabag:
266 developped_by: 'Developed by' 266 developped_by: 'Developed by'
267 website: 'website' 267 website: 'website'
268 many_contributors: 'And many others contributors ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">on Github</a>' 268 many_contributors: 'And many others contributors ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">on GitHub</a>'
269 project_website: 'Project website' 269 project_website: 'Project website'
270 license: 'License' 270 license: 'License'
271 version: 'Version' 271 version: 'Version'
@@ -323,7 +323,7 @@ howto:
323 go_import: Go to import 323 go_import: Go to import
324 go_developers: Go to developers 324 go_developers: Go to developers
325 go_howto: Go to howto (this page!) 325 go_howto: Go to howto (this page!)
326 go_logout: Logout 326 go_logout: Log out
327 list_title: Shortcuts available in listing pages 327 list_title: Shortcuts available in listing pages
328 search: Display the search form 328 search: Display the search form
329 article_title: Shortcuts available in entry view 329 article_title: Shortcuts available in entry view
@@ -373,7 +373,7 @@ quickstart:
373 instapaper: 'Migrate from Instapaper' 373 instapaper: 'Migrate from Instapaper'
374 developer: 374 developer:
375 title: 'Developers' 375 title: 'Developers'
376 description: 'We also thought to the developers: Docker, API, translations, etc.' 376 description: 'We also thought of the developers: Docker, API, translations, etc.'
377 create_application: 'Create your third-party application' 377 create_application: 'Create your third-party application'
378 use_docker: 'Use Docker to install wallabag' 378 use_docker: 'Use Docker to install wallabag'
379 docs: 379 docs:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
index 6130eee2..95bc9560 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
@@ -234,7 +234,7 @@ entry:
234 created_at: 'Data de creacion' 234 created_at: 'Data de creacion'
235 published_at: 'Data de publicacion' 235 published_at: 'Data de publicacion'
236 published_by: 'Publicat per' 236 published_by: 'Publicat per'
237 # provided_by: 'Provided by' 237 provided_by: 'Provesit per'
238 new: 238 new:
239 page_title: 'Enregistrar un novèl article' 239 page_title: 'Enregistrar un novèl article'
240 placeholder: 'http://website.com' 240 placeholder: 'http://website.com'
@@ -246,7 +246,7 @@ entry:
246 page_title: 'Modificar un article' 246 page_title: 'Modificar un article'
247 title_label: 'Títol' 247 title_label: 'Títol'
248 url_label: 'Url' 248 url_label: 'Url'
249 # origin_url_label: 'Origin url (from where you found that entry)' 249 origin_url_label: 'Url d’origina (ont avètz trobat aqueste article)'
250 save_label: 'Enregistrar' 250 save_label: 'Enregistrar'
251 public: 251 public:
252 shared_by_wallabag: "Aqueste article es estat partejat per <a href='%wallabag_instance%'>wallabag</a>" 252 shared_by_wallabag: "Aqueste article es estat partejat per <a href='%wallabag_instance%'>wallabag</a>"
@@ -400,8 +400,8 @@ tag:
400 add: 'Ajustar' 400 add: 'Ajustar'
401 placeholder: "Podètz ajustar mai qu'una etiqueta, separadas per de virgula." 401 placeholder: "Podètz ajustar mai qu'una etiqueta, separadas per de virgula."
402 402
403# export: 403export:
404# footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>' 404 footer_template: '<div style="text-align:center;"><p>Produch per wallabag amb %method%</p><p>Mercés de dobrir <a href="https://github.com/wallabag/wallabag/issues">una sollicitacion</a> s’avètz de problèmas amb l’afichatge d’aqueste E-Book sus vòstre periferic.</p></div>'
405 405
406import: 406import:
407 page_title: 'Importar' 407 page_title: 'Importar'
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig
index 9b0503d6..b9fcc005 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig
@@ -7,7 +7,7 @@
7 <meta property="og:title" content="{{ entry.title|e|raw }}" /> 7 <meta property="og:title" content="{{ entry.title|e|raw }}" />
8 <meta property="og:type" content="article" /> 8 <meta property="og:type" content="article" />
9 <meta property="og:url" content="{{ app.request.uri }}" /> 9 <meta property="og:url" content="{{ app.request.uri }}" />
10 {% set picturePath = app.request.schemeAndHttpHost ~ asset('wallassets/themes/_global/img/logo-other_themes.png') %} 10 {% set picturePath = app.request.schemeAndHttpHost ~ asset('wallassets/themes/_global/img/logo-wallabag.svg') %}
11 {% if entry.previewPicture is not null %} 11 {% if entry.previewPicture is not null %}
12 {% set picturePath = entry.previewPicture %} 12 {% set picturePath = entry.previewPicture %}
13 {% endif %} 13 {% endif %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/_bookmarklet.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/_bookmarklet.html.twig
index 3385cd53..9ebf1bed 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/_bookmarklet.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/_bookmarklet.html.twig
@@ -1 +1 @@
<a id="bookmarklet" ondragend="this.click();" href="javascript:(function(){var url=location.href||url;var wllbg=window.open('{{ url('bookmarklet') }}?url=' + encodeURI(url),'_blank');})();">bag it!</a> <a id="bookmarklet" ondragend="this.click();" href="javascript:(function(){var url=location.href||url;var wllbg=window.open('{{ url('bookmarklet') }}?url=' + encodeURIComponent(url),'_blank');})();">bag it!</a>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_no_preview.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_no_preview.html.twig
index 8e6bbae0..4fd4debd 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_no_preview.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_no_preview.html.twig
@@ -1,5 +1,12 @@
1<div class="card"> 1<div class="card">
2 <div class="card-body"> 2 <div class="card-body">
3 <div class="card-image waves-effect waves-block waves-light">
4 <ul class="card-entry-labels">
5 {% for tag in entry.tags | slice(0, 3) %}
6 <li><a href="{{ path('tag_entries', {'slug': tag.slug}) }}">{{ tag.label }}</a></li>
7 {% endfor %}
8 </ul>
9 </div>
3 {% include "@WallabagCore/themes/material/Entry/Card/_content.html.twig" with {'entry': entry} only %} 10 {% include "@WallabagCore/themes/material/Entry/Card/_content.html.twig" with {'entry': entry} only %}
4 </div> 11 </div>
5 12
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
index 0d05f4d5..7484d53b 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
@@ -245,7 +245,7 @@
245 <li> 245 <li>
246 <i class="material-icons" title="{{ 'entry.view.published_by'|trans }}">person</i> 246 <i class="material-icons" title="{{ 'entry.view.published_by'|trans }}">person</i>
247 {% for author in entry.publishedBy %} 247 {% for author in entry.publishedBy %}
248 {{ author }}{% if not loop.last %}, {% endif %} 248 {{ author|raw }}{% if not loop.last %}, {% endif %}
249 {% endfor %} 249 {% endfor %}
250 </li> 250 </li>
251 {% endif %} 251 {% endif %}
@@ -276,7 +276,7 @@
276 </div> 276 </div>
277 277
278 {% if entry.previewPicture is not null %} 278 {% if entry.previewPicture is not null %}
279 <div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|striptags|e('html_attr') }}" /></div> 279 <div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|striptags|default('entry.default_title'|trans)|raw }}" /></div>
280 {% endif %} 280 {% endif %}
281 281
282 </aside> 282 </aside>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Exception/error.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Exception/error.html.twig
index b5db40f5..741795aa 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Exception/error.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Exception/error.html.twig
@@ -11,7 +11,7 @@
11<main class="valign-wrapper"> 11<main class="valign-wrapper">
12 <div class="valign row"> 12 <div class="valign row">
13 <div class="card sw"> 13 <div class="card sw">
14 <div class="center"><img src="{{ asset('wallassets/themes/_global/img/logo-other_themes.png') }}" alt="wallabag logo" /></div> 14 <div class="center"><img src="{{ asset('wallassets/themes/_global/img/logo-wallabag.svg') }}" alt="wallabag logo" class="typo-logo" /></div>
15 <div class="card-content"> 15 <div class="card-content">
16 <div class="row"> 16 <div class="row">
17 <h5>{{ status_code }}: {{ status_text }}</h5> 17 <h5>{{ status_code }}: {{ status_text }}</h5>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
index 6472d182..f0012ad9 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
@@ -29,7 +29,7 @@
29 {% block logo %} 29 {% block logo %}
30 <li class="logo border-bottom"> 30 <li class="logo border-bottom">
31 <a title="{{ 'menu.left.back_to_unread'|trans }}" href="{{ path('unread') }}"> 31 <a title="{{ 'menu.left.back_to_unread'|trans }}" href="{{ path('unread') }}">
32 <img src="{{ asset('wallassets/themes/_global/img/logo-square.png') }}" alt="wallabag logo" /> 32 <img src="{{ asset('wallassets/themes/_global/img/logo-square.svg') }}" alt="wallabag logo" />
33 </a> 33 </a>
34 </li> 34 </li>
35 {% endblock %} 35 {% endblock %}
diff --git a/src/Wallabag/CoreBundle/Tools/Utils.php b/src/Wallabag/CoreBundle/Tools/Utils.php
index eba21c02..46bb1dc5 100644
--- a/src/Wallabag/CoreBundle/Tools/Utils.php
+++ b/src/Wallabag/CoreBundle/Tools/Utils.php
@@ -29,6 +29,6 @@ class Utils
29 */ 29 */
30 public static function getReadingTime($text) 30 public static function getReadingTime($text)
31 { 31 {
32 return floor(count(preg_split('~[^\p{L}\p{N}\']+~u', strip_tags($text))) / 200); 32 return floor(\count(preg_split('~[^\p{L}\p{N}\']+~u', strip_tags($text))) / 200);
33 } 33 }
34} 34}
diff --git a/src/Wallabag/CoreBundle/Twig/WallabagExtension.php b/src/Wallabag/CoreBundle/Twig/WallabagExtension.php
index 8992117e..00b1e595 100644
--- a/src/Wallabag/CoreBundle/Twig/WallabagExtension.php
+++ b/src/Wallabag/CoreBundle/Twig/WallabagExtension.php
@@ -64,7 +64,7 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
64 { 64 {
65 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null; 65 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null;
66 66
67 if (null === $user || !is_object($user)) { 67 if (null === $user || !\is_object($user)) {
68 return 0; 68 return 0;
69 } 69 }
70 70
@@ -96,7 +96,7 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
96 $query->useResultCache(true); 96 $query->useResultCache(true);
97 $query->setResultCacheLifetime($this->lifeTime); 97 $query->setResultCacheLifetime($this->lifeTime);
98 98
99 return count($query->getArrayResult()); 99 return \count($query->getArrayResult());
100 } 100 }
101 101
102 /** 102 /**
@@ -108,7 +108,7 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
108 { 108 {
109 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null; 109 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null;
110 110
111 if (null === $user || !is_object($user)) { 111 if (null === $user || !\is_object($user)) {
112 return 0; 112 return 0;
113 } 113 }
114 114
@@ -124,7 +124,7 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
124 { 124 {
125 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null; 125 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null;
126 126
127 if (null === $user || !is_object($user)) { 127 if (null === $user || !\is_object($user)) {
128 return 0; 128 return 0;
129 } 129 }
130 130
@@ -137,7 +137,7 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
137 $query->useResultCache(true); 137 $query->useResultCache(true);
138 $query->setResultCacheLifetime($this->lifeTime); 138 $query->setResultCacheLifetime($this->lifeTime);
139 139
140 $nbArchives = count($query->getArrayResult()); 140 $nbArchives = \count($query->getArrayResult());
141 141
142 $interval = $user->getCreatedAt()->diff(new \DateTime('now')); 142 $interval = $user->getCreatedAt()->diff(new \DateTime('now'));
143 $nbDays = (int) $interval->format('%a') ?: 1; 143 $nbDays = (int) $interval->format('%a') ?: 1;
diff --git a/src/Wallabag/ImportBundle/Command/ImportCommand.php b/src/Wallabag/ImportBundle/Command/ImportCommand.php
index 99056c2c..f9ffe994 100644
--- a/src/Wallabag/ImportBundle/Command/ImportCommand.php
+++ b/src/Wallabag/ImportBundle/Command/ImportCommand.php
@@ -43,7 +43,7 @@ class ImportCommand extends ContainerAwareCommand
43 $user = $em->getRepository('WallabagUserBundle:User')->findOneByUsername($input->getArgument('username')); 43 $user = $em->getRepository('WallabagUserBundle:User')->findOneByUsername($input->getArgument('username'));
44 } 44 }
45 45
46 if (!is_object($user)) { 46 if (!\is_object($user)) {
47 throw new Exception(sprintf('User "%s" not found', $input->getArgument('username'))); 47 throw new Exception(sprintf('User "%s" not found', $input->getArgument('username')));
48 } 48 }
49 49
diff --git a/src/Wallabag/ImportBundle/Controller/BrowserController.php b/src/Wallabag/ImportBundle/Controller/BrowserController.php
index 77a7a904..6418925c 100644
--- a/src/Wallabag/ImportBundle/Controller/BrowserController.php
+++ b/src/Wallabag/ImportBundle/Controller/BrowserController.php
@@ -30,7 +30,7 @@ abstract class BrowserController extends Controller
30 $markAsRead = $form->get('mark_as_read')->getData(); 30 $markAsRead = $form->get('mark_as_read')->getData();
31 $name = $this->getUser()->getId() . '.json'; 31 $name = $this->getUser()->getId() . '.json';
32 32
33 if (null !== $file && in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes'), true) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) { 33 if (null !== $file && \in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes'), true) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) {
34 $res = $wallabag 34 $res = $wallabag
35 ->setFilepath($this->getParameter('wallabag_import.resource_dir') . '/' . $name) 35 ->setFilepath($this->getParameter('wallabag_import.resource_dir') . '/' . $name)
36 ->setMarkAsRead($markAsRead) 36 ->setMarkAsRead($markAsRead)
diff --git a/src/Wallabag/ImportBundle/Controller/InstapaperController.php b/src/Wallabag/ImportBundle/Controller/InstapaperController.php
index 550679c3..f184baf9 100644
--- a/src/Wallabag/ImportBundle/Controller/InstapaperController.php
+++ b/src/Wallabag/ImportBundle/Controller/InstapaperController.php
@@ -31,7 +31,7 @@ class InstapaperController extends Controller
31 $markAsRead = $form->get('mark_as_read')->getData(); 31 $markAsRead = $form->get('mark_as_read')->getData();
32 $name = 'instapaper_' . $this->getUser()->getId() . '.csv'; 32 $name = 'instapaper_' . $this->getUser()->getId() . '.csv';
33 33
34 if (null !== $file && in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes'), true) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) { 34 if (null !== $file && \in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes'), true) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) {
35 $res = $instapaper 35 $res = $instapaper
36 ->setFilepath($this->getParameter('wallabag_import.resource_dir') . '/' . $name) 36 ->setFilepath($this->getParameter('wallabag_import.resource_dir') . '/' . $name)
37 ->setMarkAsRead($markAsRead) 37 ->setMarkAsRead($markAsRead)
diff --git a/src/Wallabag/ImportBundle/Controller/PinboardController.php b/src/Wallabag/ImportBundle/Controller/PinboardController.php
index 0e57fd41..6f54c69a 100644
--- a/src/Wallabag/ImportBundle/Controller/PinboardController.php
+++ b/src/Wallabag/ImportBundle/Controller/PinboardController.php
@@ -31,7 +31,7 @@ class PinboardController extends Controller
31 $markAsRead = $form->get('mark_as_read')->getData(); 31 $markAsRead = $form->get('mark_as_read')->getData();
32 $name = 'pinboard_' . $this->getUser()->getId() . '.json'; 32 $name = 'pinboard_' . $this->getUser()->getId() . '.json';
33 33
34 if (null !== $file && in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes'), true) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) { 34 if (null !== $file && \in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes'), true) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) {
35 $res = $pinboard 35 $res = $pinboard
36 ->setFilepath($this->getParameter('wallabag_import.resource_dir') . '/' . $name) 36 ->setFilepath($this->getParameter('wallabag_import.resource_dir') . '/' . $name)
37 ->setMarkAsRead($markAsRead) 37 ->setMarkAsRead($markAsRead)
diff --git a/src/Wallabag/ImportBundle/Controller/ReadabilityController.php b/src/Wallabag/ImportBundle/Controller/ReadabilityController.php
index 59de24cb..729a97a3 100644
--- a/src/Wallabag/ImportBundle/Controller/ReadabilityController.php
+++ b/src/Wallabag/ImportBundle/Controller/ReadabilityController.php
@@ -31,7 +31,7 @@ class ReadabilityController extends Controller
31 $markAsRead = $form->get('mark_as_read')->getData(); 31 $markAsRead = $form->get('mark_as_read')->getData();
32 $name = 'readability_' . $this->getUser()->getId() . '.json'; 32 $name = 'readability_' . $this->getUser()->getId() . '.json';
33 33
34 if (null !== $file && in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes'), true) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) { 34 if (null !== $file && \in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes'), true) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) {
35 $res = $readability 35 $res = $readability
36 ->setFilepath($this->getParameter('wallabag_import.resource_dir') . '/' . $name) 36 ->setFilepath($this->getParameter('wallabag_import.resource_dir') . '/' . $name)
37 ->setMarkAsRead($markAsRead) 37 ->setMarkAsRead($markAsRead)
diff --git a/src/Wallabag/ImportBundle/Controller/WallabagController.php b/src/Wallabag/ImportBundle/Controller/WallabagController.php
index 6e6524b4..d182dd2c 100644
--- a/src/Wallabag/ImportBundle/Controller/WallabagController.php
+++ b/src/Wallabag/ImportBundle/Controller/WallabagController.php
@@ -33,7 +33,7 @@ abstract class WallabagController extends Controller
33 $markAsRead = $form->get('mark_as_read')->getData(); 33 $markAsRead = $form->get('mark_as_read')->getData();
34 $name = $this->getUser()->getId() . '.json'; 34 $name = $this->getUser()->getId() . '.json';
35 35
36 if (null !== $file && in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes'), true) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) { 36 if (null !== $file && \in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes'), true) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) {
37 $res = $wallabag 37 $res = $wallabag
38 ->setFilepath($this->getParameter('wallabag_import.resource_dir') . '/' . $name) 38 ->setFilepath($this->getParameter('wallabag_import.resource_dir') . '/' . $name)
39 ->setMarkAsRead($markAsRead) 39 ->setMarkAsRead($markAsRead)
diff --git a/src/Wallabag/ImportBundle/Import/BrowserImport.php b/src/Wallabag/ImportBundle/Import/BrowserImport.php
index b5593180..225f1791 100644
--- a/src/Wallabag/ImportBundle/Import/BrowserImport.php
+++ b/src/Wallabag/ImportBundle/Import/BrowserImport.php
@@ -77,7 +77,7 @@ abstract class BrowserImport extends AbstractImport
77 */ 77 */
78 public function parseEntry(array $importedEntry) 78 public function parseEntry(array $importedEntry)
79 { 79 {
80 if ((!array_key_exists('guid', $importedEntry) || (!array_key_exists('id', $importedEntry))) && is_array(reset($importedEntry))) { 80 if ((!array_key_exists('guid', $importedEntry) || (!array_key_exists('id', $importedEntry))) && \is_array(reset($importedEntry))) {
81 if ($this->producer) { 81 if ($this->producer) {
82 $this->parseEntriesForProducer($importedEntry); 82 $this->parseEntriesForProducer($importedEntry);
83 83
diff --git a/src/Wallabag/ImportBundle/Import/InstapaperImport.php b/src/Wallabag/ImportBundle/Import/InstapaperImport.php
index 7ab69e7a..e4f0970c 100644
--- a/src/Wallabag/ImportBundle/Import/InstapaperImport.php
+++ b/src/Wallabag/ImportBundle/Import/InstapaperImport.php
@@ -62,7 +62,7 @@ class InstapaperImport extends AbstractImport
62 } 62 }
63 63
64 $entries = []; 64 $entries = [];
65 $handle = fopen($this->filepath, 'r'); 65 $handle = fopen($this->filepath, 'rb');
66 while (false !== ($data = fgetcsv($handle, 10240))) { 66 while (false !== ($data = fgetcsv($handle, 10240))) {
67 if ('URL' === $data[0]) { 67 if ('URL' === $data[0]) {
68 continue; 68 continue;
@@ -72,7 +72,7 @@ class InstapaperImport extends AbstractImport
72 // BUT it can also be the status (since status = folder in Instapaper) 72 // BUT it can also be the status (since status = folder in Instapaper)
73 // and we don't want archive, unread & starred to become a tag 73 // and we don't want archive, unread & starred to become a tag
74 $tags = null; 74 $tags = null;
75 if (false === in_array($data[3], ['Archive', 'Unread', 'Starred'], true)) { 75 if (false === \in_array($data[3], ['Archive', 'Unread', 'Starred'], true)) {
76 $tags = [$data[3]]; 76 $tags = [$data[3]];
77 } 77 }
78 78
diff --git a/src/Wallabag/ImportBundle/Import/PocketImport.php b/src/Wallabag/ImportBundle/Import/PocketImport.php
index dddb87f4..c1b35b7e 100644
--- a/src/Wallabag/ImportBundle/Import/PocketImport.php
+++ b/src/Wallabag/ImportBundle/Import/PocketImport.php
@@ -149,7 +149,7 @@ class PocketImport extends AbstractImport
149 // - first call get 5k offset 0 149 // - first call get 5k offset 0
150 // - second call get 5k offset 5k 150 // - second call get 5k offset 5k
151 // - and so on 151 // - and so on
152 if (self::NB_ELEMENTS === count($entries['list'])) { 152 if (self::NB_ELEMENTS === \count($entries['list'])) {
153 ++$run; 153 ++$run;
154 154
155 return $this->import(self::NB_ELEMENTS * $run); 155 return $this->import(self::NB_ELEMENTS * $run);
diff --git a/src/Wallabag/ImportBundle/Import/WallabagV1Import.php b/src/Wallabag/ImportBundle/Import/WallabagV1Import.php
index a35c411e..b9bb525a 100644
--- a/src/Wallabag/ImportBundle/Import/WallabagV1Import.php
+++ b/src/Wallabag/ImportBundle/Import/WallabagV1Import.php
@@ -56,7 +56,7 @@ class WallabagV1Import extends WallabagImport
56 56
57 // In case of a bad fetch in v1, replace title and content with v2 error strings 57 // In case of a bad fetch in v1, replace title and content with v2 error strings
58 // If fetching fails again, they will get this instead of the v1 strings 58 // If fetching fails again, they will get this instead of the v1 strings
59 if (in_array($entry['title'], $this->untitled, true)) { 59 if (\in_array($entry['title'], $this->untitled, true)) {
60 $data['title'] = $this->fetchingErrorMessageTitle; 60 $data['title'] = $this->fetchingErrorMessageTitle;
61 $data['html'] = $this->fetchingErrorMessage; 61 $data['html'] = $this->fetchingErrorMessage;
62 } 62 }
diff --git a/src/Wallabag/UserBundle/Resources/translations/wallabag_user.oc.yml b/src/Wallabag/UserBundle/Resources/translations/wallabag_user.oc.yml
index e62ea2bc..6277dc73 100644
--- a/src/Wallabag/UserBundle/Resources/translations/wallabag_user.oc.yml
+++ b/src/Wallabag/UserBundle/Resources/translations/wallabag_user.oc.yml
@@ -5,7 +5,7 @@ auth_code:
5 subject: "Còdi d'autentificacion wallabag" 5 subject: "Còdi d'autentificacion wallabag"
6 body: 6 body:
7 hello: "Bonjorn %user%," 7 hello: "Bonjorn %user%,"
8 first_para: "Estant qu'avètz activat l'autentificacion en dos temps sus vòstre compte wallabag e que venètz de vos connectar dempuèi un novèl periferic (ordinador, mobil, etc.) vos mandem un còdi per validar la connexion." 8 first_para: "Estant qu'avètz activat l'autentificacion en dos temps sus vòstre compte wallabag e que venètz de vos connectar d'un novèl periferic (ordinador, mobil, etc.) vos mandem un còdi per validar la connexion."
9 second_para: "Vaquí lo còdi per dintrar : " 9 second_para: "Vaquí lo còdi per dintrar : "
10 support: "S'avètz un problèma de connexion, dobtetz pas a contactar l'assisténcia : " 10 support: "S'avètz un problèma de connexion, dobtetz pas a contactar l'assisténcia : "
11 signature: "La còla de wallabag" 11 signature: "La còla de wallabag"
diff --git a/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig b/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig
index 32984c84..3dd98fb6 100644
--- a/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig
+++ b/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig
@@ -16,7 +16,7 @@
16 16
17 <div class="input-field col s12"> 17 <div class="input-field col s12">
18 <label for="username">{{ 'security.login.username'|trans }}</label> 18 <label for="username">{{ 'security.login.username'|trans }}</label>
19 <input type="text" id="username" name="_username" value="{{ last_username }}" /> 19 <input type="text" id="username" name="_username" value="{{ last_username }}" autofocus />
20 </div> 20 </div>
21 21
22 <div class="input-field col s12"> 22 <div class="input-field col s12">
diff --git a/src/Wallabag/UserBundle/Resources/views/layout.html.twig b/src/Wallabag/UserBundle/Resources/views/layout.html.twig
index eada1829..99bf7dfd 100644
--- a/src/Wallabag/UserBundle/Resources/views/layout.html.twig
+++ b/src/Wallabag/UserBundle/Resources/views/layout.html.twig
@@ -11,7 +11,7 @@
11<main class="valign-wrapper"> 11<main class="valign-wrapper">
12 <div class="valign row"> 12 <div class="valign row">
13 <div class="card sw"> 13 <div class="card sw">
14 <div class="center"><img src="{{ asset('wallassets/themes/_global/img/logo-other_themes.png') }}" alt="wallabag logo" /></div> 14 <div class="center"><img src="{{ asset('wallassets/themes/_global/img/logo-wallabag.svg') }}" alt="wallabag logo" class="typo-logo" /></div>
15 {% block fos_user_content %} 15 {% block fos_user_content %}
16 {% endblock fos_user_content %} 16 {% endblock fos_user_content %}
17 </div> 17 </div>
diff --git a/tests/Wallabag/ApiBundle/Controller/DeveloperControllerTest.php b/tests/Wallabag/ApiBundle/Controller/DeveloperControllerTest.php
index 35de47f9..f58d1c12 100644
--- a/tests/Wallabag/ApiBundle/Controller/DeveloperControllerTest.php
+++ b/tests/Wallabag/ApiBundle/Controller/DeveloperControllerTest.php
@@ -28,7 +28,7 @@ class DeveloperControllerTest extends WallabagCoreTestCase
28 $this->assertSame(200, $client->getResponse()->getStatusCode()); 28 $this->assertSame(200, $client->getResponse()->getStatusCode());
29 29
30 $newNbClients = $em->getRepository('WallabagApiBundle:Client')->findAll(); 30 $newNbClients = $em->getRepository('WallabagApiBundle:Client')->findAll();
31 $this->assertGreaterThan(count($nbClients), count($newNbClients)); 31 $this->assertGreaterThan(\count($nbClients), \count($newNbClients));
32 32
33 $this->assertGreaterThan(1, $alert = $crawler->filter('.settings ul li strong')->extract(['_text'])); 33 $this->assertGreaterThan(1, $alert = $crawler->filter('.settings ul li strong')->extract(['_text']));
34 $this->assertContains('My app', $alert[0]); 34 $this->assertContains('My app', $alert[0]);
@@ -65,7 +65,7 @@ class DeveloperControllerTest extends WallabagCoreTestCase
65 65
66 $crawler = $client->request('GET', '/developer'); 66 $crawler = $client->request('GET', '/developer');
67 $this->assertSame(200, $client->getResponse()->getStatusCode()); 67 $this->assertSame(200, $client->getResponse()->getStatusCode());
68 $this->assertSame(count($nbClients), $crawler->filter('ul[class=collapsible] li')->count()); 68 $this->assertSame(\count($nbClients), $crawler->filter('ul[class=collapsible] li')->count());
69 } 69 }
70 70
71 public function testDeveloperHowto() 71 public function testDeveloperHowto()
diff --git a/tests/Wallabag/ApiBundle/Controller/EntryRestControllerTest.php b/tests/Wallabag/ApiBundle/Controller/EntryRestControllerTest.php
index 2e9b9305..58b617f3 100644
--- a/tests/Wallabag/ApiBundle/Controller/EntryRestControllerTest.php
+++ b/tests/Wallabag/ApiBundle/Controller/EntryRestControllerTest.php
@@ -28,7 +28,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
28 28
29 $this->assertSame($entry->getTitle(), $content['title']); 29 $this->assertSame($entry->getTitle(), $content['title']);
30 $this->assertSame($entry->getUrl(), $content['url']); 30 $this->assertSame($entry->getUrl(), $content['url']);
31 $this->assertCount(count($entry->getTags()), $content['tags']); 31 $this->assertCount(\count($entry->getTags()), $content['tags']);
32 $this->assertSame($entry->getUserName(), $content['user_name']); 32 $this->assertSame($entry->getUserName(), $content['user_name']);
33 $this->assertSame($entry->getUserEmail(), $content['user_email']); 33 $this->assertSame($entry->getUserEmail(), $content['user_email']);
34 $this->assertSame($entry->getUserId(), $content['user_id']); 34 $this->assertSame($entry->getUserId(), $content['user_id']);
@@ -127,7 +127,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
127 127
128 $content = json_decode($this->client->getResponse()->getContent(), true); 128 $content = json_decode($this->client->getResponse()->getContent(), true);
129 129
130 $this->assertGreaterThanOrEqual(1, count($content)); 130 $this->assertGreaterThanOrEqual(1, \count($content));
131 $this->assertNotEmpty($content['_embedded']['items']); 131 $this->assertNotEmpty($content['_embedded']['items']);
132 $this->assertGreaterThanOrEqual(1, $content['total']); 132 $this->assertGreaterThanOrEqual(1, $content['total']);
133 $this->assertSame(1, $content['page']); 133 $this->assertSame(1, $content['page']);
@@ -154,7 +154,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
154 154
155 $content = json_decode($this->client->getResponse()->getContent(), true); 155 $content = json_decode($this->client->getResponse()->getContent(), true);
156 156
157 $this->assertGreaterThanOrEqual(1, count($content)); 157 $this->assertGreaterThanOrEqual(1, \count($content));
158 $this->assertArrayHasKey('items', $content['_embedded']); 158 $this->assertArrayHasKey('items', $content['_embedded']);
159 $this->assertGreaterThanOrEqual(0, $content['total']); 159 $this->assertGreaterThanOrEqual(0, $content['total']);
160 $this->assertSame(1, $content['page']); 160 $this->assertSame(1, $content['page']);
@@ -206,7 +206,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
206 206
207 $content = json_decode($this->client->getResponse()->getContent(), true); 207 $content = json_decode($this->client->getResponse()->getContent(), true);
208 208
209 $this->assertGreaterThanOrEqual(1, count($content)); 209 $this->assertGreaterThanOrEqual(1, \count($content));
210 $this->assertArrayHasKey('items', $content['_embedded']); 210 $this->assertArrayHasKey('items', $content['_embedded']);
211 $this->assertGreaterThanOrEqual(1, $content['total']); 211 $this->assertGreaterThanOrEqual(1, $content['total']);
212 $this->assertSame(1, $content['page']); 212 $this->assertSame(1, $content['page']);
@@ -250,7 +250,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
250 250
251 $content = json_decode($this->client->getResponse()->getContent(), true); 251 $content = json_decode($this->client->getResponse()->getContent(), true);
252 252
253 $this->assertGreaterThanOrEqual(1, count($content)); 253 $this->assertGreaterThanOrEqual(1, \count($content));
254 $this->assertNotEmpty($content['_embedded']['items']); 254 $this->assertNotEmpty($content['_embedded']['items']);
255 $this->assertGreaterThanOrEqual(1, $content['total']); 255 $this->assertGreaterThanOrEqual(1, $content['total']);
256 $this->assertSame(1, $content['page']); 256 $this->assertSame(1, $content['page']);
@@ -278,7 +278,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
278 278
279 $content = json_decode($this->client->getResponse()->getContent(), true); 279 $content = json_decode($this->client->getResponse()->getContent(), true);
280 280
281 $this->assertGreaterThanOrEqual(1, count($content)); 281 $this->assertGreaterThanOrEqual(1, \count($content));
282 $this->assertNotEmpty($content['_embedded']['items']); 282 $this->assertNotEmpty($content['_embedded']['items']);
283 $this->assertGreaterThanOrEqual(1, $content['total']); 283 $this->assertGreaterThanOrEqual(1, $content['total']);
284 $this->assertSame(1, $content['page']); 284 $this->assertSame(1, $content['page']);
@@ -305,7 +305,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
305 305
306 $content = json_decode($this->client->getResponse()->getContent(), true); 306 $content = json_decode($this->client->getResponse()->getContent(), true);
307 307
308 $this->assertGreaterThanOrEqual(1, count($content)); 308 $this->assertGreaterThanOrEqual(1, \count($content));
309 $this->assertNotEmpty($content['_embedded']['items']); 309 $this->assertNotEmpty($content['_embedded']['items']);
310 $this->assertGreaterThanOrEqual(1, $content['total']); 310 $this->assertGreaterThanOrEqual(1, $content['total']);
311 $this->assertSame(1, $content['page']); 311 $this->assertSame(1, $content['page']);
@@ -342,7 +342,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
342 342
343 $content = json_decode($this->client->getResponse()->getContent(), true); 343 $content = json_decode($this->client->getResponse()->getContent(), true);
344 344
345 $this->assertGreaterThanOrEqual(1, count($content)); 345 $this->assertGreaterThanOrEqual(1, \count($content));
346 $this->assertNotEmpty($content['_embedded']['items']); 346 $this->assertNotEmpty($content['_embedded']['items']);
347 $this->assertGreaterThanOrEqual(1, $content['total']); 347 $this->assertGreaterThanOrEqual(1, $content['total']);
348 $this->assertSame(1, $content['page']); 348 $this->assertSame(1, $content['page']);
@@ -370,7 +370,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
370 370
371 $content = json_decode($this->client->getResponse()->getContent(), true); 371 $content = json_decode($this->client->getResponse()->getContent(), true);
372 372
373 $this->assertGreaterThanOrEqual(1, count($content)); 373 $this->assertGreaterThanOrEqual(1, \count($content));
374 $this->assertEmpty($content['_embedded']['items']); 374 $this->assertEmpty($content['_embedded']['items']);
375 $this->assertSame(0, $content['total']); 375 $this->assertSame(0, $content['total']);
376 $this->assertSame(1, $content['page']); 376 $this->assertSame(1, $content['page']);
@@ -419,7 +419,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
419 public function testPostEntry() 419 public function testPostEntry()
420 { 420 {
421 $this->client->request('POST', '/api/entries.json', [ 421 $this->client->request('POST', '/api/entries.json', [
422 'url' => 'http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', 422 'url' => 'https://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html',
423 'tags' => 'google', 423 'tags' => 'google',
424 'title' => 'New title for my article', 424 'title' => 'New title for my article',
425 'content' => 'my content', 425 'content' => 'my content',
@@ -434,7 +434,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
434 $content = json_decode($this->client->getResponse()->getContent(), true); 434 $content = json_decode($this->client->getResponse()->getContent(), true);
435 435
436 $this->assertGreaterThan(0, $content['id']); 436 $this->assertGreaterThan(0, $content['id']);
437 $this->assertSame('http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', $content['url']); 437 $this->assertSame('https://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', $content['url']);
438 $this->assertSame(0, $content['is_archived']); 438 $this->assertSame(0, $content['is_archived']);
439 $this->assertSame(0, $content['is_starred']); 439 $this->assertSame(0, $content['is_starred']);
440 $this->assertNull($content['starred_at']); 440 $this->assertNull($content['starred_at']);
@@ -455,7 +455,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
455 { 455 {
456 $em = $this->client->getContainer()->get('doctrine.orm.entity_manager'); 456 $em = $this->client->getContainer()->get('doctrine.orm.entity_manager');
457 $entry = new Entry($em->getReference(User::class, 1)); 457 $entry = new Entry($em->getReference(User::class, 1));
458 $entry->setUrl('http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html'); 458 $entry->setUrl('https://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html');
459 $entry->setArchived(true); 459 $entry->setArchived(true);
460 $entry->addTag((new Tag())->setLabel('google')); 460 $entry->addTag((new Tag())->setLabel('google'));
461 $entry->addTag((new Tag())->setLabel('apple')); 461 $entry->addTag((new Tag())->setLabel('apple'));
@@ -464,7 +464,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
464 $em->clear(); 464 $em->clear();
465 465
466 $this->client->request('POST', '/api/entries.json', [ 466 $this->client->request('POST', '/api/entries.json', [
467 'url' => 'http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', 467 'url' => 'https://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html',
468 'archive' => '1', 468 'archive' => '1',
469 'tags' => 'google, apple', 469 'tags' => 'google, apple',
470 ]); 470 ]);
@@ -474,7 +474,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
474 $content = json_decode($this->client->getResponse()->getContent(), true); 474 $content = json_decode($this->client->getResponse()->getContent(), true);
475 475
476 $this->assertGreaterThan(0, $content['id']); 476 $this->assertGreaterThan(0, $content['id']);
477 $this->assertSame('http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', $content['url']); 477 $this->assertSame('https://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', $content['url']);
478 $this->assertSame(1, $content['is_archived']); 478 $this->assertSame(1, $content['is_archived']);
479 $this->assertSame(0, $content['is_starred']); 479 $this->assertSame(0, $content['is_starred']);
480 $this->assertCount(3, $content['tags']); 480 $this->assertCount(3, $content['tags']);
@@ -519,7 +519,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
519 { 519 {
520 $now = new \DateTime(); 520 $now = new \DateTime();
521 $this->client->request('POST', '/api/entries.json', [ 521 $this->client->request('POST', '/api/entries.json', [
522 'url' => 'http://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html', 522 'url' => 'https://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html',
523 'archive' => '1', 523 'archive' => '1',
524 'starred' => '1', 524 'starred' => '1',
525 ]); 525 ]);
@@ -529,7 +529,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
529 $content = json_decode($this->client->getResponse()->getContent(), true); 529 $content = json_decode($this->client->getResponse()->getContent(), true);
530 530
531 $this->assertGreaterThan(0, $content['id']); 531 $this->assertGreaterThan(0, $content['id']);
532 $this->assertSame('http://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html', $content['url']); 532 $this->assertSame('https://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html', $content['url']);
533 $this->assertSame(1, $content['is_archived']); 533 $this->assertSame(1, $content['is_archived']);
534 $this->assertSame(1, $content['is_starred']); 534 $this->assertSame(1, $content['is_starred']);
535 $this->assertGreaterThanOrEqual($now->getTimestamp(), (new \DateTime($content['starred_at']))->getTimestamp()); 535 $this->assertGreaterThanOrEqual($now->getTimestamp(), (new \DateTime($content['starred_at']))->getTimestamp());
@@ -539,7 +539,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
539 public function testPostArchivedAndStarredEntryWithoutQuotes() 539 public function testPostArchivedAndStarredEntryWithoutQuotes()
540 { 540 {
541 $this->client->request('POST', '/api/entries.json', [ 541 $this->client->request('POST', '/api/entries.json', [
542 'url' => 'http://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html', 542 'url' => 'https://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html',
543 'archive' => 0, 543 'archive' => 0,
544 'starred' => 1, 544 'starred' => 1,
545 ]); 545 ]);
@@ -549,7 +549,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
549 $content = json_decode($this->client->getResponse()->getContent(), true); 549 $content = json_decode($this->client->getResponse()->getContent(), true);
550 550
551 $this->assertGreaterThan(0, $content['id']); 551 $this->assertGreaterThan(0, $content['id']);
552 $this->assertSame('http://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html', $content['url']); 552 $this->assertSame('https://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html', $content['url']);
553 $this->assertSame(0, $content['is_archived']); 553 $this->assertSame(0, $content['is_archived']);
554 $this->assertSame(1, $content['is_starred']); 554 $this->assertSame(1, $content['is_starred']);
555 } 555 }
@@ -557,7 +557,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
557 public function testPostEntryWithOriginUrl() 557 public function testPostEntryWithOriginUrl()
558 { 558 {
559 $this->client->request('POST', '/api/entries.json', [ 559 $this->client->request('POST', '/api/entries.json', [
560 'url' => 'http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', 560 'url' => 'https://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html',
561 'tags' => 'google', 561 'tags' => 'google',
562 'title' => 'New title for my article', 562 'title' => 'New title for my article',
563 'content' => 'my content', 563 'content' => 'my content',
@@ -573,7 +573,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
573 $content = json_decode($this->client->getResponse()->getContent(), true); 573 $content = json_decode($this->client->getResponse()->getContent(), true);
574 574
575 $this->assertGreaterThan(0, $content['id']); 575 $this->assertGreaterThan(0, $content['id']);
576 $this->assertSame('http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', $content['url']); 576 $this->assertSame('https://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', $content['url']);
577 $this->assertSame('http://mysource.tld', $content['origin_url']); 577 $this->assertSame('http://mysource.tld', $content['origin_url']);
578 } 578 }
579 579
@@ -608,7 +608,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
608 $this->assertSame($entry->getId(), $content['id']); 608 $this->assertSame($entry->getId(), $content['id']);
609 $this->assertSame($entry->getUrl(), $content['url']); 609 $this->assertSame($entry->getUrl(), $content['url']);
610 $this->assertSame('New awesome title', $content['title']); 610 $this->assertSame('New awesome title', $content['title']);
611 $this->assertGreaterThanOrEqual(1, count($content['tags']), 'We force only one tag'); 611 $this->assertGreaterThanOrEqual(1, \count($content['tags']), 'We force only one tag');
612 $this->assertSame(1, $content['user_id']); 612 $this->assertSame(1, $content['user_id']);
613 $this->assertSame('de_AT', $content['language']); 613 $this->assertSame('de_AT', $content['language']);
614 $this->assertSame('http://preview.io/picture.jpg', $content['preview_picture']); 614 $this->assertSame('http://preview.io/picture.jpg', $content['preview_picture']);
@@ -647,7 +647,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
647 647
648 $this->assertSame($entry->getId(), $content['id']); 648 $this->assertSame($entry->getId(), $content['id']);
649 $this->assertSame($entry->getUrl(), $content['url']); 649 $this->assertSame($entry->getUrl(), $content['url']);
650 $this->assertGreaterThanOrEqual(1, count($content['tags']), 'We force only one tag'); 650 $this->assertGreaterThanOrEqual(1, \count($content['tags']), 'We force only one tag');
651 $this->assertEmpty($content['published_by'], 'Authors were not saved because of an array instead of a string'); 651 $this->assertEmpty($content['published_by'], 'Authors were not saved because of an array instead of a string');
652 $this->assertSame($previousContent, $content['content'], 'Ensure content has not moved'); 652 $this->assertSame($previousContent, $content['content'], 'Ensure content has not moved');
653 $this->assertSame($previousLanguage, $content['language'], 'Ensure language has not moved'); 653 $this->assertSame($previousLanguage, $content['language'], 'Ensure language has not moved');
@@ -772,7 +772,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
772 $this->markTestSkipped('No content found in db.'); 772 $this->markTestSkipped('No content found in db.');
773 } 773 }
774 774
775 $nbTags = count($entry->getTags()); 775 $nbTags = \count($entry->getTags());
776 776
777 $newTags = 'tag1,tag2,tag3'; 777 $newTags = 'tag1,tag2,tag3';
778 778
@@ -783,7 +783,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
783 $content = json_decode($this->client->getResponse()->getContent(), true); 783 $content = json_decode($this->client->getResponse()->getContent(), true);
784 784
785 $this->assertArrayHasKey('tags', $content); 785 $this->assertArrayHasKey('tags', $content);
786 $this->assertSame($nbTags + 3, count($content['tags'])); 786 $this->assertSame($nbTags + 3, \count($content['tags']));
787 787
788 $entryDB = $this->client->getContainer() 788 $entryDB = $this->client->getContainer()
789 ->get('doctrine.orm.entity_manager') 789 ->get('doctrine.orm.entity_manager')
@@ -813,7 +813,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
813 } 813 }
814 814
815 // hydrate the tags relations 815 // hydrate the tags relations
816 $nbTags = count($entry->getTags()); 816 $nbTags = \count($entry->getTags());
817 $tag = $entry->getTags()[0]; 817 $tag = $entry->getTags()[0];
818 818
819 $this->client->request('DELETE', '/api/entries/' . $entry->getId() . '/tags/' . $tag->getId() . '.json'); 819 $this->client->request('DELETE', '/api/entries/' . $entry->getId() . '/tags/' . $tag->getId() . '.json');
@@ -823,7 +823,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
823 $content = json_decode($this->client->getResponse()->getContent(), true); 823 $content = json_decode($this->client->getResponse()->getContent(), true);
824 824
825 $this->assertArrayHasKey('tags', $content); 825 $this->assertArrayHasKey('tags', $content);
826 $this->assertSame($nbTags - 1, count($content['tags'])); 826 $this->assertSame($nbTags - 1, \count($content['tags']));
827 } 827 }
828 828
829 public function testSaveIsArchivedAfterPost() 829 public function testSaveIsArchivedAfterPost()
@@ -1013,7 +1013,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
1013 public function testReloadEntry() 1013 public function testReloadEntry()
1014 { 1014 {
1015 $this->client->request('POST', '/api/entries.json', [ 1015 $this->client->request('POST', '/api/entries.json', [
1016 'url' => 'http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', 1016 'url' => 'https://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html',
1017 'archive' => '1', 1017 'archive' => '1',
1018 'tags' => 'google, apple', 1018 'tags' => 'google, apple',
1019 ]); 1019 ]);
@@ -1117,7 +1117,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
1117 public function testPostEntriesListAction() 1117 public function testPostEntriesListAction()
1118 { 1118 {
1119 $list = [ 1119 $list = [
1120 'http://www.lemonde.fr/musiques/article/2017/04/23/loin-de-la-politique-le-printemps-de-bourges-retombe-en-enfance_5115862_1654986.html', 1120 'https://www.lemonde.fr/musiques/article/2017/04/23/loin-de-la-politique-le-printemps-de-bourges-retombe-en-enfance_5115862_1654986.html',
1121 'http://0.0.0.0/entry2', 1121 'http://0.0.0.0/entry2',
1122 ]; 1122 ];
1123 1123
@@ -1128,7 +1128,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
1128 $content = json_decode($this->client->getResponse()->getContent(), true); 1128 $content = json_decode($this->client->getResponse()->getContent(), true);
1129 1129
1130 $this->assertInternalType('int', $content[0]['entry']); 1130 $this->assertInternalType('int', $content[0]['entry']);
1131 $this->assertSame('http://www.lemonde.fr/musiques/article/2017/04/23/loin-de-la-politique-le-printemps-de-bourges-retombe-en-enfance_5115862_1654986.html', $content[0]['url']); 1131 $this->assertSame('https://www.lemonde.fr/musiques/article/2017/04/23/loin-de-la-politique-le-printemps-de-bourges-retombe-en-enfance_5115862_1654986.html', $content[0]['url']);
1132 1132
1133 $this->assertInternalType('int', $content[1]['entry']); 1133 $this->assertInternalType('int', $content[1]['entry']);
1134 $this->assertSame('http://0.0.0.0/entry2', $content[1]['url']); 1134 $this->assertSame('http://0.0.0.0/entry2', $content[1]['url']);
@@ -1209,14 +1209,14 @@ class EntryRestControllerTest extends WallabagApiTestCase
1209 $entry = new Entry($em->getReference(User::class, 1)); 1209 $entry = new Entry($em->getReference(User::class, 1));
1210 $entry->setTitle('Antoine de Caunes : « Je veux avoir le droit de tâtonner »'); 1210 $entry->setTitle('Antoine de Caunes : « Je veux avoir le droit de tâtonner »');
1211 $entry->setContent('hihi'); 1211 $entry->setContent('hihi');
1212 $entry->setUrl('http://www.lemonde.fr/m-perso/article/2017/06/25/antoine-de-caunes-je-veux-avoir-le-droit-de-tatonner_5150728_4497916.html'); 1212 $entry->setUrl('https://www.lemonde.fr/m-perso/article/2017/06/25/antoine-de-caunes-je-veux-avoir-le-droit-de-tatonner_5150728_4497916.html');
1213 $entry->setPublishedAt(new \DateTime('2017-06-26T07:46:02+0200')); 1213 $entry->setPublishedAt(new \DateTime('2017-06-26T07:46:02+0200'));
1214 $em->persist($entry); 1214 $em->persist($entry);
1215 $em->flush(); 1215 $em->flush();
1216 $em->clear(); 1216 $em->clear();
1217 1217
1218 $this->client->request('POST', '/api/entries.json', [ 1218 $this->client->request('POST', '/api/entries.json', [
1219 'url' => 'http://www.lemonde.fr/m-perso/article/2017/06/25/antoine-de-caunes-je-veux-avoir-le-droit-de-tatonner_5150728_4497916.html', 1219 'url' => 'https://www.lemonde.fr/m-perso/article/2017/06/25/antoine-de-caunes-je-veux-avoir-le-droit-de-tatonner_5150728_4497916.html',
1220 ]); 1220 ]);
1221 1221
1222 $this->assertSame(200, $this->client->getResponse()->getStatusCode()); 1222 $this->assertSame(200, $this->client->getResponse()->getStatusCode());
@@ -1224,6 +1224,6 @@ class EntryRestControllerTest extends WallabagApiTestCase
1224 $content = json_decode($this->client->getResponse()->getContent(), true); 1224 $content = json_decode($this->client->getResponse()->getContent(), true);
1225 1225
1226 $this->assertGreaterThan(0, $content['id']); 1226 $this->assertGreaterThan(0, $content['id']);
1227 $this->assertSame('http://www.lemonde.fr/m-perso/article/2017/06/25/antoine-de-caunes-je-veux-avoir-le-droit-de-tatonner_5150728_4497916.html', $content['url']); 1227 $this->assertSame('https://www.lemonde.fr/m-perso/article/2017/06/25/antoine-de-caunes-je-veux-avoir-le-droit-de-tatonner_5150728_4497916.html', $content['url']);
1228 } 1228 }
1229} 1229}
diff --git a/tests/Wallabag/CoreBundle/Command/CleanDuplicatesCommandTest.php b/tests/Wallabag/CoreBundle/Command/CleanDuplicatesCommandTest.php
index 38e8dd07..5ca9785d 100644
--- a/tests/Wallabag/CoreBundle/Command/CleanDuplicatesCommandTest.php
+++ b/tests/Wallabag/CoreBundle/Command/CleanDuplicatesCommandTest.php
@@ -60,7 +60,7 @@ class CleanDuplicatesCommandTest extends WallabagCoreTestCase
60 60
61 public function testDuplicate() 61 public function testDuplicate()
62 { 62 {
63 $url = 'http://www.lemonde.fr/sport/visuel/2017/05/05/rondelle-prison-blanchissage-comprendre-le-hockey-sur-glace_5122587_3242.html'; 63 $url = 'https://www.lemonde.fr/sport/visuel/2017/05/05/rondelle-prison-blanchissage-comprendre-le-hockey-sur-glace_5122587_3242.html';
64 $client = $this->getClient(); 64 $client = $this->getClient();
65 $em = $client->getContainer()->get('doctrine.orm.entity_manager'); 65 $em = $client->getContainer()->get('doctrine.orm.entity_manager');
66 66
diff --git a/tests/Wallabag/CoreBundle/Command/ReloadEntryCommandTest.php b/tests/Wallabag/CoreBundle/Command/ReloadEntryCommandTest.php
index 63c068b4..b13f6519 100644
--- a/tests/Wallabag/CoreBundle/Command/ReloadEntryCommandTest.php
+++ b/tests/Wallabag/CoreBundle/Command/ReloadEntryCommandTest.php
@@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Entity\Entry;
10 10
11class ReloadEntryCommandTest extends WallabagCoreTestCase 11class ReloadEntryCommandTest extends WallabagCoreTestCase
12{ 12{
13 public $url = 'http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html'; 13 public $url = 'https://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html';
14 14
15 /** 15 /**
16 * @var entry 16 * @var entry
diff --git a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php
index e4bf0998..e07c57dd 100644
--- a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php
@@ -742,7 +742,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
742 $em->persist($tag); 742 $em->persist($tag);
743 743
744 $entry = new Entry($user); 744 $entry = new Entry($user);
745 $entry->setUrl('http://www.lemonde.fr/europe/article/2016/10/01/pour-le-psoe-chaque-election-s-est-transformee-en-une-agonie_5006476_3214.html'); 745 $entry->setUrl('https://www.lemonde.fr/europe/article/2016/10/01/pour-le-psoe-chaque-election-s-est-transformee-en-une-agonie_5006476_3214.html');
746 $entry->setContent('Youhou'); 746 $entry->setContent('Youhou');
747 $entry->setTitle('Youhou'); 747 $entry->setTitle('Youhou');
748 $entry->addTag($tag); 748 $entry->addTag($tag);
@@ -827,7 +827,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
827 $em->persist($tag); 827 $em->persist($tag);
828 828
829 $entry = new Entry($user); 829 $entry = new Entry($user);
830 $entry->setUrl('http://www.lemonde.fr/europe/article/2016/10/01/pour-le-psoe-chaque-election-s-est-transformee-en-une-agonie_5006476_3214.html'); 830 $entry->setUrl('https://www.lemonde.fr/europe/article/2016/10/01/pour-le-psoe-chaque-election-s-est-transformee-en-une-agonie_5006476_3214.html');
831 $entry->setContent('Youhou'); 831 $entry->setContent('Youhou');
832 $entry->setTitle('Youhou'); 832 $entry->setTitle('Youhou');
833 $entry->addTag($tag); 833 $entry->addTag($tag);
@@ -845,7 +845,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
845 $em->persist($tagArchived); 845 $em->persist($tagArchived);
846 846
847 $entryArchived = new Entry($user); 847 $entryArchived = new Entry($user);
848 $entryArchived->setUrl('http://www.lemonde.fr/europe/article/2016/10/01/pour-le-psoe-chaque-election-s-est-transformee-en-une-agonie_5006476_3214.html'); 848 $entryArchived->setUrl('https://www.lemonde.fr/europe/article/2016/10/01/pour-le-psoe-chaque-election-s-est-transformee-en-une-agonie_5006476_3214.html');
849 $entryArchived->setContent('Youhou'); 849 $entryArchived->setContent('Youhou');
850 $entryArchived->setTitle('Youhou'); 850 $entryArchived->setTitle('Youhou');
851 $entryArchived->addTag($tagArchived); 851 $entryArchived->addTag($tagArchived);
@@ -903,7 +903,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
903 $em->persist($tag); 903 $em->persist($tag);
904 904
905 $entry = new Entry($user); 905 $entry = new Entry($user);
906 $entry->setUrl('http://www.lemonde.fr/europe/article/2016/10/01/pour-le-psoe-chaque-election-s-est-transformee-en-une-agonie_5006476_3214.html'); 906 $entry->setUrl('https://www.lemonde.fr/europe/article/2016/10/01/pour-le-psoe-chaque-election-s-est-transformee-en-une-agonie_5006476_3214.html');
907 $entry->setContent('Youhou'); 907 $entry->setContent('Youhou');
908 $entry->setTitle('Youhou'); 908 $entry->setTitle('Youhou');
909 $entry->addTag($tag); 909 $entry->addTag($tag);
diff --git a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
index 12788366..bf0068b4 100644
--- a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
@@ -11,9 +11,9 @@ use Wallabag\CoreBundle\Helper\ContentProxy;
11 11
12class EntryControllerTest extends WallabagCoreTestCase 12class EntryControllerTest extends WallabagCoreTestCase
13{ 13{
14 const AN_URL_CONTAINING_AN_ARTICLE_WITH_IMAGE = 'http://www.lemonde.fr/judo/article/2017/11/11/judo-la-decima-de-teddy-riner_5213605_1556020.html'; 14 const AN_URL_CONTAINING_AN_ARTICLE_WITH_IMAGE = 'https://www.lemonde.fr/judo/article/2017/11/11/judo-la-decima-de-teddy-riner_5213605_1556020.html';
15 public $downloadImagesEnabled = false; 15 public $downloadImagesEnabled = false;
16 public $url = 'http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html'; 16 public $url = 'https://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html';
17 17
18 /** 18 /**
19 * @after 19 * @after
@@ -174,7 +174,7 @@ class EntryControllerTest extends WallabagCoreTestCase
174 174
175 public function testPostWithMultipleAuthors() 175 public function testPostWithMultipleAuthors()
176 { 176 {
177 $url = 'http://www.liberation.fr/planete/2017/04/05/donald-trump-et-xi-jinping-tentative-de-flirt-en-floride_1560768'; 177 $url = 'https://www.liberation.fr/planete/2017/04/05/donald-trump-et-xi-jinping-tentative-de-flirt-en-floride_1560768';
178 $this->logInAs('admin'); 178 $this->logInAs('admin');
179 $client = $this->getClient(); 179 $client = $this->getClient();
180 180
@@ -197,6 +197,7 @@ class EntryControllerTest extends WallabagCoreTestCase
197 ->getRepository('WallabagCoreBundle:Entry') 197 ->getRepository('WallabagCoreBundle:Entry')
198 ->findByUrlAndUserId($url, $this->getLoggedInUserId()); 198 ->findByUrlAndUserId($url, $this->getLoggedInUserId());
199 199
200 $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
200 $authors = $content->getPublishedBy(); 201 $authors = $content->getPublishedBy();
201 $this->assertSame('2017-04-05 19:26:13', $content->getPublishedAt()->format('Y-m-d H:i:s')); 202 $this->assertSame('2017-04-05 19:26:13', $content->getPublishedAt()->format('Y-m-d H:i:s'));
202 $this->assertSame('fr', $content->getLanguage()); 203 $this->assertSame('fr', $content->getLanguage());
@@ -524,7 +525,7 @@ class EntryControllerTest extends WallabagCoreTestCase
524 525
525 $this->assertGreaterThan(1, $title = $crawler->filter('div[id=article] h1')->extract(['_text'])); 526 $this->assertGreaterThan(1, $title = $crawler->filter('div[id=article] h1')->extract(['_text']));
526 $this->assertContains('My updated title hehe :)', $title[0]); 527 $this->assertContains('My updated title hehe :)', $title[0]);
527 $this->assertSame(1, count($stats = $crawler->filter('div[class=tools] ul[class=stats] li a[class=tool]')->extract(['_text']))); 528 $this->assertSame(1, \count($stats = $crawler->filter('div[class=tools] ul[class=stats] li a[class=tool]')->extract(['_text'])));
528 $this->assertNotContains('example.io', trim($stats[0])); 529 $this->assertNotContains('example.io', trim($stats[0]));
529 } 530 }
530 531
@@ -1143,7 +1144,7 @@ class EntryControllerTest extends WallabagCoreTestCase
1143 $client = $this->getClient(); 1144 $client = $this->getClient();
1144 1145
1145 $entry = new Entry($this->getLoggedInUser()); 1146 $entry = new Entry($this->getLoggedInUser());
1146 $entry->setUrl('http://www.lemonde.fr/incorrect-url/'); 1147 $entry->setUrl('https://www.lemonde.fr/incorrect-url/');
1147 $entry->setHttpStatus(404); 1148 $entry->setHttpStatus(404);
1148 $this->getEntityManager()->persist($entry); 1149 $this->getEntityManager()->persist($entry);
1149 1150
@@ -1309,12 +1310,12 @@ class EntryControllerTest extends WallabagCoreTestCase
1309 'https://www.pravda.ru/world/09-06-2017/1337283-qatar-0/', 1310 'https://www.pravda.ru/world/09-06-2017/1337283-qatar-0/',
1310 'ru', 1311 'ru',
1311 ], 1312 ],
1312 'fr-FR' => [ 1313 'fr' => [
1313 'https://www.zataz.com/90-des-dossiers-medicaux-des-coreens-du-sud-vendus-a-des-entreprises-privees/', 1314 'https://fr.wikipedia.org/wiki/Wallabag',
1314 'fr_FR', 1315 'fr',
1315 ], 1316 ],
1316 'de' => [ 1317 'de' => [
1317 'http://www.bild.de/politik/ausland/theresa-may/wahlbeben-grossbritannien-analyse-52108924.bild.html', 1318 'https://www.bild.de/politik/ausland/theresa-may/wahlbeben-grossbritannien-analyse-52108924.bild.html',
1318 'de', 1319 'de',
1319 ], 1320 ],
1320 'it' => [ 1321 'it' => [
@@ -1325,16 +1326,12 @@ class EntryControllerTest extends WallabagCoreTestCase
1325 'http://www.hao123.com/shequ?__noscript__-=1', 1326 'http://www.hao123.com/shequ?__noscript__-=1',
1326 'zh_CN', 1327 'zh_CN',
1327 ], 1328 ],
1328 'de_AT' => [ 1329 'ru' => [
1329 'https://buy.garmin.com/de-AT/AT/catalog/product/compareResult.ep?compareProduct=112885&compareProduct=36728', 1330 'https://www.kp.ru/daily/26879.7/3921982/',
1330 'de_AT', 1331 'ru',
1331 ],
1332 'ru_RU' => [
1333 'http://netler.ru/ikt/windows-error-reporting.htm',
1334 'ru_RU',
1335 ], 1332 ],
1336 'pt_BR' => [ 1333 'pt_BR' => [
1337 'http://precodoscombustiveis.com.br/postos/cidade/4121/pr/maringa', 1334 'https://politica.estadao.com.br/noticias/eleicoes,campanha-catatonica,70002491983',
1338 'pt_BR', 1335 'pt_BR',
1339 ], 1336 ],
1340 'fucked_list_of_languages' => [ 1337 'fucked_list_of_languages' => [
@@ -1342,8 +1339,8 @@ class EntryControllerTest extends WallabagCoreTestCase
1342 null, 1339 null,
1343 ], 1340 ],
1344 'es-ES' => [ 1341 'es-ES' => [
1345 'https://www.muylinux.com/2015/04/17/odf-reino-unido-microsoft-google/', 1342 'https://www.20minutos.es/noticia/3360685/0/gobierno-sanchez-primero-historia-mas-mujeres-que-hombres/',
1346 'es_ES', 1343 'es',
1347 ], 1344 ],
1348 ]; 1345 ];
1349 } 1346 }
diff --git a/tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php b/tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php
index ab7f23cc..6f3308e5 100644
--- a/tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php
@@ -180,7 +180,7 @@ class ExportControllerTest extends WallabagCoreTestCase
180 180
181 $this->assertGreaterThan(1, $csv); 181 $this->assertGreaterThan(1, $csv);
182 // +1 for title line 182 // +1 for title line
183 $this->assertSame(count($contentInDB) + 1, count($csv)); 183 $this->assertSame(\count($contentInDB) + 1, \count($csv));
184 $this->assertSame('Title;URL;Content;Tags;"MIME Type";Language;"Creation date"', $csv[0]); 184 $this->assertSame('Title;URL;Content;Tags;"MIME Type";Language;"Creation date"', $csv[0]);
185 $this->assertContains($contentInDB[0]['title'], $csv[1]); 185 $this->assertContains($contentInDB[0]['title'], $csv[1]);
186 $this->assertContains($contentInDB[0]['url'], $csv[1]); 186 $this->assertContains($contentInDB[0]['url'], $csv[1]);
@@ -272,7 +272,7 @@ class ExportControllerTest extends WallabagCoreTestCase
272 272
273 $content = new \SimpleXMLElement($client->getResponse()->getContent()); 273 $content = new \SimpleXMLElement($client->getResponse()->getContent());
274 $this->assertGreaterThan(0, $content->count()); 274 $this->assertGreaterThan(0, $content->count());
275 $this->assertSame(count($contentInDB), $content->count()); 275 $this->assertSame(\count($contentInDB), $content->count());
276 $this->assertNotEmpty('id', (string) $content->entry[0]->id); 276 $this->assertNotEmpty('id', (string) $content->entry[0]->id);
277 $this->assertNotEmpty('title', (string) $content->entry[0]->title); 277 $this->assertNotEmpty('title', (string) $content->entry[0]->title);
278 $this->assertNotEmpty('url', (string) $content->entry[0]->url); 278 $this->assertNotEmpty('url', (string) $content->entry[0]->url);
diff --git a/tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php b/tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php
index 2cf596d4..395208a2 100644
--- a/tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php
@@ -6,6 +6,16 @@ use Tests\Wallabag\CoreBundle\WallabagCoreTestCase;
6 6
7class SecurityControllerTest extends WallabagCoreTestCase 7class SecurityControllerTest extends WallabagCoreTestCase
8{ 8{
9 public function testLoginWithEmail()
10 {
11 $this->logInAsUsingHttp('bigboss@wallabag.org');
12 $client = $this->getClient();
13 $client->followRedirects();
14
15 $crawler = $client->request('GET', '/config');
16 $this->assertContains('config.form_rss.description', $crawler->filter('body')->extract(['_text'])[0]);
17 }
18
9 public function testLoginWithout2Factor() 19 public function testLoginWithout2Factor()
10 { 20 {
11 $this->logInAs('admin'); 21 $this->logInAs('admin');
@@ -81,7 +91,7 @@ class SecurityControllerTest extends WallabagCoreTestCase
81 } 91 }
82 92
83 $client->followRedirects(); 93 $client->followRedirects();
84 $crawler = $client->request('GET', '/register'); 94 $client->request('GET', '/register');
85 $this->assertContains('registration.submit', $client->getResponse()->getContent()); 95 $this->assertContains('registration.submit', $client->getResponse()->getContent());
86 } 96 }
87} 97}
diff --git a/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php b/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php
index 5a973a7e..768f4c07 100644
--- a/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php
@@ -98,7 +98,7 @@ class TagControllerTest extends WallabagCoreTestCase
98 $tags[$key] = $tag->getLabel(); 98 $tags[$key] = $tag->getLabel();
99 } 99 }
100 100
101 $this->assertGreaterThanOrEqual(2, count($tags)); 101 $this->assertGreaterThanOrEqual(2, \count($tags));
102 $this->assertNotFalse(array_search('foo2', $tags, true), 'Tag foo2 is assigned to the entry'); 102 $this->assertNotFalse(array_search('foo2', $tags, true), 'Tag foo2 is assigned to the entry');
103 $this->assertNotFalse(array_search('bar2', $tags, true), 'Tag bar2 is assigned to the entry'); 103 $this->assertNotFalse(array_search('bar2', $tags, true), 'Tag bar2 is assigned to the entry');
104 } 104 }
diff --git a/tests/Wallabag/CoreBundle/Helper/ContentProxyTest.php b/tests/Wallabag/CoreBundle/Helper/ContentProxyTest.php
index 398592e1..3f3c60d0 100644
--- a/tests/Wallabag/CoreBundle/Helper/ContentProxyTest.php
+++ b/tests/Wallabag/CoreBundle/Helper/ContentProxyTest.php
@@ -11,7 +11,6 @@ use Symfony\Component\Validator\ConstraintViolation;
11use Symfony\Component\Validator\ConstraintViolationList; 11use Symfony\Component\Validator\ConstraintViolationList;
12use Symfony\Component\Validator\Validator\RecursiveValidator; 12use Symfony\Component\Validator\Validator\RecursiveValidator;
13use Wallabag\CoreBundle\Entity\Entry; 13use Wallabag\CoreBundle\Entity\Entry;
14use Wallabag\CoreBundle\Entity\Tag;
15use Wallabag\CoreBundle\Helper\ContentProxy; 14use Wallabag\CoreBundle\Helper\ContentProxy;
16use Wallabag\CoreBundle\Helper\RuleBasedTagger; 15use Wallabag\CoreBundle\Helper\RuleBasedTagger;
17use Wallabag\UserBundle\Entity\User; 16use Wallabag\UserBundle\Entity\User;
@@ -532,6 +531,250 @@ class ContentProxyTest extends TestCase
532 $this->assertSame('1.1.1.1', $entry->getDomainName()); 531 $this->assertSame('1.1.1.1', $entry->getDomainName());
533 } 532 }
534 533
534 public function testWebsiteWithValidUTF8Title_doNothing()
535 {
536 // You can use https://www.online-toolz.com/tools/text-hex-convertor.php to convert UTF-8 text <=> hex
537 // See http://graphemica.com for more info about the characters
538 // '😻ℤz' (U+1F63B or F09F98BB; U+2124 or E284A4; U+007A or 7A) in hexadecimal and UTF-8
539 $actualTitle = $this->hexToStr('F09F98BB' . 'E284A4' . '7A');
540
541 $tagger = $this->getTaggerMock();
542 $tagger->expects($this->once())
543 ->method('tag');
544
545 $graby = $this->getMockBuilder('Graby\Graby')
546 ->setMethods(['fetchContent'])
547 ->disableOriginalConstructor()
548 ->getMock();
549
550 $graby->expects($this->any())
551 ->method('fetchContent')
552 ->willReturn([
553 'html' => false,
554 'title' => $actualTitle,
555 'url' => '',
556 'content_type' => 'text/html',
557 'language' => '',
558 ]);
559
560 $proxy = new ContentProxy($graby, $tagger, $this->getValidator(), $this->getLogger(), $this->fetchingErrorMessage);
561 $entry = new Entry(new User());
562 $proxy->updateEntry($entry, 'http://0.0.0.0');
563
564 // '😻ℤz' (U+1F63B or F09F98BB; U+2124 or E284A4; U+007A or 7A) in hexadecimal and UTF-8
565 $expectedTitle = 'F09F98BB' . 'E284A4' . '7A';
566 $this->assertSame($expectedTitle, $this->strToHex($entry->getTitle()));
567 }
568
569 public function testWebsiteWithInvalidUTF8Title_removeInvalidCharacter()
570 {
571 // See http://graphemica.com for more info about the characters
572 // 'a€b' (61;80;62) in hexadecimal and WINDOWS-1252 - but 80 is a invalid UTF-8 character.
573 // The correct UTF-8 € character (U+20AC) is E282AC
574 $actualTitle = $this->hexToStr('61' . '80' . '62');
575
576 $tagger = $this->getTaggerMock();
577 $tagger->expects($this->once())
578 ->method('tag');
579
580 $graby = $this->getMockBuilder('Graby\Graby')
581 ->setMethods(['fetchContent'])
582 ->disableOriginalConstructor()
583 ->getMock();
584
585 $graby->expects($this->any())
586 ->method('fetchContent')
587 ->willReturn([
588 'html' => false,
589 'title' => $actualTitle,
590 'url' => '',
591 'content_type' => 'text/html',
592 'language' => '',
593 ]);
594
595 $proxy = new ContentProxy($graby, $tagger, $this->getValidator(), $this->getLogger(), $this->fetchingErrorMessage);
596 $entry = new Entry(new User());
597 $proxy->updateEntry($entry, 'http://0.0.0.0');
598
599 // 'ab' (61;62) because all invalid UTF-8 character (like 80) are removed
600 $expectedTitle = '61' . '62';
601 $this->assertSame($expectedTitle, $this->strToHex($entry->getTitle()));
602 }
603
604 public function testPdfWithUTF16BETitle_convertToUTF8()
605 {
606 // See http://graphemica.com for more info about the characters
607 // '😻' (U+1F63B;D83DDE3B) in hexadecimal and as UTF16BE
608 $actualTitle = $this->hexToStr('D83DDE3B');
609
610 $tagger = $this->getTaggerMock();
611 $tagger->expects($this->once())
612 ->method('tag');
613
614 $graby = $this->getMockBuilder('Graby\Graby')
615 ->setMethods(['fetchContent'])
616 ->disableOriginalConstructor()
617 ->getMock();
618
619 $graby->expects($this->any())
620 ->method('fetchContent')
621 ->willReturn([
622 'html' => false,
623 'title' => $actualTitle,
624 'url' => '',
625 'content_type' => 'application/pdf',
626 'language' => '',
627 ]);
628
629 $proxy = new ContentProxy($graby, $tagger, $this->getValidator(), $this->getLogger(), $this->fetchingErrorMessage);
630 $entry = new Entry(new User());
631 $proxy->updateEntry($entry, 'http://0.0.0.0');
632
633 // '😻' (U+1F63B or F09F98BB) in hexadecimal and UTF-8
634 $expectedTitle = 'F09F98BB';
635 $this->assertSame($expectedTitle, $this->strToHex($entry->getTitle()));
636 }
637
638 public function testPdfWithUTF8Title_doNothing()
639 {
640 // See http://graphemica.com for more info about the characters
641 // '😻' (U+1F63B;D83DDE3B) in hexadecimal and as UTF8
642 $actualTitle = $this->hexToStr('F09F98BB');
643
644 $tagger = $this->getTaggerMock();
645 $tagger->expects($this->once())
646 ->method('tag');
647
648 $graby = $this->getMockBuilder('Graby\Graby')
649 ->setMethods(['fetchContent'])
650 ->disableOriginalConstructor()
651 ->getMock();
652
653 $graby->expects($this->any())
654 ->method('fetchContent')
655 ->willReturn([
656 'html' => false,
657 'title' => $actualTitle,
658 'url' => '',
659 'content_type' => 'application/pdf',
660 'language' => '',
661 ]);
662
663 $proxy = new ContentProxy($graby, $tagger, $this->getValidator(), $this->getLogger(), $this->fetchingErrorMessage);
664 $entry = new Entry(new User());
665 $proxy->updateEntry($entry, 'http://0.0.0.0');
666
667 // '😻' (U+1F63B or F09F98BB) in hexadecimal and UTF-8
668 $expectedTitle = 'F09F98BB';
669 $this->assertSame($expectedTitle, $this->strToHex($entry->getTitle()));
670 }
671
672 public function testPdfWithWINDOWS1252Title_convertToUTF8()
673 {
674 // See http://graphemica.com for more info about the characters
675 // '€' (80) in hexadecimal and WINDOWS-1252
676 $actualTitle = $this->hexToStr('80');
677
678 $tagger = $this->getTaggerMock();
679 $tagger->expects($this->once())
680 ->method('tag');
681
682 $graby = $this->getMockBuilder('Graby\Graby')
683 ->setMethods(['fetchContent'])
684 ->disableOriginalConstructor()
685 ->getMock();
686
687 $graby->expects($this->any())
688 ->method('fetchContent')
689 ->willReturn([
690 'html' => false,
691 'title' => $actualTitle,
692 'url' => '',
693 'content_type' => 'application/pdf',
694 'language' => '',
695 ]);
696
697 $proxy = new ContentProxy($graby, $tagger, $this->getValidator(), $this->getLogger(), $this->fetchingErrorMessage);
698 $entry = new Entry(new User());
699 $proxy->updateEntry($entry, 'http://0.0.0.0');
700
701 // '€' (U+20AC or E282AC) in hexadecimal and UTF-8
702 $expectedTitle = 'E282AC';
703 $this->assertSame($expectedTitle, $this->strToHex($entry->getTitle()));
704 }
705
706 public function testPdfWithInvalidCharacterInTitle_removeInvalidCharacter()
707 {
708 // See http://graphemica.com for more info about the characters
709 // '😻ℤ�z' (U+1F63B or F09F98BB; U+2124 or E284A4; invalid character 81; U+007A or 7A) in hexadecimal and UTF-8
710 // 0x81 is not a valid character for UTF16, UTF8 and WINDOWS-1252
711 $actualTitle = $this->hexToStr('F09F98BB' . 'E284A4' . '81' . '7A');
712
713 $tagger = $this->getTaggerMock();
714 $tagger->expects($this->once())
715 ->method('tag');
716
717 $graby = $this->getMockBuilder('Graby\Graby')
718 ->setMethods(['fetchContent'])
719 ->disableOriginalConstructor()
720 ->getMock();
721
722 $graby->expects($this->any())
723 ->method('fetchContent')
724 ->willReturn([
725 'html' => false,
726 'title' => $actualTitle,
727 'url' => '',
728 'content_type' => 'application/pdf',
729 'language' => '',
730 ]);
731
732 $proxy = new ContentProxy($graby, $tagger, $this->getValidator(), $this->getLogger(), $this->fetchingErrorMessage);
733 $entry = new Entry(new User());
734 $proxy->updateEntry($entry, 'http://0.0.0.0');
735
736 // '😻ℤz' (U+1F63B or F09F98BB; U+2124 or E284A4; U+007A or 7A) in hexadecimal and UTF-8
737 // the 0x81 (represented by �) is invalid for UTF16, UTF8 and WINDOWS-1252 and is removed
738 $expectedTitle = 'F09F98BB' . 'E284A4' . '7A';
739 $this->assertSame($expectedTitle, $this->strToHex($entry->getTitle()));
740 }
741
742 /**
743 * https://stackoverflow.com/a/18506801.
744 *
745 * @param $string
746 *
747 * @return string
748 */
749 private function strToHex($string)
750 {
751 $hex = '';
752 for ($i = 0; $i < \strlen($string); ++$i) {
753 $ord = \ord($string[$i]);
754 $hexCode = dechex($ord);
755 $hex .= substr('0' . $hexCode, -2);
756 }
757
758 return strtoupper($hex);
759 }
760
761 /**
762 * https://stackoverflow.com/a/18506801.
763 *
764 * @param $hex
765 *
766 * @return string
767 */
768 private function hexToStr($hex)
769 {
770 $string = '';
771 for ($i = 0; $i < \strlen($hex) - 1; $i += 2) {
772 $string .= \chr(hexdec($hex[$i] . $hex[$i + 1]));
773 }
774
775 return $string;
776 }
777
535 private function getTaggerMock() 778 private function getTaggerMock()
536 { 779 {
537 return $this->getMockBuilder(RuleBasedTagger::class) 780 return $this->getMockBuilder(RuleBasedTagger::class)
diff --git a/tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php b/tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php
index 0e1d296b..cda5f843 100644
--- a/tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php
+++ b/tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php
@@ -183,4 +183,73 @@ class DownloadImagesTest extends TestCase
183 $this->assertContains('http://wallabag.io/assets/images/9/b/9b0ead26/', $res, 'Content-Type was empty but data is ok for an image'); 183 $this->assertContains('http://wallabag.io/assets/images/9/b/9b0ead26/', $res, 'Content-Type was empty but data is ok for an image');
184 $this->assertContains('DownloadImages: Checking extension (alternative)', $logHandler->getRecords()[3]['message']); 184 $this->assertContains('DownloadImages: Checking extension (alternative)', $logHandler->getRecords()[3]['message']);
185 } 185 }
186
187 public function testProcessImageWithSrcset()
188 {
189 $client = new Client();
190
191 $mock = new Mock([
192 new Response(200, ['content-type' => 'image/jpeg'], Stream::factory(file_get_contents(__DIR__ . '/../fixtures/image-no-content-type.jpg'))),
193 new Response(200, ['content-type' => 'image/jpeg'], Stream::factory(file_get_contents(__DIR__ . '/../fixtures/image-no-content-type.jpg'))),
194 new Response(200, ['content-type' => 'image/jpeg'], Stream::factory(file_get_contents(__DIR__ . '/../fixtures/image-no-content-type.jpg'))),
195 ]);
196
197 $client->getEmitter()->attach($mock);
198
199 $logHandler = new TestHandler();
200 $logger = new Logger('test', [$logHandler]);
201
202 $download = new DownloadImages($client, sys_get_temp_dir() . '/wallabag_test', 'http://wallabag.io/', $logger);
203 $res = $download->processHtml(123, '<p><img class="alignnone wp-image-1153" src="http://piketty.blog.lemonde.fr/files/2017/10/F1FR-530x375.jpg" alt="" width="628" height="444" srcset="http://piketty.blog.lemonde.fr/files/2017/10/F1FR-530x375.jpg 530w, http://piketty.blog.lemonde.fr/files/2017/10/F1FR-768x543.jpg 768w, http://piketty.blog.lemonde.fr/files/2017/10/F1FR-900x636.jpg 900w" sizes="(max-width: 628px) 100vw, 628px" /></p>', 'http://piketty.blog.lemonde.fr/2017/10/12/budget-2018-la-jeunesse-sacrifiee/');
204
205 $this->assertNotContains('http://piketty.blog.lemonde.fr/', $res, 'Image srcset attribute were not replaced');
206 }
207
208 public function testProcessImageWithTrickySrcset()
209 {
210 $client = new Client();
211
212 $mock = new Mock([
213 new Response(200, ['content-type' => 'image/jpeg'], Stream::factory(file_get_contents(__DIR__ . '/../fixtures/image-no-content-type.jpg'))),
214 new Response(200, ['content-type' => 'image/jpeg'], Stream::factory(file_get_contents(__DIR__ . '/../fixtures/image-no-content-type.jpg'))),
215 new Response(200, ['content-type' => 'image/jpeg'], Stream::factory(file_get_contents(__DIR__ . '/../fixtures/image-no-content-type.jpg'))),
216 ]);
217
218 $client->getEmitter()->attach($mock);
219
220 $logHandler = new TestHandler();
221 $logger = new Logger('test', [$logHandler]);
222
223 $download = new DownloadImages($client, sys_get_temp_dir() . '/wallabag_test', 'http://wallabag.io/', $logger);
224 $res = $download->processHtml(123, '<figure id="post-257260" class="align-none media-257260"><img src="https://cdn.css-tricks.com/wp-content/uploads/2017/08/the-critical-request.png" srcset="https://res.cloudinary.com/css-tricks/image/upload/c_scale,w_1000,f_auto,q_auto/v1501594717/the-critical-request_bqdfaa.png 1000w, https://res.cloudinary.com/css-tricks/image/upload/c_scale,w_200,f_auto,q_auto/v1501594717/the-critical-request_bqdfaa.png 200w" sizes="(min-width: 1850px) calc( (100vw - 555px) / 3 )
225 (min-width: 1251px) calc( (100vw - 530px) / 2 )
226 (min-width: 1086px) calc(100vw - 480px)
227 (min-width: 626px) calc(100vw - 335px)
228 calc(100vw - 30px)" alt="" /></figure>', 'https://css-tricks.com/the-critical-request/');
229
230 $this->assertNotContains('f_auto,q_auto', $res, 'Image srcset attribute were not replaced');
231 }
232
233 public function testProcessImageWithNullPath()
234 {
235 $client = new Client();
236
237 $mock = new Mock([
238 new Response(200, ['content-type' => null], Stream::factory(file_get_contents(__DIR__ . '/../fixtures/image-no-content-type.jpg'))),
239 ]);
240
241 $client->getEmitter()->attach($mock);
242
243 $logHandler = new TestHandler();
244 $logger = new Logger('test', [$logHandler]);
245
246 $download = new DownloadImages($client, sys_get_temp_dir() . '/wallabag_test', 'http://wallabag.io/', $logger);
247
248 $res = $download->processSingleImage(
249 123,
250 null,
251 'https://framablog.org/2018/06/30/engagement-atypique/'
252 );
253 $this->assertFalse($res);
254 }
186} 255}
diff --git a/tests/Wallabag/CoreBundle/Tools/UtilsTest.php b/tests/Wallabag/CoreBundle/Tools/UtilsTest.php
index 347589dc..952d076d 100644
--- a/tests/Wallabag/CoreBundle/Tools/UtilsTest.php
+++ b/tests/Wallabag/CoreBundle/Tools/UtilsTest.php
@@ -13,7 +13,7 @@ class UtilsTest extends TestCase
13 */ 13 */
14 public function testCorrectWordsCountForDifferentLanguages($text, $expectedCount) 14 public function testCorrectWordsCountForDifferentLanguages($text, $expectedCount)
15 { 15 {
16 static::assertEquals((float) $expectedCount, Utils::getReadingTime($text)); 16 static::assertSame((float) $expectedCount, Utils::getReadingTime($text));
17 } 17 }
18 18
19 public function examples() 19 public function examples()
diff --git a/tests/Wallabag/ImportBundle/Controller/ChromeControllerTest.php b/tests/Wallabag/ImportBundle/Controller/ChromeControllerTest.php
index ddb7a65a..cd3e41e9 100644
--- a/tests/Wallabag/ImportBundle/Controller/ChromeControllerTest.php
+++ b/tests/Wallabag/ImportBundle/Controller/ChromeControllerTest.php
@@ -121,7 +121,7 @@ class ChromeControllerTest extends WallabagCoreTestCase
121 $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content); 121 $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
122 $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for http://www.usinenouvelle.com is ok'); 122 $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for http://www.usinenouvelle.com is ok');
123 $this->assertNotEmpty($content->getLanguage(), 'Language for http://www.usinenouvelle.com is ok'); 123 $this->assertNotEmpty($content->getLanguage(), 'Language for http://www.usinenouvelle.com is ok');
124 $this->assertSame(1, count($content->getTags())); 124 $this->assertSame(1, \count($content->getTags()));
125 125
126 $createdAt = $content->getCreatedAt(); 126 $createdAt = $content->getCreatedAt();
127 $this->assertSame('2011', $createdAt->format('Y')); 127 $this->assertSame('2011', $createdAt->format('Y'));
diff --git a/tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php b/tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php
index dc9d9a8f..dc5ed6d0 100644
--- a/tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php
+++ b/tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php
@@ -122,20 +122,20 @@ class FirefoxControllerTest extends WallabagCoreTestCase
122 $this->assertNotEmpty($content->getMimetype(), 'Mimetype for http://lexpansion.lexpress.fr is ok'); 122 $this->assertNotEmpty($content->getMimetype(), 'Mimetype for http://lexpansion.lexpress.fr is ok');
123 $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for http://lexpansion.lexpress.fr is ok'); 123 $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for http://lexpansion.lexpress.fr is ok');
124 $this->assertNotEmpty($content->getLanguage(), 'Language for http://lexpansion.lexpress.fr is ok'); 124 $this->assertNotEmpty($content->getLanguage(), 'Language for http://lexpansion.lexpress.fr is ok');
125 $this->assertSame(3, count($content->getTags())); 125 $this->assertSame(3, \count($content->getTags()));
126 126
127 $content = $client->getContainer() 127 $content = $client->getContainer()
128 ->get('doctrine.orm.entity_manager') 128 ->get('doctrine.orm.entity_manager')
129 ->getRepository('WallabagCoreBundle:Entry') 129 ->getRepository('WallabagCoreBundle:Entry')
130 ->findByUrlAndUserId( 130 ->findByUrlAndUserId(
131 'https://stackoverflow.com/questions/15017163/parser-for-exported-bookmarks-html-file-of-google-chrome-and-mozilla-in-java', 131 'https://www.lemonde.fr/disparitions/article/2018/07/05/le-journaliste-et-cineaste-claude-lanzmann-est-mort_5326313_3382.html',
132 $this->getLoggedInUserId() 132 $this->getLoggedInUserId()
133 ); 133 );
134 134
135 $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content); 135 $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
136 $this->assertNotEmpty($content->getMimetype(), 'Mimetype for https://stackoverflow.com is ok'); 136 $this->assertNotEmpty($content->getMimetype(), 'Mimetype for https://www.lemonde.fr is ok');
137 $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for https://stackoverflow.com is ok'); 137 $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for https://www.lemonde.fr is ok');
138 $this->assertEmpty($content->getLanguage(), 'Language for https://stackoverflow.com is ok'); 138 $this->assertNotEmpty($content->getLanguage(), 'Language for https://www.lemonde.fr is ok');
139 139
140 $createdAt = $content->getCreatedAt(); 140 $createdAt = $content->getCreatedAt();
141 $this->assertSame('2013', $createdAt->format('Y')); 141 $this->assertSame('2013', $createdAt->format('Y'));
diff --git a/tests/Wallabag/ImportBundle/Controller/InstapaperControllerTest.php b/tests/Wallabag/ImportBundle/Controller/InstapaperControllerTest.php
index 9b887cbb..7390fa88 100644
--- a/tests/Wallabag/ImportBundle/Controller/InstapaperControllerTest.php
+++ b/tests/Wallabag/ImportBundle/Controller/InstapaperControllerTest.php
@@ -114,29 +114,31 @@ class InstapaperControllerTest extends WallabagCoreTestCase
114 ->get('doctrine.orm.entity_manager') 114 ->get('doctrine.orm.entity_manager')
115 ->getRepository('WallabagCoreBundle:Entry') 115 ->getRepository('WallabagCoreBundle:Entry')
116 ->findByUrlAndUserId( 116 ->findByUrlAndUserId(
117 'http://www.liberation.fr/societe/2012/12/06/baumettes-un-tour-en-cellule_865551', 117 'https://www.liberation.fr/societe/2012/12/06/baumettes-un-tour-en-cellule_865551',
118 $this->getLoggedInUserId() 118 $this->getLoggedInUserId()
119 ); 119 );
120 120
121 $this->assertNotEmpty($content->getMimetype(), 'Mimetype for http://www.liberation.fr is ok'); 121 $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
122 $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for http://www.liberation.fr is ok'); 122
123 $this->assertNotEmpty($content->getLanguage(), 'Language for http://www.liberation.fr is ok'); 123 $this->assertNotEmpty($content->getMimetype(), 'Mimetype for https://www.liberation.fr is ok');
124 $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for https://www.liberation.fr is ok');
125 $this->assertNotEmpty($content->getLanguage(), 'Language for https://www.liberation.fr is ok');
124 $this->assertContains('foot', $content->getTags(), 'It includes the "foot" tag'); 126 $this->assertContains('foot', $content->getTags(), 'It includes the "foot" tag');
125 $this->assertSame(1, count($content->getTags())); 127 $this->assertSame(1, \count($content->getTags()));
126 $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt()); 128 $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt());
127 129
128 $content = $client->getContainer() 130 $content = $client->getContainer()
129 ->get('doctrine.orm.entity_manager') 131 ->get('doctrine.orm.entity_manager')
130 ->getRepository('WallabagCoreBundle:Entry') 132 ->getRepository('WallabagCoreBundle:Entry')
131 ->findByUrlAndUserId( 133 ->findByUrlAndUserId(
132 'https://www.20minutes.fr/high-tech/2077615-20170531-dis-donc-donald-trump-quoi-exactement-covfefe', 134 'https://www.20minutes.fr/high-tech/2077615-20170531-quoi-exactement-tweet-covfefe-donald-trump-persiste-signe',
133 $this->getLoggedInUserId() 135 $this->getLoggedInUserId()
134 ); 136 );
135 137
136 $this->assertContains('foot', $content->getTags()); 138 $this->assertContains('foot', $content->getTags());
137 $this->assertContains('test_tag', $content->getTags()); 139 $this->assertContains('test_tag', $content->getTags());
138 140
139 $this->assertSame(2, count($content->getTags())); 141 $this->assertSame(2, \count($content->getTags()));
140 } 142 }
141 143
142 public function testImportInstapaperWithFileAndMarkAllAsRead() 144 public function testImportInstapaperWithFileAndMarkAllAsRead()
diff --git a/tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php b/tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php
index 1135f32e..80819f45 100644
--- a/tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php
+++ b/tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php
@@ -127,7 +127,7 @@ class PinboardControllerTest extends WallabagCoreTestCase
127 $this->assertContains('foot', $tags, 'It includes the "foot" tag'); 127 $this->assertContains('foot', $tags, 'It includes the "foot" tag');
128 $this->assertContains('varnish', $tags, 'It includes the "varnish" tag'); 128 $this->assertContains('varnish', $tags, 'It includes the "varnish" tag');
129 $this->assertContains('php', $tags, 'It includes the "php" tag'); 129 $this->assertContains('php', $tags, 'It includes the "php" tag');
130 $this->assertSame(3, count($tags)); 130 $this->assertSame(3, \count($tags));
131 131
132 $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt()); 132 $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt());
133 $this->assertSame('2016-10-26', $content->getCreatedAt()->format('Y-m-d')); 133 $this->assertSame('2016-10-26', $content->getCreatedAt()->format('Y-m-d'));
diff --git a/tests/Wallabag/ImportBundle/Controller/ReadabilityControllerTest.php b/tests/Wallabag/ImportBundle/Controller/ReadabilityControllerTest.php
index fcb9dfab..5619659a 100644
--- a/tests/Wallabag/ImportBundle/Controller/ReadabilityControllerTest.php
+++ b/tests/Wallabag/ImportBundle/Controller/ReadabilityControllerTest.php
@@ -111,7 +111,7 @@ class ReadabilityControllerTest extends WallabagCoreTestCase
111 ->get('doctrine.orm.entity_manager') 111 ->get('doctrine.orm.entity_manager')
112 ->getRepository('WallabagCoreBundle:Entry') 112 ->getRepository('WallabagCoreBundle:Entry')
113 ->findByUrlAndUserId( 113 ->findByUrlAndUserId(
114 'https://www.zataz.com/90-des-dossiers-medicaux-des-coreens-du-sud-vendus-a-des-entreprises-privees/', 114 'https://www.20minutes.fr/bordeaux/2120479-20170823-bordeaux-poche-chocolatine-association-traduit-etudiants-etrangers-mots-sud-ouest',
115 $this->getLoggedInUserId() 115 $this->getLoggedInUserId()
116 ); 116 );
117 117
@@ -119,13 +119,13 @@ class ReadabilityControllerTest extends WallabagCoreTestCase
119 $this->assertContains('flashes.import.notice.summary', $body[0]); 119 $this->assertContains('flashes.import.notice.summary', $body[0]);
120 120
121 $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content); 121 $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
122 $this->assertNotEmpty($content->getMimetype(), 'Mimetype for http://www.zataz.com is ok'); 122 $this->assertNotEmpty($content->getMimetype(), 'Mimetype for https://www.20minutes.fr is ok');
123 $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for http://www.zataz.com is ok'); 123 $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for https://www.20minutes.fr is ok');
124 $this->assertNotEmpty($content->getLanguage(), 'Language for http://www.zataz.com is ok'); 124 $this->assertNotEmpty($content->getLanguage(), 'Language for https://www.20minutes.fr is ok');
125 125
126 $tags = $content->getTags(); 126 $tags = $content->getTags();
127 $this->assertContains('foot', $tags, 'It includes the "foot" tag'); 127 $this->assertContains('foot', $tags, 'It includes the "foot" tag');
128 $this->assertSame(1, count($tags)); 128 $this->assertSame(1, \count($tags));
129 129
130 $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt()); 130 $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt());
131 $this->assertSame('2016-09-08', $content->getCreatedAt()->format('Y-m-d')); 131 $this->assertSame('2016-09-08', $content->getCreatedAt()->format('Y-m-d'));
diff --git a/tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php b/tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php
index e0e309b0..c67941a7 100644
--- a/tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php
+++ b/tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php
@@ -127,7 +127,7 @@ class WallabagV1ControllerTest extends WallabagCoreTestCase
127 $tags = $content->getTags(); 127 $tags = $content->getTags();
128 $this->assertContains('foot', $tags, 'It includes the "foot" tag'); 128 $this->assertContains('foot', $tags, 'It includes the "foot" tag');
129 $this->assertContains('framabag', $tags, 'It includes the "framabag" tag'); 129 $this->assertContains('framabag', $tags, 'It includes the "framabag" tag');
130 $this->assertSame(2, count($tags)); 130 $this->assertSame(2, \count($tags));
131 131
132 $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt()); 132 $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt());
133 } 133 }
diff --git a/tests/Wallabag/ImportBundle/Controller/WallabagV2ControllerTest.php b/tests/Wallabag/ImportBundle/Controller/WallabagV2ControllerTest.php
index e52b9c85..822656ba 100644
--- a/tests/Wallabag/ImportBundle/Controller/WallabagV2ControllerTest.php
+++ b/tests/Wallabag/ImportBundle/Controller/WallabagV2ControllerTest.php
@@ -115,20 +115,20 @@ class WallabagV2ControllerTest extends WallabagCoreTestCase
115 ->get('doctrine.orm.entity_manager') 115 ->get('doctrine.orm.entity_manager')
116 ->getRepository('WallabagCoreBundle:Entry') 116 ->getRepository('WallabagCoreBundle:Entry')
117 ->findByUrlAndUserId( 117 ->findByUrlAndUserId(
118 'http://www.liberation.fr/planete/2015/10/26/refugies-l-ue-va-creer-100-000-places-d-accueil-dans-les-balkans_1408867', 118 'https://www.liberation.fr/planete/2015/10/26/refugies-l-ue-va-creer-100-000-places-d-accueil-dans-les-balkans_1408867',
119 $this->getLoggedInUserId() 119 $this->getLoggedInUserId()
120 ); 120 );
121 121
122 $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content); 122 $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
123 123
124 // empty because it wasn't re-imported 124 // empty because it wasn't re-imported
125 $this->assertEmpty($content->getMimetype(), 'Mimetype for http://www.liberation.fr is empty'); 125 $this->assertEmpty($content->getMimetype(), 'Mimetype for https://www.liberation.fr is empty');
126 $this->assertEmpty($content->getPreviewPicture(), 'Preview picture for http://www.liberation.fr is empty'); 126 $this->assertEmpty($content->getPreviewPicture(), 'Preview picture for https://www.liberation.fr is empty');
127 $this->assertEmpty($content->getLanguage(), 'Language for http://www.liberation.fr is empty'); 127 $this->assertEmpty($content->getLanguage(), 'Language for https://www.liberation.fr is empty');
128 128
129 $tags = $content->getTags(); 129 $tags = $content->getTags();
130 $this->assertContains('foot', $tags, 'It includes the "foot" tag'); 130 $this->assertContains('foot', $tags, 'It includes the "foot" tag');
131 $this->assertSame(1, count($tags)); 131 $this->assertSame(1, \count($tags));
132 132
133 $content = $client->getContainer() 133 $content = $client->getContainer()
134 ->get('doctrine.orm.entity_manager') 134 ->get('doctrine.orm.entity_manager')
@@ -147,7 +147,7 @@ class WallabagV2ControllerTest extends WallabagCoreTestCase
147 $this->assertContains('foot', $tags, 'It includes the "foot" tag'); 147 $this->assertContains('foot', $tags, 'It includes the "foot" tag');
148 $this->assertContains('mediapart', $tags, 'It includes the "mediapart" tag'); 148 $this->assertContains('mediapart', $tags, 'It includes the "mediapart" tag');
149 $this->assertContains('blog', $tags, 'It includes the "blog" tag'); 149 $this->assertContains('blog', $tags, 'It includes the "blog" tag');
150 $this->assertSame(3, count($tags)); 150 $this->assertSame(3, \count($tags));
151 151
152 $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt()); 152 $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt());
153 $this->assertSame('2016-09-08', $content->getCreatedAt()->format('Y-m-d')); 153 $this->assertSame('2016-09-08', $content->getCreatedAt()->format('Y-m-d'));
diff --git a/tests/Wallabag/ImportBundle/fixtures/firefox-bookmarks.json b/tests/Wallabag/ImportBundle/fixtures/firefox-bookmarks.json
index 406b5697..3d90b489 100644
--- a/tests/Wallabag/ImportBundle/fixtures/firefox-bookmarks.json
+++ b/tests/Wallabag/ImportBundle/fixtures/firefox-bookmarks.json
@@ -39,13 +39,13 @@
39 }, 39 },
40 { 40 {
41 "guid": "E385l9vZ_LVn", 41 "guid": "E385l9vZ_LVn",
42 "title": "Parser for Exported Bookmarks HTML file of Google Chrome and Mozilla in Java", 42 "title": "Le journaliste et cinéaste Claude Lanzmann est mort",
43 "index": 1, 43 "index": 1,
44 "dateAdded": 1388166091544000, 44 "dateAdded": 1388166091544000,
45 "lastModified": 1388166091545000, 45 "lastModified": 1388166091545000,
46 "id": 5, 46 "id": 5,
47 "type": "text/x-moz-place", 47 "type": "text/x-moz-place",
48 "uri": "http://stackoverflow.com/questions/15017163/parser-for-exported-bookmarks-html-file-of-google-chrome-and-mozilla-in-java" 48 "uri": "https://www.lemonde.fr/disparitions/article/2018/07/05/le-journaliste-et-cineaste-claude-lanzmann-est-mort_5326313_3382.html"
49 } 49 }
50 ] 50 ]
51 }, 51 },
diff --git a/tests/Wallabag/ImportBundle/fixtures/instapaper-export.csv b/tests/Wallabag/ImportBundle/fixtures/instapaper-export.csv
index 06d018e0..5380bf2c 100644
--- a/tests/Wallabag/ImportBundle/fixtures/instapaper-export.csv
+++ b/tests/Wallabag/ImportBundle/fixtures/instapaper-export.csv
@@ -1,5 +1,5 @@
1URL,Title,Selection,Folder 1URL,Title,Selection,Folder
2http://www.liberation.fr/societe/2012/12/06/baumettes-un-tour-en-cellule_865551,Baumettes : un tour en cellule,,Unread 2https://www.liberation.fr/societe/2012/12/06/baumettes-un-tour-en-cellule_865551,Baumettes : un tour en cellule,,Unread
3https://redditblog.com/2016/09/20/amp-and-reactredux/,AMP and React+Redux: Why Not?,,Archive 3https://redditblog.com/2016/09/20/amp-and-reactredux/,AMP and React+Redux: Why Not?,,Archive
4https://medium.com/@the_minh/why-foursquare-swarm-is-still-my-favourite-social-network-e38228493e6c,Why Foursquare / Swarm is still my favourite social network,,Starred 4https://medium.com/@the_minh/why-foursquare-swarm-is-still-my-favourite-social-network-e38228493e6c,Why Foursquare / Swarm is still my favourite social network,,Starred
5https://www.20minutes.fr/high-tech/2077615-20170531-dis-donc-donald-trump-quoi-exactement-covfefe,"Dis donc Donald Trump, c'est quoi exactement «covfefe»?",,test_tag 5https://www.20minutes.fr/high-tech/2077615-20170531-quoi-exactement-tweet-covfefe-donald-trump-persiste-signe,"Dis donc Donald Trump, c'est quoi exactement «covfefe»?",,test_tag
diff --git a/tests/Wallabag/ImportBundle/fixtures/readability.json b/tests/Wallabag/ImportBundle/fixtures/readability.json
index ba7be5bf..f71b8d19 100644
--- a/tests/Wallabag/ImportBundle/fixtures/readability.json
+++ b/tests/Wallabag/ImportBundle/fixtures/readability.json
@@ -21,8 +21,8 @@
21 "archive": 0, 21 "archive": 0,
22 "date_added": "2016-09-08T11:55:58+0200", 22 "date_added": "2016-09-08T11:55:58+0200",
23 "favorite": 0, 23 "favorite": 0,
24 "article__title": "90% des dossiers médicaux des Coréens du sud vendus à des entreprises privées - ZATAZ", 24 "article__title": "Bordeaux: Poche, chocolatine… Une association traduit aux étudiants étrangers les mots du Sud-Ouest",
25 "article__url": "https://www.zataz.com/90-des-dossiers-medicaux-des-coreens-du-sud-vendus-a-des-entreprises-privees/" 25 "article__url": "https://www.20minutes.fr/bordeaux/2120479-20170823-bordeaux-poche-chocolatine-association-traduit-etudiants-etrangers-mots-sud-ouest"
26 } 26 }
27 ], 27 ],
28 "recommendations": [] 28 "recommendations": []
diff --git a/tests/Wallabag/ImportBundle/fixtures/wallabag-v2.json b/tests/Wallabag/ImportBundle/fixtures/wallabag-v2.json
index 63c44cf9..a2142f90 100644
--- a/tests/Wallabag/ImportBundle/fixtures/wallabag-v2.json
+++ b/tests/Wallabag/ImportBundle/fixtures/wallabag-v2.json
@@ -21,7 +21,7 @@
21 { 21 {
22 "id": 22, 22 "id": 22,
23 "title": "Réfugiés: l'UE va créer 100 000 places d'accueil dans les Balkans", 23 "title": "Réfugiés: l'UE va créer 100 000 places d'accueil dans les Balkans",
24 "url": "http://www.liberation.fr/planete/2015/10/26/refugies-l-ue-va-creer-100-000-places-d-accueil-dans-les-balkans_1408867", 24 "url": "https://www.liberation.fr/planete/2015/10/26/refugies-l-ue-va-creer-100-000-places-d-accueil-dans-les-balkans_1408867",
25 "is_archived": false, 25 "is_archived": false,
26 "created_at": "2016-09-08T11:55:58+0200", 26 "created_at": "2016-09-08T11:55:58+0200",
27 "updated_at": "2016-09-08T11:57:16+0200", 27 "updated_at": "2016-09-08T11:57:16+0200",
diff --git a/tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php b/tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php
index f39fa60e..aa176068 100644
--- a/tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php
+++ b/tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php
@@ -13,7 +13,7 @@ final class CountableMemorySpool extends \Swift_MemorySpool implements \Countabl
13{ 13{
14 public function count() 14 public function count()
15 { 15 {
16 return count($this->messages); 16 return \count($this->messages);
17 } 17 }
18 18
19 public function getMessages() 19 public function getMessages()
diff --git a/var/SymfonyRequirements.php b/var/SymfonyRequirements.php
index 3b14a402..4a1fcc62 100644
--- a/var/SymfonyRequirements.php
+++ b/var/SymfonyRequirements.php
@@ -389,7 +389,7 @@ class SymfonyRequirements extends RequirementCollection
389 { 389 {
390 /* mandatory requirements follow */ 390 /* mandatory requirements follow */
391 391
392 $installedPhpVersion = phpversion(); 392 $installedPhpVersion = PHP_VERSION;
393 $requiredPhpVersion = $this->getPhpRequiredVersion(); 393 $requiredPhpVersion = $this->getPhpRequiredVersion();
394 394
395 $this->addRecommendation( 395 $this->addRecommendation(
@@ -448,15 +448,8 @@ class SymfonyRequirements extends RequirementCollection
448 } 448 }
449 449
450 if (false !== $requiredPhpVersion && version_compare($installedPhpVersion, $requiredPhpVersion, '>=')) { 450 if (false !== $requiredPhpVersion && version_compare($installedPhpVersion, $requiredPhpVersion, '>=')) {
451 $timezones = array();
452 foreach (DateTimeZone::listAbbreviations() as $abbreviations) {
453 foreach ($abbreviations as $abbreviation) {
454 $timezones[$abbreviation['timezone_id']] = true;
455 }
456 }
457
458 $this->addRequirement( 451 $this->addRequirement(
459 isset($timezones[@date_default_timezone_get()]), 452 in_array(@date_default_timezone_get(), DateTimeZone::listIdentifiers(), true),
460 sprintf('Configured default timezone "%s" must be supported by your installation of PHP', @date_default_timezone_get()), 453 sprintf('Configured default timezone "%s" must be supported by your installation of PHP', @date_default_timezone_get()),
461 'Your default timezone is not supported by PHP. Check for typos in your <strong>php.ini</strong> file and have a look at the list of deprecated timezones at <a href="http://php.net/manual/en/timezones.others.php">http://php.net/manual/en/timezones.others.php</a>.' 454 'Your default timezone is not supported by PHP. Check for typos in your <strong>php.ini</strong> file and have a look at the list of deprecated timezones at <a href="http://php.net/manual/en/timezones.others.php">http://php.net/manual/en/timezones.others.php</a>.'
462 ); 455 );
@@ -731,7 +724,7 @@ class SymfonyRequirements extends RequirementCollection
731 'Install and/or enable a <strong>PHP accelerator</strong> (highly recommended).' 724 'Install and/or enable a <strong>PHP accelerator</strong> (highly recommended).'
732 ); 725 );
733 726
734 if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { 727 if ('WIN' === strtoupper(substr(PHP_OS, 0, 3))) {
735 $this->addRecommendation( 728 $this->addRecommendation(
736 $this->getRealpathCacheSize() >= 5 * 1024 * 1024, 729 $this->getRealpathCacheSize() >= 5 * 1024 * 1024,
737 'realpath_cache_size should be at least 5M in php.ini', 730 'realpath_cache_size should be at least 5M in php.ini',
diff --git a/web/wallassets/baggy.css b/web/wallassets/baggy.css
index 0c424776..8c1ed86b 100644
--- a/web/wallassets/baggy.css
+++ b/web/wallassets/baggy.css
@@ -1,2 +1,2 @@
1.annotator-filter *,.annotator-notice,.annotator-widget *{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-weight:400;text-align:left;margin:0;padding:0;background:none;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;-moz-box-shadow:none;-webkit-box-shadow:none;-o-box-shadow:none;box-shadow:none;color:#909090}.annotator-adder{background-image:url(img/annotator-icon-sprite.png);background-repeat:no-repeat}.annotator-editor a:after,.annotator-filter .annotator-filter-navigation button:after,.annotator-filter .annotator-filter-property .annotator-filter-clear,.annotator-resize,.annotator-viewer .annotator-controls a,.annotator-viewer .annotator-controls button,.annotator-widget:after{background-image:url(img/annotator-glyph-sprite.png);background-repeat:no-repeat}.annotator-hl{background:#ffff0a;background:rgba(255,255,10,.3);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4DFFFF0A, endColorstr=#4DFFFF0A)"}.annotator-hl-temporary{background:#007cff;background:rgba(0,124,255,.3);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4D007CFF, endColorstr=#4D007CFF)"}.annotator-wrapper{position:relative}.annotator-adder,.annotator-notice,.annotator-outer{z-index:1020}.annotator-filter{z-index:1010}.annotator-adder,.annotator-notice,.annotator-outer,.annotator-widget{position:absolute;font-size:10px;line-height:1}.annotator-hide{display:none;visibility:hidden}.annotator-adder{margin-top:-48px;margin-left:-24px;width:48px;height:48px;background-position:0 0}.annotator-adder:hover{background-position:top}.annotator-adder:active{background-position:100%}.annotator-adder button{display:block;width:36px;height:41px;margin:0 auto;border:none;background:none;text-indent:-999em;cursor:pointer}.annotator-outer{width:0;height:0}.annotator-widget{margin:0;padding:0;bottom:15px;left:-18px;min-width:265px;background-color:#fbfbfb;background-color:hsla(0,0%,98%,.98);border:1px solid #7a7a7a;border:1px solid hsla(0,0%,48%,.6);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.2);-moz-box-shadow:0 5px 15px rgba(0,0,0,.2);-o-box-shadow:0 5px 15px rgba(0,0,0,.2);box-shadow:0 5px 15px rgba(0,0,0,.2)}.annotator-invert-x .annotator-widget{left:auto;right:-18px}.annotator-invert-y .annotator-widget{bottom:auto;top:8px}.annotator-widget strong{font-weight:700}.annotator-widget .annotator-item,.annotator-widget .annotator-listing{padding:0;margin:0;list-style:none}.annotator-widget:after{content:"";display:block;width:18px;height:10px;background-position:0 0;position:absolute;bottom:-10px;left:8px}.annotator-invert-x .annotator-widget:after{left:auto;right:8px}.annotator-invert-y .annotator-widget:after{background-position:0 -15px;bottom:auto;top:-9px}.annotator-editor .annotator-item input,.annotator-editor .annotator-item textarea,.annotator-widget .annotator-item{position:relative;font-size:12px}.annotator-viewer .annotator-item{border-top:2px solid #7a7a7a;border-top:2px solid hsla(0,0%,48%,.2)}.annotator-widget .annotator-item:first-child{border-top:none}.annotator-editor .annotator-item,.annotator-viewer div{border-top:1px solid #858585;border-top:1px solid hsla(0,0%,52%,.11)}.annotator-viewer div{padding:6px}.annotator-viewer .annotator-item ol,.annotator-viewer .annotator-item ul{padding:4px 16px}.annotator-editor .annotator-item:first-child textarea,.annotator-viewer div:first-of-type{padding-top:12px;padding-bottom:12px;color:#3c3c3c;font-size:13px;font-style:italic;line-height:1.3;border-top:none}.annotator-viewer .annotator-controls{position:relative;top:5px;right:5px;padding-left:5px;opacity:0;-webkit-transition:opacity .2s ease-in;-moz-transition:opacity .2s ease-in;-o-transition:opacity .2s ease-in;transition:opacity .2s ease-in;float:right}.annotator-viewer li .annotator-controls.annotator-visible,.annotator-viewer li:hover .annotator-controls{opacity:1}.annotator-viewer .annotator-controls a,.annotator-viewer .annotator-controls button{cursor:pointer;display:inline-block;width:13px;height:13px;margin-left:2px;border:none;opacity:.2;text-indent:-900em;background-color:transparent;outline:none}.annotator-viewer .annotator-controls a:focus,.annotator-viewer .annotator-controls a:hover,.annotator-viewer .annotator-controls button:focus,.annotator-viewer .annotator-controls button:hover{opacity:.9}.annotator-viewer .annotator-controls a:active,.annotator-viewer .annotator-controls button:active{opacity:1}.annotator-viewer .annotator-controls button[disabled]{display:none}.annotator-viewer .annotator-controls .annotator-edit{background-position:0 -60px}.annotator-viewer .annotator-controls .annotator-delete{background-position:0 -75px}.annotator-viewer .annotator-controls .annotator-link{background-position:0 -270px}.annotator-editor .annotator-item{position:relative}.annotator-editor .annotator-item label{top:0;display:inline;cursor:pointer;font-size:12px}.annotator-editor .annotator-item input,.annotator-editor .annotator-item textarea{display:block;min-width:100%;padding:10px 8px;border:none;margin:0;color:#3c3c3c;background:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;resize:none}.annotator-editor .annotator-item textarea::-webkit-scrollbar{height:8px;width:8px}.annotator-editor .annotator-item textarea::-webkit-scrollbar-track-piece{margin:13px 0 3px;background-color:#e5e5e5;-webkit-border-radius:4px}.annotator-editor .annotator-item textarea::-webkit-scrollbar-thumb:vertical{height:25px;background-color:#ccc;-webkit-border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1)}.annotator-editor .annotator-item textarea::-webkit-scrollbar-thumb:horizontal{width:25px;background-color:#ccc;-webkit-border-radius:4px}.annotator-editor .annotator-item:first-child textarea{min-height:5.5em;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.annotator-editor .annotator-item input:focus,.annotator-editor .annotator-item textarea:focus{background-color:#f3f3f3;outline:none}.annotator-editor .annotator-item input[type=checkbox],.annotator-editor .annotator-item input[type=radio]{width:auto;min-width:0;padding:0;display:inline;margin:0 4px 0 0;cursor:pointer}.annotator-editor .annotator-checkbox{padding:8px 6px}.annotator-editor .annotator-controls,.annotator-filter,.annotator-filter .annotator-filter-navigation button{text-align:right;padding:3px;border-top:1px solid #d4d4d4;background-color:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),color-stop(.6,#dcdcdc),to(#d2d2d2));background-image:-moz-linear-gradient(to bottom,#f5f5f5,#dcdcdc 60%,#d2d2d2);background-image:-webkit-linear-gradient(180deg,#f5f5f5,#dcdcdc 60%,#d2d2d2);background-image:linear-gradient(180deg,#f5f5f5,#dcdcdc 60%,#d2d2d2);-webkit-box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);-moz-box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);-o-box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-o-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.annotator-editor.annotator-invert-y .annotator-controls{border-top:none;border-bottom:1px solid #b4b4b4;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.annotator-editor a,.annotator-filter .annotator-filter-property label{position:relative;display:inline-block;padding:0 6px 0 22px;color:#363636;text-shadow:0 1px 0 hsla(0,0%,100%,.75);text-decoration:none;line-height:24px;font-size:12px;font-weight:700;border:1px solid #a2a2a2;background-color:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),color-stop(.5,#d2d2d2),color-stop(.5,#bebebe),to(#d2d2d2));background-image:-moz-linear-gradient(to bottom,#f5f5f5,#d2d2d2 50%,#bebebe 50%,#d2d2d2);background-image:-webkit-linear-gradient(180deg,#f5f5f5,#d2d2d2 50%,#bebebe 0,#d2d2d2);background-image:linear-gradient(180deg,#f5f5f5,#d2d2d2 50%,#bebebe 0,#d2d2d2);-webkit-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-moz-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-o-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;border-radius:5px}.annotator-editor a:after{position:absolute;top:50%;left:5px;display:block;content:"";width:15px;height:15px;margin-top:-7px;background-position:0 -90px}.annotator-editor a.annotator-focus,.annotator-editor a:focus,.annotator-editor a:hover,.annotator-filter .annotator-filter-active label,.annotator-filter .annotator-filter-navigation button:hover{outline:none;border-color:#435aa0;background-color:#3865f9;background-image:-webkit-gradient(linear,left top,left bottom,from(#7691fb),color-stop(.5,#5075fb),color-stop(.5,#3865f9),to(#3665fa));background-image:-moz-linear-gradient(to bottom,#7691fb,#5075fb 50%,#3865f9 50%,#3665fa);background-image:-webkit-linear-gradient(180deg,#7691fb,#5075fb 50%,#3865f9 0,#3665fa);background-image:linear-gradient(180deg,#7691fb,#5075fb 50%,#3865f9 0,#3665fa);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.42)}.annotator-editor a:focus:after,.annotator-editor a:hover:after{margin-top:-8px;background-position:0 -105px}.annotator-editor a:active,.annotator-filter .annotator-filter-navigation button:active{border-color:#700c49;background-color:#d12e8e;background-image:-webkit-gradient(linear,left top,left bottom,from(#fc7cca),color-stop(.5,#e85db2),color-stop(.5,#d12e8e),to(#ff009c));background-image:-moz-linear-gradient(to bottom,#fc7cca,#e85db2 50%,#d12e8e 50%,#ff009c);background-image:-webkit-linear-gradient(180deg,#fc7cca,#e85db2 50%,#d12e8e 0,#ff009c);background-image:linear-gradient(180deg,#fc7cca,#e85db2 50%,#d12e8e 0,#ff009c)}.annotator-editor a.annotator-save:after{background-position:0 -120px}.annotator-editor a.annotator-save.annotator-focus:after,.annotator-editor a.annotator-save:focus:after,.annotator-editor a.annotator-save:hover:after{margin-top:-8px;background-position:0 -135px}.annotator-editor .annotator-widget:after{background-position:0 -30px}.annotator-editor.annotator-invert-y .annotator-widget .annotator-controls{background-color:#f2f2f2}.annotator-editor.annotator-invert-y .annotator-widget:after{background-position:0 -45px;height:11px}.annotator-resize{position:absolute;top:0;right:0;width:12px;height:12px;background-position:2px -150px}.annotator-invert-x .annotator-resize{right:auto;left:0;background-position:0 -195px}.annotator-invert-y .annotator-resize{top:auto;bottom:0;background-position:2px -165px}.annotator-invert-y.annotator-invert-x .annotator-resize{background-position:0 -180px}.annotator-notice{color:#fff;position:fixed;top:-54px;left:0;width:100%;font-size:14px;line-height:50px;text-align:center;background:#000;background:rgba(0,0,0,.9);border-bottom:4px solid #d4d4d4;-webkit-transition:top .4s ease-out;-moz-transition:top .4s ease-out;-o-transition:top .4s ease-out;transition:top .4s ease-out}.annotator-notice-success{border-color:#3665f9}.annotator-notice-error{border-color:#ff7e00}.annotator-notice p{margin:0}.annotator-notice a{color:#fff}.annotator-notice-show{top:0}.annotator-tags{margin-bottom:-2px}.annotator-tags .annotator-tag{display:inline-block;padding:0 8px;margin-bottom:2px;line-height:1.6;font-weight:700;background-color:#e6e6e6;-webkit-border-radius:8px;-moz-border-radius:8px;-o-border-radius:8px;border-radius:8px}.annotator-filter{position:fixed;top:0;right:0;left:0;text-align:left;line-height:0;border:none;border-bottom:1px solid #878787;padding-left:10px;padding-right:10px;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3);-moz-box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3);-o-box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3);box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3)}.annotator-filter strong{font-size:12px;font-weight:700;color:#3c3c3c;text-shadow:0 1px 0 hsla(0,0%,100%,.7);position:relative;top:-9px}.annotator-filter .annotator-filter-navigation,.annotator-filter .annotator-filter-property{position:relative;display:inline-block;overflow:hidden;line-height:10px;padding:2px 0;margin-right:8px}.annotator-filter .annotator-filter-navigation button,.annotator-filter .annotator-filter-property label{text-align:left;display:block;float:left;line-height:20px;-webkit-border-radius:10px 0 0 10px;-moz-border-radius:10px 0 0 10px;-o-border-radius:10px 0 0 10px;border-radius:10px 0 0 10px}.annotator-filter .annotator-filter-property label{padding-left:8px}.annotator-filter .annotator-filter-property input{display:block;float:right;-webkit-appearance:none;background-color:#fff;border:1px solid #878787;border-left:none;padding:2px 4px;line-height:16px;min-height:16px;font-size:12px;width:150px;color:#333;background-color:#f8f8f8;-webkit-border-radius:0 10px 10px 0;-moz-border-radius:0 10px 10px 0;-o-border-radius:0 10px 10px 0;border-radius:0 10px 10px 0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);-o-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px rgba(0,0,0,.2)}.annotator-filter .annotator-filter-property input:focus{outline:none;background-color:#fff}.annotator-filter .annotator-filter-clear{position:absolute;right:3px;top:6px;border:none;text-indent:-900em;width:15px;height:15px;background-position:0 -90px;opacity:.4}.annotator-filter .annotator-filter-clear:focus,.annotator-filter .annotator-filter-clear:hover{opacity:.8}.annotator-filter .annotator-filter-clear:active{opacity:1}.annotator-filter .annotator-filter-navigation button{border:1px solid #a2a2a2;padding:0;text-indent:-900px;width:20px;min-height:22px;-webkit-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-moz-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-o-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8)}.annotator-filter .annotator-filter-navigation button,.annotator-filter .annotator-filter-navigation button:focus,.annotator-filter .annotator-filter-navigation button:hover{color:transparent}.annotator-filter .annotator-filter-navigation button:after{position:absolute;top:8px;left:8px;content:"";display:block;width:9px;height:9px;background-position:0 -210px}.annotator-filter .annotator-filter-navigation button:hover:after{background-position:0 -225px}.annotator-filter .annotator-filter-navigation .annotator-filter-next{-webkit-border-radius:0 10px 10px 0;-moz-border-radius:0 10px 10px 0;-o-border-radius:0 10px 10px 0;border-radius:0 10px 10px 0;border-left:none}.annotator-filter .annotator-filter-navigation .annotator-filter-next:after{left:auto;right:7px;background-position:0 -240px}.annotator-filter .annotator-filter-navigation .annotator-filter-next:hover:after{background-position:0 -255px}.annotator-hl-active{background:#ffff0a;background:rgba(255,255,10,.8);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#CCFFFF0A, endColorstr=#CCFFFF0A)"}.annotator-hl-filtered{background-color:transparent}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(fonts/MaterialIcons-Regular.woff2) format("woff2"),url(fonts/MaterialIcons-Regular.woff) format("woff"),url(fonts/MaterialIcons-Regular.ttf) format("truetype")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}@font-face{font-family:Lato;font-weight:100;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-hairline.woff2) format("woff2"),url(fonts/lato-hairline.woff) format("woff")}@font-face{font-family:Lato;font-weight:100;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-hairline-italic.woff2) format("woff2"),url(fonts/lato-hairline-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:200;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-thin.woff2) format("woff2"),url(fonts/lato-thin.woff) format("woff")}@font-face{font-family:Lato;font-weight:200;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-thin-italic.woff2) format("woff2"),url(fonts/lato-thin-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:300;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-light.woff2) format("woff2"),url(fonts/lato-light.woff) format("woff")}@font-face{font-family:Lato;font-weight:300;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-light-italic.woff2) format("woff2"),url(fonts/lato-light-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:400;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-normal.woff2) format("woff2"),url(fonts/lato-normal.woff) format("woff")}@font-face{font-family:Lato;font-weight:400;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-normal-italic.woff2) format("woff2"),url(fonts/lato-normal-italic.woff) format("woff")}@font-face{font-family:Lato Medium;font-weight:400;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-medium.woff2) format("woff2"),url(fonts/lato-medium.woff) format("woff")}@font-face{font-family:Lato Medium;font-weight:400;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-medium-italic.woff2) format("woff2"),url(fonts/lato-medium-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:500;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-semibold.woff2) format("woff2"),url(fonts/lato-semibold.woff) format("woff")}@font-face{font-family:Lato;font-weight:500;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-semibold-italic.woff2) format("woff2"),url(fonts/lato-semibold-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:600;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-bold.woff2) format("woff2"),url(fonts/lato-bold.woff) format("woff")}@font-face{font-family:Lato;font-weight:600;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-bold-italic.woff2) format("woff2"),url(fonts/lato-bold-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:800;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-heavy.woff2) format("woff2"),url(fonts/lato-heavy.woff) format("woff")}@font-face{font-family:Lato;font-weight:800;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-heavy-italic.woff2) format("woff2"),url(fonts/lato-heavy-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:900;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-black.woff2) format("woff2"),url(fonts/lato-black.woff) format("woff")}@font-face{font-family:Lato;font-weight:900;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-black-italic.woff2) format("woff2"),url(fonts/lato-black-italic.woff) format("woff")}.material-icons.md-18{font-size:18px}.material-icons.md-24{font-size:24px}.material-icons.md-36{font-size:36px}.material-icons.md-48{font-size:48px}.material-icons.md-dark{color:rgba(0,0,0,.54)}.material-icons.md-dark.md-inactive{color:rgba(0,0,0,.26)}.material-icons.md-light{color:#fff}.material-icons.md-light.md-inactive{color:hsla(0,0%,100%,.3)}::selection{color:#fff;background-color:#000}.desktopHide{display:none}.logo{position:fixed;z-index:20;top:.4em;left:.6em}h2,h3,h4{font-family:PT Sans,sans-serif;text-transform:uppercase}label,li,p{color:#666}a{color:#000;font-weight:700}a.nostyle,a:focus,a:hover{text-decoration:none}form fieldset{border:0;padding:0;margin:0}form input[type=email],form input[type=number],form input[type=password],form input[type=text],form input[type=url],select{border:1px solid #999;padding:.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(themes/_global/img/bg-select.png) no-repeat 100%}}.inline .row{display:inline-block;margin-right:.5em}.inline label{min-width:6em}fieldset label{display:inline-block;min-width:12.5em;color:#666}label{margin-right:.5em}form .row{margin-bottom:.5em}form button,input[type=submit]{cursor:pointer;background-color:#000;color:#fff;padding:.5em 1em;display:inline-block;border:1px solid #000}form button:focus,form button:hover,input[type=submit]:focus,input[type=submit]:hover{background-color:#fff;color:#000;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-ms-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}#bookmarklet{cursor:move}h2:after{content:"";height:4px;width:20%;background-color:#000;display:block}.links,.links li{padding:0;margin:0}.links li{list-style:none}#links{position:fixed;top:0;width:10em;left:0;text-align:right;background-color:#333;padding-top:9.5em;height:100%;box-shadow:inset -4px 0 20px rgba(0,0,0,.6);z-index:15}#links>li>a{display:block;padding:.5em 2em .5em 1em;color:#fff;position:relative;text-transform:uppercase;text-decoration:none;font-weight:400;font-family:PT Sans,sans-serif;transition:all .5s ease}#links>li>a:focus,#links>li>a:hover{background-color:#999;color:#000}#links .current:after{content:"";width:0;height:0;position:absolute;border:10px solid transparent;border-right-color:#eee;right:0;top:50%;margin-top:-10px}#links li:last-child{position:fixed;bottom:1em;width:10em}#links li:last-child a:before{font-size:1.2em;position:relative;top:2px}#main{margin-left:12em;position:relative;z-index:10;padding-right:5%;padding-bottom:1em}#sort{padding:0;list-style-type:none;opacity:.5;display:inline-block}#sort li{display:inline;font-size:.9em}#sort li+li{margin-left:10px}#sort a{padding:2px 2px 0;vertical-align:middle}#sort img{vertical-align:baseline}#sort img :hover{cursor:pointer}#display-mode{float:right;margin-top:10px;margin-bottom:10px;opacity:.5}#listmode{width:16px;display:inline-block;text-decoration:none}#listmode.tablemode{background:url(themes/_global/img/table.png) no-repeat bottom}#listmode .listmode{background:url(themes/_global/img/list.png) no-repeat bottom}#warning_message{position:fixed;background-color:tomato;z-index:1000;bottom:0;left:0;width:100%;color:#000}#content{margin-top:2em;min-height:30em}footer{text-align:right;position:relative;bottom:0;right:5em;color:#999;font-size:.8em;font-style:italic;z-index:20}footer a{color:#999;font-weight:400}.list-entries{letter-spacing:-5px}.listmode.entry{width:100%;height:inherit}.card-entry-tags{max-height:2em;overflow-y:hidden;padding:0;margin:0}.card-entry-tags li,.card-entry-tags span{display:inline-block;margin:0 5px;padding:5px 12px;background-color:rgba(0,0,0,.6);border-radius:3px;max-height:2em;overflow:hidden;text-overflow:ellipsis}.card-entry-labels a,.card-entry-tags a{text-decoration:none;font-weight:400;color:#fff}.nav-panel-add-tag{margin-top:10px}.list-entries+.results{margin-bottom:2em}.created-at,.reading-time{color:#999;font-style:italic;font-weight:400;font-size:.9em}.estimatedTime small{position:relative;top:-1px}.entry{background-color:#fff;letter-spacing:normal;box-shadow:0 3px 7px rgba(0,0,0,.3);display:inline-block;width:32%;margin-bottom:1.5em;vertical-align:top;margin-right:1%;position:relative;overflow:hidden;padding:1.5em 0 3em;height:440px}.entry img.preview{width:100%;object-fit:cover;height:100%}.entry:before{width:0;height:0;border:10px solid transparent;border-bottom-color:#000;bottom:.7em;z-index:10;right:1.5em}.entry:after,.entry:before{content:"";position:absolute;transition:all .5s ease}.entry:after{height:7px;width:100%;bottom:0;left:0;background-color:#000}.entry:hover{box-shadow:0 3px 10px #000}.entry:hover:after{height:40px}.entry:hover:before{bottom:2.3em}.entry:hover h2 a{color:#666}.entry:hover .tools{bottom:0}.entry h2{text-transform:none;margin-bottom:0;line-height:1.2;margin-left:5px}.entry:after{content:none}.entry a{display:block;text-decoration:none;color:#000;word-wrap:break-word;transition:all .5s ease}.entry p{color:#666;font-size:.9em;line-height:1.7;margin:5px 5px auto}.entry h2 a:first-letter{text-transform:uppercase}.entry .tools{position:absolute;bottom:-40px;left:0;background:#000;width:100%;z-index:10;padding-right:.5em;text-align:right;transition:all .5s ease}.entry .tools a{color:#666;text-decoration:none;display:block;padding:.4em}.entry .tools a:hover{color:#fff}.entry .tools li{display:inline-block;margin-top:10px}.entry .tools li:first-child{float:left;font-size:.9em;max-width:calc(100% - 40px * 4);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-height:2em;margin-left:10px}.entry .card-entry-labels{position:absolute;top:100px;left:-1em;z-index:90;max-width:50%;padding-left:0}.entry .card-entry-labels li{margin:10px 10px 10px auto;padding:5px 12px 5px 25px;background-color:rgba(0,0,0,.6);border-radius:0 3px 3px 0;color:#fff;cursor:default;max-height:2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry .card-entry-labels li a{color:#fff}.entry:nth-child(3n+1){margin-left:0}.results{letter-spacing:-5px;padding:0 0 .5em}.results>*{display:inline-block;vertical-align:top;letter-spacing:normal;width:50%}.results>*,div.pagination ul{text-align:right}.nb-results{text-align:left;font-style:italic;color:#999;display:inline-flex}div.pagination ul a{color:#999;text-decoration:none}div.pagination ul a:focus,div.pagination ul a:hover{text-decoration:underline}div.pagination ul>*{display:inline-block;margin-left:.5em}div.pagination ul .next.disabled,div.pagination ul .prev.disabled{display:none}div.pagination ul .current{height:25px;padding:4px 8px;border:1px solid #d5d5d5;text-decoration:none;font-weight:700;color:#000;background-color:#ccc}.hide{display:none}#article{width:70%;margin-bottom:3em;text-align:justify}#article .tags{margin-bottom:1em}#article i{font-style:normal}#article h1{text-align:left}#article h2:after{content:none}#article h2,#article h3,#article h4{text-transform:none}blockquote{border:1px solid #999;background-color:#fff;padding:1em;margin:0}.topPosF{position:fixed;right:20%;bottom:2em;font-size:1.5em}#article_toolbar{margin-bottom:1em}#article_toolbar li{display:inline-block;margin:3px auto}#article_toolbar a{background-color:#000;padding:.3em .5em .2em;color:#fff;text-decoration:none}#article_toolbar a:focus,#article_toolbar a:hover{background-color:#999}#nav-btn-add-tag{cursor:pointer}.shaarli:before{content:"*"}.return{text-decoration:none;margin-top:1em;display:block}.return:before{margin-right:.5em}.notags{font-style:italic;color:#999}.icon-rss{background-color:#000;color:#fff;padding:.2em .5em}.icon-rss:before{position:relative;top:2px}.list-tags li{margin-bottom:.5em}.list-tags .icon-rss:focus,.list-tags .icon-rss:hover{background-color:#fff;color:#000;text-decoration:none}.list-tags a{text-decoration:none}.list-tags a:focus,.list-tags a:hover{text-decoration:underline}pre code{font-family:Courier New,Courier,monospace}#filters{position:fixed;width:20%;height:100%;top:0;right:0;background-color:#fff;padding:30px 30px 15px 15px;border-left:1px solid #333;z-index:12;min-width:300px}#filters form .filter-group{margin:5px}#download-form{position:fixed;width:10%;height:100%;top:0;right:0;background-color:#fff;padding:30px 30px 15px 15px;border-left:1px solid #333;z-index:12;min-width:200px}#download-form li{display:block;padding:.5em 2em .5em 1em;color:#fff;position:relative;text-transform:uppercase;text-decoration:none;font-weight:400;font-family:PT Sans,sans-serif;transition:all .5s ease}@font-face{font-family:icomoon;src:url(fonts/IcoMoon-Free.ttf);font-weight:400;font-style:normal}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;width:1em;height:1em;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.material-icons .md-18{font-size:18px}.material-icons .md-24{font-size:24px}.material-icons .md-36{font-size:36px}.material-icons .md-48{font-size:48px}.material-icons .vertical-align-middle{vertical-align:middle!important}.icon-image span,.icon span{position:absolute;top:-9999px}[class*=" icon-"]:before,[class^=icon-]:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga=1";-moz-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;-o-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-flattr:before{content:"\EAD4"}.icon-mail:before{content:"\EA86"}.icon-up-open:before{content:"\E80B"}.icon-star:before{content:"\E9D9"}.icon-check:before{content:"\EA10"}.icon-link:before{content:"\E9CB"}.icon-reply:before{content:"\E806"}.icon-menu:before{content:"\E9BD"}.icon-clock:before{content:"\E803"}.icon-twitter:before{content:"\EA96"}.icon-down-open:before{content:"\E809"}.icon-trash:before{content:"\E9AC"}.icon-delete:before{content:"\EA0D"}.icon-power:before{content:"\EA14"}.icon-arrow-up-thick:before{content:"\EA3A"}.icon-rss:before{content:"\E808"}.icon-print:before{content:"\E954"}.icon-reload:before{content:"\EA2E"}.icon-price-tags:before{content:"\E936"}.icon-eye:before{content:"\E9CE"}.icon-no-eye:before{content:"\E9D1"}.icon-calendar:before{content:"\E953"}.icon-time:before{content:"\E952"}.icon-image{background:no-repeat 50%/80%;padding-right:1em!important;padding-left:1em!important}.icon-image--carrot{background-image:url(themes/_global/img/icons/carrot-icon--white.png)}.icon-image--diaspora{background-image:url(themes/_global/img/icons/Diaspora-asterisk.svg)}.icon-image--unmark{background-image:url(themes/_global/img/icons/unmark-icon--black.png)}.icon-image--shaarli{background-image:url(themes/_global/img/icons/shaarli.png)}.icon-check.archive:before,.icon-star.fav:before{color:#fff}.login{background-color:#333}.login #main{padding:0;margin:0}.login form{background-color:#fff;padding:1.5em;box-shadow:0 1px 8px rgba(0,0,0,.9);width:20em;top:8em;margin-left:-10em}.login .logo,.login form{position:absolute;left:50%}.login .logo{top:2em;margin-left:-55px}.popup-form{background:rgba(0,0,0,.5);left:10em;height:100%;width:100%;margin:0;margin-top:-30%!important;display:none;border-left:1px solid #eee}.popup-form,.popup-form form{position:absolute;top:0;z-index:20;padding:2em}.popup-form form{background-color:#fff;left:0;border:10px solid #000;width:400px;height:200px}#bagit-form-form .addurl{margin-left:0}.close-button,.closeMessage{background-color:#000;color:#fff;font-size:1.2em;line-height:1.6;width:1.6em;height:1.6em;text-align:center;text-decoration:none}.close-button:focus,.close-button:hover,.closeMessage:focus,.closeMessage:hover{background-color:#999;color:#000}.close-button--popup{display:inline-block;position:absolute;top:0;right:0;font-size:1.4em}.active-current{background-color:#999}.active-current:after{content:"";width:0;height:0;position:absolute;border:10px solid transparent;border-right-color:#eee;right:0;top:50%;margin-top:-10px}.opacity03{opacity:.3}.add-to-wallabag-link-after{background-color:#000;color:#fff;padding:0 3px 2px}a.add-to-wallabag-link-after{visibility:hidden;position:absolute;opacity:0;transition-duration:2s;transition-timing-function:ease-out}#article article a:hover+a.add-to-wallabag-link-after,a.add-to-wallabag-link-after:hover{opacity:1;visibility:visible;transition-duration:.3s;transition-timing-function:ease-in}a.add-to-wallabag-link-after:after{content:"w"}#add-link-result{font-weight:700;font-size:.9em}.btn-clickable{cursor:pointer}.messages{text-align:left;width:60%;margin:auto 17%}.messages>*{display:inline-block}.messages .install{text-align:left}.messages .install.error{border:1px solid #c42608;color:#c00!important;background:#fff0ef}.messages .install.notice{border:1px solid #ebcd41;color:#000;background:#fffcd3}.messages .install.success{border:1px solid #6dc70c;background:#e0fbcc!important}.warning{font-weight:700;display:block;width:100%}.more-info{font-size:.85em;line-height:1.5;color:#aaa}.more-info a{color:#aaa}@media screen and (max-width:1050px){.entry{width:49%}.entry:nth-child(3n+1){margin-left:1.5%}.entry:nth-child(odd){margin-left:0}}@media screen and (max-width:900px){#article{width:80%}.topPosF{right:2.5em}}@media screen and (max-width:700px){.entry{width:100%;margin-left:0}#display-mode{display:none}}@media screen and (max-height:770px){.menu.developer,.menu.internal,.menu.users{display:none}}@media screen and (max-width:500px){.entry{width:100%;margin-left:0}body>header{background-color:#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.25em;height:1.25em;left:0;top:0}.login>header,.login form{position:static}.login form{width:100%;margin-left:0}.login .logo{height:auto;top:.5em;width: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-color:#999;font-size:1.2em}.desktopHide:focus,.desktopHide:hover{background-color:#fff}#links{display:none;width:100%;height:auto;padding-top:3em}#links.menu--open{display:block}footer{margin-right:3em}#main,footer{position:static}#main{margin-left:1.5em;padding-right:1.5em;margin-top:3em}#article_toolbar .topPosF,.card-entry-labels{display:none}#article{width:100%}#article h1{font-size:1.5em}#article_toolbar a{padding:.3em .4em .2em}#display-mode{display:none}#bagit-form,#search-form,.popup-form{left:0;width:100%;border-left:none}#bagit-form form,#search-form form,.popup-form form{width:100%}}@media print{body{font-family:Serif;background-color:#fff}@page{margin:1cm}img{max-width:100%!important}#article-informations,#article .mbm a,#article_toolbar,#links,#sort,.entrie+.results,.messages,.top_link,body>.logo,body>footer,div.tools,header div{display:none!important}article{border:none!important}.vieworiginal a:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.pagination span.current{border-style:dashed}#main{margin:0;padding:0}#article,#main{width:100%}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{font-size:1em;line-height:1.5;margin:0}dl:first-child,h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,ol:first-child,p:first-child,ul: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:700}.inner{margin:0 auto;max-width:61.25em}figure,img,table{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}.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:.8em}.big{font-size:1.2em}.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%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}@media screen and (-webkit-min-device-pixel-ratio:0){select{-webkit-appearance:none;border-radius:0}} 1.annotator-filter *,.annotator-notice,.annotator-widget *{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-weight:400;text-align:left;margin:0;padding:0;background:none;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;-moz-box-shadow:none;-webkit-box-shadow:none;-o-box-shadow:none;box-shadow:none;color:#909090}.annotator-adder{background-image:url(img/annotator-icon-sprite.png);background-repeat:no-repeat}.annotator-editor a:after,.annotator-filter .annotator-filter-navigation button:after,.annotator-filter .annotator-filter-property .annotator-filter-clear,.annotator-resize,.annotator-viewer .annotator-controls a,.annotator-viewer .annotator-controls button,.annotator-widget:after{background-image:url(img/annotator-glyph-sprite.png);background-repeat:no-repeat}.annotator-hl{background:#ffff0a;background:rgba(255,255,10,.3);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4DFFFF0A, endColorstr=#4DFFFF0A)"}.annotator-hl-temporary{background:#007cff;background:rgba(0,124,255,.3);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4D007CFF, endColorstr=#4D007CFF)"}.annotator-wrapper{position:relative}.annotator-adder,.annotator-notice,.annotator-outer{z-index:1020}.annotator-filter{z-index:1010}.annotator-adder,.annotator-notice,.annotator-outer,.annotator-widget{position:absolute;font-size:10px;line-height:1}.annotator-hide{display:none;visibility:hidden}.annotator-adder{margin-top:-48px;margin-left:-24px;width:48px;height:48px;background-position:0 0}.annotator-adder:hover{background-position:top}.annotator-adder:active{background-position:100%}.annotator-adder button{display:block;width:36px;height:41px;margin:0 auto;border:none;background:none;text-indent:-999em;cursor:pointer}.annotator-outer{width:0;height:0}.annotator-widget{margin:0;padding:0;bottom:15px;left:-18px;min-width:265px;background-color:#fbfbfb;background-color:hsla(0,0%,98%,.98);border:1px solid #7a7a7a;border:1px solid hsla(0,0%,48%,.6);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.2);-moz-box-shadow:0 5px 15px rgba(0,0,0,.2);-o-box-shadow:0 5px 15px rgba(0,0,0,.2);box-shadow:0 5px 15px rgba(0,0,0,.2)}.annotator-invert-x .annotator-widget{left:auto;right:-18px}.annotator-invert-y .annotator-widget{bottom:auto;top:8px}.annotator-widget strong{font-weight:700}.annotator-widget .annotator-item,.annotator-widget .annotator-listing{padding:0;margin:0;list-style:none}.annotator-widget:after{content:"";display:block;width:18px;height:10px;background-position:0 0;position:absolute;bottom:-10px;left:8px}.annotator-invert-x .annotator-widget:after{left:auto;right:8px}.annotator-invert-y .annotator-widget:after{background-position:0 -15px;bottom:auto;top:-9px}.annotator-editor .annotator-item input,.annotator-editor .annotator-item textarea,.annotator-widget .annotator-item{position:relative;font-size:12px}.annotator-viewer .annotator-item{border-top:2px solid #7a7a7a;border-top:2px solid hsla(0,0%,48%,.2)}.annotator-widget .annotator-item:first-child{border-top:none}.annotator-editor .annotator-item,.annotator-viewer div{border-top:1px solid #858585;border-top:1px solid hsla(0,0%,52%,.11)}.annotator-viewer div{padding:6px}.annotator-viewer .annotator-item ol,.annotator-viewer .annotator-item ul{padding:4px 16px}.annotator-editor .annotator-item:first-child textarea,.annotator-viewer div:first-of-type{padding-top:12px;padding-bottom:12px;color:#3c3c3c;font-size:13px;font-style:italic;line-height:1.3;border-top:none}.annotator-viewer .annotator-controls{position:relative;top:5px;right:5px;padding-left:5px;opacity:0;-webkit-transition:opacity .2s ease-in;-moz-transition:opacity .2s ease-in;-o-transition:opacity .2s ease-in;transition:opacity .2s ease-in;float:right}.annotator-viewer li .annotator-controls.annotator-visible,.annotator-viewer li:hover .annotator-controls{opacity:1}.annotator-viewer .annotator-controls a,.annotator-viewer .annotator-controls button{cursor:pointer;display:inline-block;width:13px;height:13px;margin-left:2px;border:none;opacity:.2;text-indent:-900em;background-color:transparent;outline:none}.annotator-viewer .annotator-controls a:focus,.annotator-viewer .annotator-controls a:hover,.annotator-viewer .annotator-controls button:focus,.annotator-viewer .annotator-controls button:hover{opacity:.9}.annotator-viewer .annotator-controls a:active,.annotator-viewer .annotator-controls button:active{opacity:1}.annotator-viewer .annotator-controls button[disabled]{display:none}.annotator-viewer .annotator-controls .annotator-edit{background-position:0 -60px}.annotator-viewer .annotator-controls .annotator-delete{background-position:0 -75px}.annotator-viewer .annotator-controls .annotator-link{background-position:0 -270px}.annotator-editor .annotator-item{position:relative}.annotator-editor .annotator-item label{top:0;display:inline;cursor:pointer;font-size:12px}.annotator-editor .annotator-item input,.annotator-editor .annotator-item textarea{display:block;min-width:100%;padding:10px 8px;border:none;margin:0;color:#3c3c3c;background:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;resize:none}.annotator-editor .annotator-item textarea::-webkit-scrollbar{height:8px;width:8px}.annotator-editor .annotator-item textarea::-webkit-scrollbar-track-piece{margin:13px 0 3px;background-color:#e5e5e5;-webkit-border-radius:4px}.annotator-editor .annotator-item textarea::-webkit-scrollbar-thumb:vertical{height:25px;background-color:#ccc;-webkit-border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1)}.annotator-editor .annotator-item textarea::-webkit-scrollbar-thumb:horizontal{width:25px;background-color:#ccc;-webkit-border-radius:4px}.annotator-editor .annotator-item:first-child textarea{min-height:5.5em;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.annotator-editor .annotator-item input:focus,.annotator-editor .annotator-item textarea:focus{background-color:#f3f3f3;outline:none}.annotator-editor .annotator-item input[type=checkbox],.annotator-editor .annotator-item input[type=radio]{width:auto;min-width:0;padding:0;display:inline;margin:0 4px 0 0;cursor:pointer}.annotator-editor .annotator-checkbox{padding:8px 6px}.annotator-editor .annotator-controls,.annotator-filter,.annotator-filter .annotator-filter-navigation button{text-align:right;padding:3px;border-top:1px solid #d4d4d4;background-color:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),color-stop(.6,#dcdcdc),to(#d2d2d2));background-image:-moz-linear-gradient(to bottom,#f5f5f5,#dcdcdc 60%,#d2d2d2);background-image:-webkit-linear-gradient(180deg,#f5f5f5,#dcdcdc 60%,#d2d2d2);background-image:linear-gradient(180deg,#f5f5f5,#dcdcdc 60%,#d2d2d2);-webkit-box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);-moz-box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);-o-box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-o-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.annotator-editor.annotator-invert-y .annotator-controls{border-top:none;border-bottom:1px solid #b4b4b4;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.annotator-editor a,.annotator-filter .annotator-filter-property label{position:relative;display:inline-block;padding:0 6px 0 22px;color:#363636;text-shadow:0 1px 0 hsla(0,0%,100%,.75);text-decoration:none;line-height:24px;font-size:12px;font-weight:700;border:1px solid #a2a2a2;background-color:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),color-stop(.5,#d2d2d2),color-stop(.5,#bebebe),to(#d2d2d2));background-image:-moz-linear-gradient(to bottom,#f5f5f5,#d2d2d2 50%,#bebebe 50%,#d2d2d2);background-image:-webkit-linear-gradient(180deg,#f5f5f5,#d2d2d2 50%,#bebebe 0,#d2d2d2);background-image:linear-gradient(180deg,#f5f5f5,#d2d2d2 50%,#bebebe 0,#d2d2d2);-webkit-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-moz-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-o-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;border-radius:5px}.annotator-editor a:after{position:absolute;top:50%;left:5px;display:block;content:"";width:15px;height:15px;margin-top:-7px;background-position:0 -90px}.annotator-editor a.annotator-focus,.annotator-editor a:focus,.annotator-editor a:hover,.annotator-filter .annotator-filter-active label,.annotator-filter .annotator-filter-navigation button:hover{outline:none;border-color:#435aa0;background-color:#3865f9;background-image:-webkit-gradient(linear,left top,left bottom,from(#7691fb),color-stop(.5,#5075fb),color-stop(.5,#3865f9),to(#3665fa));background-image:-moz-linear-gradient(to bottom,#7691fb,#5075fb 50%,#3865f9 50%,#3665fa);background-image:-webkit-linear-gradient(180deg,#7691fb,#5075fb 50%,#3865f9 0,#3665fa);background-image:linear-gradient(180deg,#7691fb,#5075fb 50%,#3865f9 0,#3665fa);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.42)}.annotator-editor a:focus:after,.annotator-editor a:hover:after{margin-top:-8px;background-position:0 -105px}.annotator-editor a:active,.annotator-filter .annotator-filter-navigation button:active{border-color:#700c49;background-color:#d12e8e;background-image:-webkit-gradient(linear,left top,left bottom,from(#fc7cca),color-stop(.5,#e85db2),color-stop(.5,#d12e8e),to(#ff009c));background-image:-moz-linear-gradient(to bottom,#fc7cca,#e85db2 50%,#d12e8e 50%,#ff009c);background-image:-webkit-linear-gradient(180deg,#fc7cca,#e85db2 50%,#d12e8e 0,#ff009c);background-image:linear-gradient(180deg,#fc7cca,#e85db2 50%,#d12e8e 0,#ff009c)}.annotator-editor a.annotator-save:after{background-position:0 -120px}.annotator-editor a.annotator-save.annotator-focus:after,.annotator-editor a.annotator-save:focus:after,.annotator-editor a.annotator-save:hover:after{margin-top:-8px;background-position:0 -135px}.annotator-editor .annotator-widget:after{background-position:0 -30px}.annotator-editor.annotator-invert-y .annotator-widget .annotator-controls{background-color:#f2f2f2}.annotator-editor.annotator-invert-y .annotator-widget:after{background-position:0 -45px;height:11px}.annotator-resize{position:absolute;top:0;right:0;width:12px;height:12px;background-position:2px -150px}.annotator-invert-x .annotator-resize{right:auto;left:0;background-position:0 -195px}.annotator-invert-y .annotator-resize{top:auto;bottom:0;background-position:2px -165px}.annotator-invert-y.annotator-invert-x .annotator-resize{background-position:0 -180px}.annotator-notice{color:#fff;position:fixed;top:-54px;left:0;width:100%;font-size:14px;line-height:50px;text-align:center;background:#000;background:rgba(0,0,0,.9);border-bottom:4px solid #d4d4d4;-webkit-transition:top .4s ease-out;-moz-transition:top .4s ease-out;-o-transition:top .4s ease-out;transition:top .4s ease-out}.annotator-notice-success{border-color:#3665f9}.annotator-notice-error{border-color:#ff7e00}.annotator-notice p{margin:0}.annotator-notice a{color:#fff}.annotator-notice-show{top:0}.annotator-tags{margin-bottom:-2px}.annotator-tags .annotator-tag{display:inline-block;padding:0 8px;margin-bottom:2px;line-height:1.6;font-weight:700;background-color:#e6e6e6;-webkit-border-radius:8px;-moz-border-radius:8px;-o-border-radius:8px;border-radius:8px}.annotator-filter{position:fixed;top:0;right:0;left:0;text-align:left;line-height:0;border:none;border-bottom:1px solid #878787;padding-left:10px;padding-right:10px;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3);-moz-box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3);-o-box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3);box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3)}.annotator-filter strong{font-size:12px;font-weight:700;color:#3c3c3c;text-shadow:0 1px 0 hsla(0,0%,100%,.7);position:relative;top:-9px}.annotator-filter .annotator-filter-navigation,.annotator-filter .annotator-filter-property{position:relative;display:inline-block;overflow:hidden;line-height:10px;padding:2px 0;margin-right:8px}.annotator-filter .annotator-filter-navigation button,.annotator-filter .annotator-filter-property label{text-align:left;display:block;float:left;line-height:20px;-webkit-border-radius:10px 0 0 10px;-moz-border-radius:10px 0 0 10px;-o-border-radius:10px 0 0 10px;border-radius:10px 0 0 10px}.annotator-filter .annotator-filter-property label{padding-left:8px}.annotator-filter .annotator-filter-property input{display:block;float:right;-webkit-appearance:none;background-color:#fff;border:1px solid #878787;border-left:none;padding:2px 4px;line-height:16px;min-height:16px;font-size:12px;width:150px;color:#333;background-color:#f8f8f8;-webkit-border-radius:0 10px 10px 0;-moz-border-radius:0 10px 10px 0;-o-border-radius:0 10px 10px 0;border-radius:0 10px 10px 0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);-o-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px rgba(0,0,0,.2)}.annotator-filter .annotator-filter-property input:focus{outline:none;background-color:#fff}.annotator-filter .annotator-filter-clear{position:absolute;right:3px;top:6px;border:none;text-indent:-900em;width:15px;height:15px;background-position:0 -90px;opacity:.4}.annotator-filter .annotator-filter-clear:focus,.annotator-filter .annotator-filter-clear:hover{opacity:.8}.annotator-filter .annotator-filter-clear:active{opacity:1}.annotator-filter .annotator-filter-navigation button{border:1px solid #a2a2a2;padding:0;text-indent:-900px;width:20px;min-height:22px;-webkit-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-moz-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-o-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8)}.annotator-filter .annotator-filter-navigation button,.annotator-filter .annotator-filter-navigation button:focus,.annotator-filter .annotator-filter-navigation button:hover{color:transparent}.annotator-filter .annotator-filter-navigation button:after{position:absolute;top:8px;left:8px;content:"";display:block;width:9px;height:9px;background-position:0 -210px}.annotator-filter .annotator-filter-navigation button:hover:after{background-position:0 -225px}.annotator-filter .annotator-filter-navigation .annotator-filter-next{-webkit-border-radius:0 10px 10px 0;-moz-border-radius:0 10px 10px 0;-o-border-radius:0 10px 10px 0;border-radius:0 10px 10px 0;border-left:none}.annotator-filter .annotator-filter-navigation .annotator-filter-next:after{left:auto;right:7px;background-position:0 -240px}.annotator-filter .annotator-filter-navigation .annotator-filter-next:hover:after{background-position:0 -255px}.annotator-hl-active{background:#ffff0a;background:rgba(255,255,10,.8);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#CCFFFF0A, endColorstr=#CCFFFF0A)"}.annotator-hl-filtered{background-color:transparent}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(fonts/MaterialIcons-Regular.woff2) format("woff2"),url(fonts/MaterialIcons-Regular.woff) format("woff"),url(fonts/MaterialIcons-Regular.ttf) format("truetype")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}@font-face{font-family:Lato;font-weight:100;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-hairline.woff2) format("woff2"),url(fonts/lato-hairline.woff) format("woff")}@font-face{font-family:Lato;font-weight:100;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-hairline-italic.woff2) format("woff2"),url(fonts/lato-hairline-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:200;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-thin.woff2) format("woff2"),url(fonts/lato-thin.woff) format("woff")}@font-face{font-family:Lato;font-weight:200;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-thin-italic.woff2) format("woff2"),url(fonts/lato-thin-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:300;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-light.woff2) format("woff2"),url(fonts/lato-light.woff) format("woff")}@font-face{font-family:Lato;font-weight:300;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-light-italic.woff2) format("woff2"),url(fonts/lato-light-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:400;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-normal.woff2) format("woff2"),url(fonts/lato-normal.woff) format("woff")}@font-face{font-family:Lato;font-weight:400;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-normal-italic.woff2) format("woff2"),url(fonts/lato-normal-italic.woff) format("woff")}@font-face{font-family:Lato Medium;font-weight:400;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-medium.woff2) format("woff2"),url(fonts/lato-medium.woff) format("woff")}@font-face{font-family:Lato Medium;font-weight:400;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-medium-italic.woff2) format("woff2"),url(fonts/lato-medium-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:500;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-semibold.woff2) format("woff2"),url(fonts/lato-semibold.woff) format("woff")}@font-face{font-family:Lato;font-weight:500;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-semibold-italic.woff2) format("woff2"),url(fonts/lato-semibold-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:600;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-bold.woff2) format("woff2"),url(fonts/lato-bold.woff) format("woff")}@font-face{font-family:Lato;font-weight:600;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-bold-italic.woff2) format("woff2"),url(fonts/lato-bold-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:800;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-heavy.woff2) format("woff2"),url(fonts/lato-heavy.woff) format("woff")}@font-face{font-family:Lato;font-weight:800;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-heavy-italic.woff2) format("woff2"),url(fonts/lato-heavy-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:900;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-black.woff2) format("woff2"),url(fonts/lato-black.woff) format("woff")}@font-face{font-family:Lato;font-weight:900;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-black-italic.woff2) format("woff2"),url(fonts/lato-black-italic.woff) format("woff")}.material-icons.md-18{font-size:18px}.material-icons.md-24{font-size:24px}.material-icons.md-36{font-size:36px}.material-icons.md-48{font-size:48px}.material-icons.md-dark{color:rgba(0,0,0,.54)}.material-icons.md-dark.md-inactive{color:rgba(0,0,0,.26)}.material-icons.md-light{color:#fff}.material-icons.md-light.md-inactive{color:hsla(0,0%,100%,.3)}.hljs{display:block;overflow-x:auto;padding:.5em;color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta-string,.hljs-regexp,.hljs-string{color:#50a14f}.hljs-built_in,.hljs-class .hljs-title{color:#c18401}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#4078f2}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}::selection{color:#fff;background-color:#000}.desktopHide{display:none}.logo{position:fixed;z-index:20;top:.4em;left:.6em}h2,h3,h4{font-family:PT Sans,sans-serif;text-transform:uppercase}label,li,p{color:#666}a{color:#000;font-weight:700}a.nostyle,a:focus,a:hover{text-decoration:none}form fieldset{border:0;padding:0;margin:0}form input[type=email],form input[type=number],form input[type=password],form input[type=text],form input[type=url],select{border:1px solid #999;padding:.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(themes/_global/img/bg-select.png) no-repeat 100%}}.inline .row{display:inline-block;margin-right:.5em}.inline label{min-width:6em}fieldset label{display:inline-block;min-width:12.5em;color:#666}label{margin-right:.5em}form .row{margin-bottom:.5em}form button,input[type=submit]{cursor:pointer;background-color:#000;color:#fff;padding:.5em 1em;display:inline-block;border:1px solid #000}form button:focus,form button:hover,input[type=submit]:focus,input[type=submit]:hover{background-color:#fff;color:#000;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-ms-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}#bookmarklet{cursor:move}h2:after{content:"";height:4px;width:20%;background-color:#000;display:block}.links,.links li{padding:0;margin:0}.links li{list-style:none}#links{position:fixed;top:0;width:10em;left:0;text-align:right;background-color:#333;padding-top:9.5em;height:100%;box-shadow:inset -4px 0 20px rgba(0,0,0,.6);z-index:15}#links>li>a{display:block;padding:.5em 2em .5em 1em;color:#fff;position:relative;text-transform:uppercase;text-decoration:none;font-weight:400;font-family:PT Sans,sans-serif;transition:all .5s ease}#links>li>a:focus,#links>li>a:hover{background-color:#999;color:#000}#links .current:after{content:"";width:0;height:0;position:absolute;border:10px solid transparent;border-right-color:#eee;right:0;top:50%;margin-top:-10px}#links li:last-child{position:fixed;bottom:1em;width:10em}#links li:last-child a:before{font-size:1.2em;position:relative;top:2px}#main{margin-left:12em;position:relative;z-index:10;padding-right:5%;padding-bottom:1em}#sort{padding:0;list-style-type:none;opacity:.5;display:inline-block}#sort li{display:inline;font-size:.9em}#sort li+li{margin-left:10px}#sort a{padding:2px 2px 0;vertical-align:middle}#sort img{vertical-align:baseline}#sort img :hover{cursor:pointer}#display-mode{float:right;margin-top:10px;margin-bottom:10px;opacity:.5}#listmode{width:16px;display:inline-block;text-decoration:none}#listmode.tablemode{background:url(themes/_global/img/table.png) no-repeat bottom}#listmode .listmode{background:url(themes/_global/img/list.png) no-repeat bottom}#warning_message{position:fixed;background-color:tomato;z-index:1000;bottom:0;left:0;width:100%;color:#000}#content{margin-top:2em;min-height:30em}footer{text-align:right;position:relative;bottom:0;right:5em;color:#999;font-size:.8em;font-style:italic;z-index:20}footer a{color:#999;font-weight:400}.list-entries{letter-spacing:-5px}.listmode.entry{width:100%;height:inherit}.card-entry-tags{max-height:2em;overflow-y:hidden;padding:0;margin:0}.card-entry-tags li,.card-entry-tags span{display:inline-block;margin:0 5px;padding:5px 12px;background-color:rgba(0,0,0,.6);border-radius:3px;max-height:2em;overflow:hidden;text-overflow:ellipsis}.card-entry-labels a,.card-entry-tags a{text-decoration:none;font-weight:400;color:#fff}.nav-panel-add-tag{margin-top:10px}.list-entries+.results{margin-bottom:2em}.created-at,.reading-time{color:#999;font-style:italic;font-weight:400;font-size:.9em}.estimatedTime small{position:relative;top:-1px}.entry{background-color:#fff;letter-spacing:normal;box-shadow:0 3px 7px rgba(0,0,0,.3);display:inline-block;width:32%;margin-bottom:1.5em;vertical-align:top;margin-right:1%;position:relative;overflow:hidden;padding:1.5em 0 3em;height:440px}.entry img.preview{width:100%;object-fit:cover;height:100%}.entry:before{width:0;height:0;border:10px solid transparent;border-bottom-color:#000;bottom:.7em;z-index:10;right:1.5em}.entry:after,.entry:before{content:"";position:absolute;transition:all .5s ease}.entry:after{height:7px;width:100%;bottom:0;left:0;background-color:#000}.entry:hover{box-shadow:0 3px 10px #000}.entry:hover:after{height:40px}.entry:hover:before{bottom:2.3em}.entry:hover h2 a{color:#666}.entry:hover .tools{bottom:0}.entry h2{text-transform:none;margin-bottom:0;line-height:1.2;margin-left:5px}.entry:after{content:none}.entry a{display:block;text-decoration:none;color:#000;word-wrap:break-word;transition:all .5s ease}.entry p{color:#666;font-size:.9em;line-height:1.7;margin:5px 5px auto}.entry h2 a:first-letter{text-transform:uppercase}.entry .tools{position:absolute;bottom:-40px;left:0;background:#000;width:100%;z-index:10;padding-right:.5em;text-align:right;transition:all .5s ease}.entry .tools a{color:#666;text-decoration:none;display:block;padding:.4em}.entry .tools a:hover{color:#fff}.entry .tools li{display:inline-block;margin-top:10px}.entry .tools li:first-child{float:left;font-size:.9em;max-width:calc(100% - 40px * 4);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-height:2em;margin-left:10px}.entry .card-entry-labels{position:absolute;top:100px;left:-1em;z-index:90;max-width:50%;padding-left:0}.entry .card-entry-labels li{margin:10px 10px 10px auto;padding:5px 12px 5px 25px;background-color:rgba(0,0,0,.6);border-radius:0 3px 3px 0;color:#fff;cursor:default;max-height:2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry .card-entry-labels li a{color:#fff}.entry:nth-child(3n+1){margin-left:0}.results{letter-spacing:-5px;padding:0 0 .5em}.results>*{display:inline-block;vertical-align:top;letter-spacing:normal;width:50%}.results>*,div.pagination ul{text-align:right}.nb-results{text-align:left;font-style:italic;color:#999;display:inline-flex}div.pagination ul a{color:#999;text-decoration:none}div.pagination ul a:focus,div.pagination ul a:hover{text-decoration:underline}div.pagination ul>*{display:inline-block;margin-left:.5em}div.pagination ul .next.disabled,div.pagination ul .prev.disabled{display:none}div.pagination ul .current{height:25px;padding:4px 8px;border:1px solid #d5d5d5;text-decoration:none;font-weight:700;color:#000;background-color:#ccc}.hide{display:none}#article{width:70%;margin-bottom:3em;text-align:justify}#article .tags{margin-bottom:1em}#article i{font-style:normal}#article h1{text-align:left}#article h2:after{content:none}#article h2,#article h3,#article h4{text-transform:none}blockquote{border:1px solid #999;background-color:#fff;padding:1em;margin:0}.topPosF{position:fixed;right:20%;bottom:2em;font-size:1.5em}#article_toolbar{margin-bottom:1em}#article_toolbar li{display:inline-block;margin:3px auto}#article_toolbar a{background-color:#000;padding:.3em .5em .2em;color:#fff;text-decoration:none}#article_toolbar a:focus,#article_toolbar a:hover{background-color:#999}#nav-btn-add-tag{cursor:pointer}.shaarli:before{content:"*"}.return{text-decoration:none;margin-top:1em;display:block}.return:before{margin-right:.5em}.notags{font-style:italic;color:#999}.icon-rss{background-color:#000;color:#fff;padding:.2em .5em}.icon-rss:before{position:relative;top:2px}.list-tags li{margin-bottom:.5em}.list-tags .icon-rss:focus,.list-tags .icon-rss:hover{background-color:#fff;color:#000;text-decoration:none}.list-tags a{text-decoration:none}.list-tags a:focus,.list-tags a:hover{text-decoration:underline}pre code{font-family:Courier New,Courier,monospace}#filters{position:fixed;width:20%;height:100%;top:0;right:0;background-color:#fff;padding:30px 30px 15px 15px;border-left:1px solid #333;z-index:12;min-width:300px}#filters form .filter-group{margin:5px}#download-form{position:fixed;width:10%;height:100%;top:0;right:0;background-color:#fff;padding:30px 30px 15px 15px;border-left:1px solid #333;z-index:12;min-width:200px}#download-form li{display:block;padding:.5em 2em .5em 1em;color:#fff;position:relative;text-transform:uppercase;text-decoration:none;font-weight:400;font-family:PT Sans,sans-serif;transition:all .5s ease}@font-face{font-family:icomoon;src:url(fonts/IcoMoon-Free.ttf);font-weight:400;font-style:normal}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;width:1em;height:1em;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.material-icons .md-18{font-size:18px}.material-icons .md-24{font-size:24px}.material-icons .md-36{font-size:36px}.material-icons .md-48{font-size:48px}.material-icons .vertical-align-middle{vertical-align:middle!important}.icon-image span,.icon span{position:absolute;top:-9999px}[class*=" icon-"]:before,[class^=icon-]:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga=1";-moz-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;-o-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-flattr:before{content:"\EAD4"}.icon-mail:before{content:"\EA86"}.icon-up-open:before{content:"\E80B"}.icon-star:before{content:"\E9D9"}.icon-check:before{content:"\EA10"}.icon-link:before{content:"\E9CB"}.icon-reply:before{content:"\E806"}.icon-menu:before{content:"\E9BD"}.icon-clock:before{content:"\E803"}.icon-twitter:before{content:"\EA96"}.icon-down-open:before{content:"\E809"}.icon-trash:before{content:"\E9AC"}.icon-delete:before{content:"\EA0D"}.icon-power:before{content:"\EA14"}.icon-arrow-up-thick:before{content:"\EA3A"}.icon-rss:before{content:"\E808"}.icon-print:before{content:"\E954"}.icon-reload:before{content:"\EA2E"}.icon-price-tags:before{content:"\E936"}.icon-eye:before{content:"\E9CE"}.icon-no-eye:before{content:"\E9D1"}.icon-calendar:before{content:"\E953"}.icon-time:before{content:"\E952"}.icon-image{background:no-repeat 50%/80%;padding-right:1em!important;padding-left:1em!important}.icon-image--carrot{background-image:url(themes/_global/img/icons/carrot-icon--white.png)}.icon-image--diaspora{background-image:url(themes/_global/img/icons/Diaspora-asterisk.svg)}.icon-image--unmark{background-image:url(themes/_global/img/icons/unmark-icon--black.png)}.icon-image--shaarli{background-image:url(themes/_global/img/icons/shaarli.png)}.icon-check.archive:before,.icon-star.fav:before{color:#fff}.login{background-color:#333}.login #main{padding:0;margin:0}.login form{background-color:#fff;padding:1.5em;box-shadow:0 1px 8px rgba(0,0,0,.9);width:20em;top:8em;margin-left:-10em}.login .logo,.login form{position:absolute;left:50%}.login .logo{top:2em;margin-left:-55px}.popup-form{background:rgba(0,0,0,.5);left:10em;height:100%;width:100%;margin:0;margin-top:-30%!important;display:none;border-left:1px solid #eee}.popup-form,.popup-form form{position:absolute;top:0;z-index:20;padding:2em}.popup-form form{background-color:#fff;left:0;border:10px solid #000;width:400px;height:200px}#bagit-form-form .addurl{margin-left:0}.close-button,.closeMessage{background-color:#000;color:#fff;font-size:1.2em;line-height:1.6;width:1.6em;height:1.6em;text-align:center;text-decoration:none}.close-button:focus,.close-button:hover,.closeMessage:focus,.closeMessage:hover{background-color:#999;color:#000}.close-button--popup{display:inline-block;position:absolute;top:0;right:0;font-size:1.4em}.active-current{background-color:#999}.active-current:after{content:"";width:0;height:0;position:absolute;border:10px solid transparent;border-right-color:#eee;right:0;top:50%;margin-top:-10px}.opacity03{opacity:.3}.add-to-wallabag-link-after{background-color:#000;color:#fff;padding:0 3px 2px}a.add-to-wallabag-link-after{visibility:hidden;position:absolute;opacity:0;transition-duration:2s;transition-timing-function:ease-out}#article article a:hover+a.add-to-wallabag-link-after,a.add-to-wallabag-link-after:hover{opacity:1;visibility:visible;transition-duration:.3s;transition-timing-function:ease-in}a.add-to-wallabag-link-after:after{content:"w"}#add-link-result{font-weight:700;font-size:.9em}.btn-clickable{cursor:pointer}.messages{text-align:left;width:60%;margin:auto 17%}.messages>*{display:inline-block}.messages .install{text-align:left}.messages .install.error{border:1px solid #c42608;color:#c00!important;background:#fff0ef}.messages .install.notice{border:1px solid #ebcd41;color:#000;background:#fffcd3}.messages .install.success{border:1px solid #6dc70c;background:#e0fbcc!important}.warning{font-weight:700;display:block;width:100%}.more-info{font-size:.85em;line-height:1.5;color:#aaa}.more-info a{color:#aaa}@media screen and (max-width:1050px){.entry{width:49%}.entry:nth-child(3n+1){margin-left:1.5%}.entry:nth-child(odd){margin-left:0}}@media screen and (max-width:900px){#article{width:80%}.topPosF{right:2.5em}}@media screen and (max-width:700px){.entry{width:100%;margin-left:0}#display-mode{display:none}}@media screen and (max-height:770px){.menu.developer,.menu.internal,.menu.users{display:none}}@media screen and (max-width:500px){.entry{width:100%;margin-left:0}body>header{background-color:#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.25em;height:1.25em;left:0;top:0}.login>header,.login form{position:static}.login form{width:100%;margin-left:0}.login .logo{height:auto;top:.5em;width: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-color:#999;font-size:1.2em}.desktopHide:focus,.desktopHide:hover{background-color:#fff}#links{display:none;width:100%;height:auto;padding-top:3em}#links.menu--open{display:block}footer{margin-right:3em}#main,footer{position:static}#main{margin-left:1.5em;padding-right:1.5em;margin-top:3em}#article_toolbar .topPosF,.card-entry-labels{display:none}#article{width:100%}#article h1{font-size:1.5em}#article_toolbar a{padding:.3em .4em .2em}#display-mode{display:none}#bagit-form,#search-form,.popup-form{left:0;width:100%;border-left:none}#bagit-form form,#search-form form,.popup-form form{width:100%}}@media print{body{font-family:Serif;background-color:#fff}@page{margin:1cm}img{max-width:100%!important}#article-informations,#article .mbm a,#article_toolbar,#links,#sort,.entrie+.results,.messages,.top_link,body>.logo,body>footer,div.tools,header div{display:none!important}article{border:none!important}.vieworiginal a:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.pagination span.current{border-style:dashed}#main{margin:0;padding:0}#article,#main{width:100%}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{font-size:1em;line-height:1.5;margin:0}dl:first-child,h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,ol:first-child,p:first-child,ul: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:700}.inner{margin:0 auto;max-width:61.25em}figure,img,table{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}.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:.8em}.big{font-size:1.2em}.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%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}@media screen and (-webkit-min-device-pixel-ratio:0){select{-webkit-appearance:none;border-radius:0}}
2/*# sourceMappingURL=baggy.css.map*/ \ No newline at end of file 2/*# sourceMappingURL=baggy.css.map*/ \ No newline at end of file
diff --git a/web/wallassets/baggy.js b/web/wallassets/baggy.js
index 405e25a0..655a80e3 100644
--- a/web/wallassets/baggy.js
+++ b/web/wallassets/baggy.js
@@ -1 +1 @@
!function(e){function __webpack_require__(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,__webpack_require__),r.l=!0,r.exports}var t={};__webpack_require__.m=e,__webpack_require__.c=t,__webpack_require__.i=function(e){return e},__webpack_require__.d=function(e,t,n){__webpack_require__.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,"a",t),t},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=53)}([function(e,t,n){var r,o;!function(t,n){"object"==typeof e&&"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,i){function isArrayLike(e){var t=!!e&&"length"in e&&e.length,n=m.type(e);return"function"!==n&&!m.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function winnow(e,t,n){if(m.isFunction(t))return m.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return m.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(k.test(t))return m.filter(t,e,n);t=m.filter(t,e)}return m.grep(e,function(e){return f.call(t,e)>-1!==n})}function sibling(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function createOptions(e){var t={};return m.each(e.match(P)||[],function(e,n){t[n]=!0}),t}function completed(){s.removeEventListener("DOMContentLoaded",completed),n.removeEventListener("load",completed),m.ready()}function Data(){this.expando=m.expando+Data.uid++}function dataAttr(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(H,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:F.test(n)?m.parseJSON(n):n)}catch(e){}j.set(e,t,n)}else n=void 0;return n}function adjustCSS(e,t,n,r){var o,i=1,a=20,s=r?function(){return r.cur()}:function(){return m.css(e,t,"")},u=s(),l=n&&n[3]||(m.cssNumber[t]?"":"px"),c=(m.cssNumber[t]||"px"!==l&&+u)&&B.exec(m.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do{i=i||".5",c/=i,m.style(e,t,c+l)}while(i!==(i=s()/u)&&1!==i&&--a)}return n&&(c=+c||+u||0,o=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=o)),o}function getAll(e,t){var n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&m.nodeName(e,t)?m.merge([e],n):n}function setGlobalEval(e,t){for(var n=0,r=e.length;n<r;n++)R.set(e[n],"globalEval",!t||R.get(t[n],"globalEval"))}function buildFragment(e,t,n,r,o){for(var i,a,s,u,l,c,f=t.createDocumentFragment(),d=[],h=0,p=e.length;h<p;h++)if((i=e[h])||0===i)if("object"===m.type(i))m.merge(d,i.nodeType?[i]:i);else if(V.test(i)){for(a=a||f.appendChild(t.createElement("div")),s=(U.exec(i)||["",""])[1].toLowerCase(),u=X[s]||X._default,a.innerHTML=u[1]+m.htmlPrefilter(i)+u[2],c=u[0];c--;)a=a.lastChild;m.merge(d,a.childNodes),a=f.firstChild,a.textContent=""}else d.push(t.createTextNode(i));for(f.textContent="",h=0;i=d[h++];)if(r&&m.inArray(i,r)>-1)o&&o.push(i);else if(l=m.contains(i.ownerDocument,i),a=getAll(f.appendChild(i),"script"),l&&setGlobalEval(a),n)for(c=0;i=a[c++];)$.test(i.type||"")&&n.push(i);return f}function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return s.activeElement}catch(e){}}function on(e,t,n,r,o,i){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)on(e,s,n,r,t[s],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),!1===o)o=returnFalse;else if(!o)return e;return 1===i&&(a=o,o=function(e){return m().off(e),a.apply(this,arguments)},o.guid=a.guid||(a.guid=m.guid++)),e.each(function(){m.event.add(this,t,o,r,n)})}function manipulationTarget(e,t){return m.nodeName(e,"table")&&m.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function disableScript(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function restoreScript(e){var t=ee.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function cloneCopyEvent(e,t){var n,r,o,i,a,s,u,l;if(1===t.nodeType){if(R.hasData(e)&&(i=R.access(e),a=R.set(t,i),l=i.events)){delete a.handle,a.events={};for(o in l)for(n=0,r=l[o].length;n<r;n++)m.event.add(t,o,l[o][n])}j.hasData(e)&&(s=j.access(e),u=m.extend({},s),j.set(t,u))}}function fixInput(e,t){var n=t.nodeName.toLowerCase();"input"===n&&W.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function domManip(e,t,n,r){t=l.apply([],t);var o,i,a,s,u,c,f=0,d=e.length,h=d-1,p=t[0],v=m.isFunction(p);if(v||d>1&&"string"==typeof p&&!g.checkClone&&Z.test(p))return e.each(function(o){var i=e.eq(o);v&&(t[0]=p.call(this,o,i.html())),domManip(i,t,n,r)});if(d&&(o=buildFragment(t,e[0].ownerDocument,!1,e,r),i=o.firstChild,1===o.childNodes.length&&(o=i),i||r)){for(a=m.map(getAll(o,"script"),disableScript),s=a.length;f<d;f++)u=o,f!==h&&(u=m.clone(u,!0,!0),s&&m.merge(a,getAll(u,"script"))),n.call(e[f],u,f);if(s)for(c=a[a.length-1].ownerDocument,m.map(a,restoreScript),f=0;f<s;f++)u=a[f],$.test(u.type||"")&&!R.access(u,"globalEval")&&m.contains(c,u)&&(u.src?m._evalUrl&&m._evalUrl(u.src):m.globalEval(u.textContent.replace(te,"")))}return e}function remove(e,t,n){for(var r,o=t?m.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||m.cleanData(getAll(r)),r.parentNode&&(n&&m.contains(r.ownerDocument,r)&&setGlobalEval(getAll(r,"script")),r.parentNode.removeChild(r));return e}function actualDisplay(e,t){var n=m(t.createElement(e)).appendTo(t.body),r=m.css(n[0],"display");return n.detach(),r}function defaultDisplay(e){var t=s,n=re[e];return n||(n=actualDisplay(e,t),"none"!==n&&n||(ne=(ne||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=ne[0].contentDocument,t.write(),t.close(),n=actualDisplay(e,t),ne.detach()),re[e]=n),n}function curCSS(e,t,n){var r,o,i,a,s=e.style;return n=n||ae(e),a=n?n.getPropertyValue(t)||n[t]:void 0,""!==a&&void 0!==a||m.contains(e.ownerDocument,e)||(a=m.style(e,t)),n&&!g.pixelMarginRight()&&ie.test(a)&&oe.test(t)&&(r=s.width,o=s.minWidth,i=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=o,s.maxWidth=i),void 0!==a?a+"":a}function addGetHookIf(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function vendorPropName(e){if(e in he)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=de.length;n--;)if((e=de[n]+t)in he)return e}function setPositiveNumber(e,t,n){var r=B.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function augmentWidthOrHeight(e,t,n,r,o){for(var i=n===(r?"border":"content")?4:"width"===t?1:0,a=0;i<4;i+=2)"margin"===n&&(a+=m.css(e,n+z[i],!0,o)),r?("content"===n&&(a-=m.css(e,"padding"+z[i],!0,o)),"margin"!==n&&(a-=m.css(e,"border"+z[i]+"Width",!0,o))):(a+=m.css(e,"padding"+z[i],!0,o),"padding"!==n&&(a+=m.css(e,"border"+z[i]+"Width",!0,o)));return a}function getWidthOrHeight(e,t,n){var r=!0,o="width"===t?e.offsetWidth:e.offsetHeight,i=ae(e),a="border-box"===m.css(e,"boxSizing",!1,i);if(o<=0||null==o){if(o=curCSS(e,t,i),(o<0||null==o)&&(o=e.style[t]),ie.test(o))return o;r=a&&(g.boxSizingReliable()||o===e.style[t]),o=parseFloat(o)||0}return o+augmentWidthOrHeight(e,t,n||(a?"border":"content"),r,i)+"px"}function showHide(e,t){for(var n,r,o,i=[],a=0,s=e.length;a<s;a++)r=e[a],r.style&&(i[a]=R.get(r,"olddisplay"),n=r.style.display,t?(i[a]||"none"!==n||(r.style.display=""),""===r.style.display&&I(r)&&(i[a]=R.access(r,"olddisplay",defaultDisplay(r.nodeName)))):(o=I(r),"none"===n&&o||R.set(r,"olddisplay",o?n:m.css(r,"display"))));for(a=0;a<s;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?i[a]||"":"none"));return e}function Tween(e,t,n,r,o){return new Tween.prototype.init(e,t,n,r,o)}function createFxNow(){return n.setTimeout(function(){pe=void 0}),pe=m.now()}function genFx(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)n=z[r],o["margin"+n]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function createTween(e,t,n){for(var r,o=(Animation.tweeners[t]||[]).concat(Animation.tweeners["*"]),i=0,a=o.length;i<a;i++)if(r=o[i].call(n,t,e))return r}function defaultPrefilter(e,t,n){var r,o,i,a,s,u,l,c=this,f={},d=e.style,h=e.nodeType&&I(e),p=R.get(e,"fxshow");n.queue||(s=m._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,u=s.empty.fire,s.empty.fire=function(){s.unqueued||u()}),s.unqueued++,c.always(function(){c.always(function(){s.unqueued--,m.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],l=m.css(e,"display"),"inline"===("none"===l?R.get(e,"olddisplay")||defaultDisplay(e.nodeName):l)&&"none"===m.css(e,"float")&&(d.display="inline-block")),n.overflow&&(d.overflow="hidden",c.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(r in t)if(o=t[r],me.exec(o)){if(delete t[r],i=i||"toggle"===o,o===(h?"hide":"show")){if("show"!==o||!p||void 0===p[r])continue;h=!0}f[r]=p&&p[r]||m.style(e,r)}else l=void 0;if(m.isEmptyObject(f))"inline"===("none"===l?defaultDisplay(e.nodeName):l)&&(d.display=l);else{p?"hidden"in p&&(h=p.hidden):p=R.access(e,"fxshow",{}),i&&(p.hidden=!h),h?m(e).show():c.done(function(){m(e).hide()}),c.done(function(){var t;R.remove(e,"fxshow");for(t in f)m.style(e,t,f[t])});for(r in f)a=createTween(h?p[r]:0,r,c),r in p||(p[r]=a.start,h&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function propFilter(e,t){var n,r,o,i,a;for(n in e)if(r=m.camelCase(n),o=t[r],i=e[n],m.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),(a=m.cssHooks[r])&&"expand"in a){i=a.expand(i),delete e[r];for(n in i)n in e||(e[n]=i[n],t[n]=o)}else t[r]=o}function Animation(e,t,n){var r,o,i=0,a=Animation.prefilters.length,s=m.Deferred().always(function(){delete u.elem}),u=function(){if(o)return!1;for(var t=pe||createFxNow(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,i=1-r,a=0,u=l.tweens.length;a<u;a++)l.tweens[a].run(i);return s.notifyWith(e,[l,i,n]),i<1&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:m.extend({},t),opts:m.extend(!0,{specialEasing:{},easing:m.easing._default},n),originalProperties:t,originalOptions:n,startTime:pe||createFxNow(),duration:n.duration,tweens:[],createTween:function(t,n){var r=m.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(o)return this;for(o=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(propFilter(c,l.opts.specialEasing);i<a;i++)if(r=Animation.prefilters[i].call(l,e,c,l.opts))return m.isFunction(r.stop)&&(m._queueHooks(l.elem,l.opts.queue).stop=m.proxy(r.stop,r)),r;return m.map(c,createTween,l),m.isFunction(l.opts.start)&&l.opts.start.call(e,l),m.fx.timer(m.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function getClass(e){return e.getAttribute&&e.getAttribute("class")||""}function addToPrefiltersOrTransports(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(P)||[];if(m.isFunction(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function inspectPrefiltersOrTransports(e,t,n,r){function inspect(a){var s;return o[a]=!0,m.each(e[a]||[],function(e,a){var u=a(t,n,r);return"string"!=typeof u||i||o[u]?i?!(s=u):void 0:(t.dataTypes.unshift(u),inspect(u),!1)}),s}var o={},i=e===je;return inspect(t.dataTypes[0])||!o["*"]&&inspect("*")}function ajaxExtend(e,t){var n,r,o=m.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&m.extend(!0,e,r),e}function ajaxHandleResponses(e,t,n){for(var r,o,i,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in s)if(s[o]&&s[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}a||(a=o)}i=i||a}if(i)return i!==u[0]&&u.unshift(i),n[i]}function ajaxConvert(e,t,n,r){var o,i,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(i=c.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=c.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(!(a=l[u+" "+i]||l["* "+i]))for(o in l)if(s=o.split(" "),s[1]===i&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[o]:!0!==l[o]&&(i=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}function buildParams(e,t,n,r){var o;if(m.isArray(t))m.each(t,function(t,o){n||Be.test(e)?r(e,o):buildParams(e+"["+("object"==typeof o&&null!=o?t:"")+"]",o,n,r)});else if(n||"object"!==m.type(t))r(e,t);else for(o in t)buildParams(e+"["+o+"]",t[o],n,r)}function getWindow(e){return m.isWindow(e)?e:9===e.nodeType&&e.defaultView}var a=[],s=n.document,u=a.slice,l=a.concat,c=a.push,f=a.indexOf,d={},h=d.toString,p=d.hasOwnProperty,g={},m=function(e,t){return new m.fn.init(e,t)},v=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,y=/^-ms-/,w=/-([\da-z])/gi,b=function(e,t){return t.toUpperCase()};m.fn=m.prototype={jquery:"2.2.4",constructor:m,selector:"",length:0,toArray:function(){return u.call(this)},get:function(e){return null!=e?e<0?this[e+this.length]:this[e]:u.call(this)},pushStack:function(e){var t=m.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e){return m.each(this,e)},map:function(e){return this.pushStack(m.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(u.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:c,sort:a.sort,splice:a.splice},m.extend=m.fn.extend=function(){var e,t,n,r,o,i,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m.isFunction(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],r=e[t],a!==r&&(l&&r&&(m.isPlainObject(r)||(o=m.isArray(r)))?(o?(o=!1,i=n&&m.isArray(n)?n:[]):i=n&&m.isPlainObject(n)?n:{},a[t]=m.extend(l,i,r)):void 0!==r&&(a[t]=r));return a},m.extend({expando:"jQuery"+("2.2.4"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===m.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=e&&e.toString();return!m.isArray(e)&&t-parseFloat(t)+1>=0},isPlainObject:function(e){var t;if("object"!==m.type(e)||e.nodeType||m.isWindow(e))return!1;if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype||{},"isPrototypeOf"))return!1;for(t in e);return void 0===t||p.call(e,t)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?d[h.call(e)]||"object":typeof e},globalEval:function(e){var t,n=eval;(e=m.trim(e))&&(1===e.indexOf("use strict")?(t=s.createElement("script"),t.text=e,s.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(y,"ms-").replace(w,b)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,r=0;if(isArrayLike(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(v,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(isArrayLike(Object(e))?m.merge(n,"string"==typeof e?[e]:e):c.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:f.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r=[],o=0,i=e.length,a=!n;o<i;o++)!t(e[o],o)!==a&&r.push(e[o]);return r},map:function(e,t,n){var r,o,i=0,a=[];if(isArrayLike(e))for(r=e.length;i<r;i++)null!=(o=t(e[i],i,n))&&a.push(o);else for(i in e)null!=(o=t(e[i],i,n))&&a.push(o);return l.apply([],a)},guid:1,proxy:function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),m.isFunction(e))return r=u.call(arguments,2),o=function(){return e.apply(t||this,r.concat(u.call(arguments)))},o.guid=e.guid=e.guid||m.guid++,o},now:Date.now,support:g}),"function"==typeof Symbol&&(m.fn[Symbol.iterator]=a[Symbol.iterator]),m.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){d["[object "+t+"]"]=t.toLowerCase()});var x=function(e){function Sizzle(e,t,r,o){var i,s,l,c,f,p,v,y,T=t&&t.ownerDocument,C=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==C&&9!==C&&11!==C)return r;if(!o&&((t?t.ownerDocument||t:x)!==h&&d(t),t=t||h,g)){if(11!==C&&(p=J.exec(e)))if(i=p[1]){if(9===C){if(!(l=t.getElementById(i)))return r;if(l.id===i)return r.push(l),r}else if(T&&(l=T.getElementById(i))&&w(t,l)&&l.id===i)return r.push(l),r}else{if(p[2])return L.apply(r,t.getElementsByTagName(e)),r;if((i=p[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(i)),r}if(n.qsa&&!k[e+" "]&&(!m||!m.test(e))){if(1!==C)T=t,y=e;else if("object"!==t.nodeName.toLowerCase()){for((c=t.getAttribute("id"))?c=c.replace(ee,"\\$&"):t.setAttribute("id",c=b),v=a(e),s=v.length,f=V.test(c)?"#"+c:"[id='"+c+"']";s--;)v[s]=f+" "+toSelector(v[s]);y=v.join(","),T=Z.test(e)&&testContext(t.parentNode)||t}if(y)try{return L.apply(r,T.querySelectorAll(y)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(I,"$1"),t,r,o)}function createCache(){function cache(t,n){return e.push(t+" ")>r.cacheLength&&delete cache[e.shift()],cache[t+" "]=n}var e=[];return cache}function markFunction(e){return e[b]=!0,e}function assert(e){var t=h.createElement("div");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function addHandle(e,t){for(var n=e.split("|"),o=n.length;o--;)r.attrHandle[n[o]]=t}function siblingCheck(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||A)-(~e.sourceIndex||A);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function createPositionalPseudo(e){return markFunction(function(t){return t=+t,markFunction(function(n,r){for(var o,i=e([],n.length,t),a=i.length;a--;)n[o=i[a]]&&(n[o]=!(r[o]=n[o]))})})}function testContext(e){return e&&void 0!==e.getElementsByTagName&&e}function setFilters(){}function toSelector(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function addCombinator(e,t,n){var r=t.dir,o=n&&"parentNode"===r,i=C++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,a){var s,u,l,c=[T,i];if(a){for(;t=t[r];)if((1===t.nodeType||o)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||o){if(l=t[b]||(t[b]={}),u=l[t.uniqueID]||(l[t.uniqueID]={}),(s=u[r])&&s[0]===T&&s[1]===i)return c[2]=s[2];if(u[r]=c,c[2]=e(t,n,a))return!0}}}function elementMatcher(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function multipleContexts(e,t,n){for(var r=0,o=t.length;r<o;r++)Sizzle(e,t[r],n);return n}function condense(e,t,n,r,o){for(var i,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(i=e[s])&&(n&&!n(i,r,o)||(a.push(i),l&&t.push(s)));return a}function setMatcher(e,t,n,r,o,i){return r&&!r[b]&&(r=setMatcher(r)),o&&!o[b]&&(o=setMatcher(o,i)),markFunction(function(i,a,s,u){var l,c,f,d=[],h=[],p=a.length,g=i||multipleContexts(t||"*",s.nodeType?[s]:s,[]),m=!e||!i&&t?g:condense(g,d,e,s,u),v=n?o||(i?e:p||r)?[]:a:m;if(n&&n(m,v,s,u),r)for(l=condense(v,h),r(l,[],s,u),c=l.length;c--;)(f=l[c])&&(v[h[c]]=!(m[h[c]]=f));if(i){if(o||e){if(o){for(l=[],c=v.length;c--;)(f=v[c])&&l.push(m[c]=f);o(null,v=[],l,u)}for(c=v.length;c--;)(f=v[c])&&(l=o?R(i,f):d[c])>-1&&(i[l]=!(a[l]=f))}}else v=condense(v===a?v.splice(p,v.length):v),o?o(null,a,v,u):L.apply(a,v)})}function matcherFromTokens(e){for(var t,n,o,i=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=addCombinator(function(e){return e===t},s,!0),f=addCombinator(function(e){return R(t,e)>-1},s,!0),d=[function(e,n,r){var o=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,o}];u<i;u++)if(n=r.relative[e[u].type])d=[addCombinator(elementMatcher(d),n)];else{if(n=r.filter[e[u].type].apply(null,e[u].matches),n[b]){for(o=++u;o<i&&!r.relative[e[o].type];o++);return setMatcher(u>1&&elementMatcher(d),u>1&&toSelector(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(I,"$1"),n,u<o&&matcherFromTokens(e.slice(u,o)),o<i&&matcherFromTokens(e=e.slice(o)),o<i&&toSelector(e))}d.push(n)}return elementMatcher(d)}function matcherFromGroupMatchers(e,t){var n=t.length>0,o=e.length>0,i=function(i,a,s,u,c){var f,p,m,v=0,y="0",w=i&&[],b=[],x=l,C=i||o&&r.find.TAG("*",c),_=T+=null==x?1:Math.random()||.1,E=C.length;for(c&&(l=a===h||a||c);y!==E&&null!=(f=C[y]);y++){if(o&&f){for(p=0,a||f.ownerDocument===h||(d(f),s=!g);m=e[p++];)if(m(f,a||h,s)){u.push(f);break}c&&(T=_)}n&&((f=!m&&f)&&v--,i&&w.push(f))}if(v+=y,n&&y!==v){for(p=0;m=t[p++];)m(w,b,a,s);if(i){if(v>0)for(;y--;)w[y]||b[y]||(b[y]=P.call(u));b=condense(b)}L.apply(u,b),c&&!i&&b.length>0&&v+t.length>1&&Sizzle.uniqueSort(u)}return c&&(T=_,l=x),w};return n?markFunction(i):i}var t,n,r,o,i,a,s,u,l,c,f,d,h,p,g,m,v,y,w,b="sizzle"+1*new Date,x=e.document,T=0,C=0,_=createCache(),E=createCache(),k=createCache(),S=function(e,t){return e===t&&(f=!0),0},A=1<<31,N={}.hasOwnProperty,D=[],P=D.pop,O=D.push,L=D.push,M=D.slice,R=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},j="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",F="[\\x20\\t\\r\\n\\f]",H="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",q="\\["+F+"*("+H+")(?:"+F+"*([*^$|!~]?=)"+F+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+H+"))|)"+F+"*\\]",B=":("+H+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+q+")*)|.*)\\)|)",z=new RegExp(F+"+","g"),I=new RegExp("^"+F+"+|((?:^|[^\\\\])(?:\\\\.)*)"+F+"+$","g"),W=new RegExp("^"+F+"*,"+F+"*"),U=new RegExp("^"+F+"*([>+~]|"+F+")"+F+"*"),$=new RegExp("="+F+"*([^\\]'\"]*?)"+F+"*\\]","g"),X=new RegExp(B),V=new RegExp("^"+H+"$"),Y={ID:new RegExp("^#("+H+")"),CLASS:new RegExp("^\\.("+H+")"),TAG:new RegExp("^("+H+"|[*])"),ATTR:new RegExp("^"+q),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+F+"*(even|odd|(([+-]|)(\\d*)n|)"+F+"*(?:([+-]|)"+F+"*(\\d+)|))"+F+"*\\)|)","i"),bool:new RegExp("^(?:"+j+")$","i"),needsContext:new RegExp("^"+F+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+F+"*((?:-\\d)?\\d*)"+F+"*\\)|)(?=[^-]|$)","i")},K=/^(?:input|select|textarea|button)$/i,G=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/[+~]/,ee=/'|\\/g,te=new RegExp("\\\\([\\da-f]{1,6}"+F+"?|("+F+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=function(){d()};try{L.apply(D=M.call(x.childNodes),x.childNodes),D[x.childNodes.length].nodeType}catch(e){L={apply:D.length?function(e,t){O.apply(e,M.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}n=Sizzle.support={},i=Sizzle.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},d=Sizzle.setDocument=function(e){var t,o,a=e?e.ownerDocument||e:x;return a!==h&&9===a.nodeType&&a.documentElement?(h=a,p=h.documentElement,g=!i(h),(o=h.defaultView)&&o.top!==o&&(o.addEventListener?o.addEventListener("unload",re,!1):o.attachEvent&&o.attachEvent("onunload",re)),n.attributes=assert(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=assert(function(e){return e.appendChild(h.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(h.getElementsByClassName),n.getById=assert(function(e){return p.appendChild(e).id=b,!h.getElementsByName||!h.getElementsByName(b).length}),n.getById?(r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}},r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}}):(delete r.find.ID,r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],m=[],(n.qsa=Q.test(h.querySelectorAll))&&(assert(function(e){p.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+F+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\["+F+"*(?:value|"+j+")"),e.querySelectorAll("[id~="+b+"-]").length||m.push("~="),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||m.push(".#.+[+~]")}),assert(function(e){var t=h.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name"+F+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")})),(n.matchesSelector=Q.test(y=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&assert(function(e){n.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),v.push("!=",B)}),m=m.length&&new RegExp(m.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(p.compareDocumentPosition),w=t||Q.test(p.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},S=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&r||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===h||e.ownerDocument===x&&w(x,e)?-1:t===h||t.ownerDocument===x&&w(x,t)?1:c?R(c,e)-R(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],s=[t];if(!o||!i)return e===h?-1:t===h?1:o?-1:i?1:c?R(c,e)-R(c,t):0;if(o===i)return siblingCheck(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?siblingCheck(a[r],s[r]):a[r]===x?-1:s[r]===x?1:0},h):h},Sizzle.matches=function(e,t){return Sizzle(e,null,null,t)},Sizzle.matchesSelector=function(e,t){if((e.ownerDocument||e)!==h&&d(e),t=t.replace($,"='$1']"),n.matchesSelector&&g&&!k[t+" "]&&(!v||!v.test(t))&&(!m||!m.test(t)))try{var r=y.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return Sizzle(t,h,null,[e]).length>0},Sizzle.contains=function(e,t){return(e.ownerDocument||e)!==h&&d(e),w(e,t)},Sizzle.attr=function(e,t){(e.ownerDocument||e)!==h&&d(e);var o=r.attrHandle[t.toLowerCase()],i=o&&N.call(r.attrHandle,t.toLowerCase())?o(e,t,!g):void 0;return void 0!==i?i:n.attributes||!g?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},Sizzle.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},Sizzle.uniqueSort=function(e){var t,r=[],o=0,i=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(S),f){for(;t=e[i++];)t===e[i]&&(o=r.push(i));for(;o--;)e.splice(r[o],1)}return c=null,e},o=Sizzle.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++];)n+=o(t);return n},r=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:Y,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(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||Sizzle.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]&&Sizzle.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Y.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=_[e+" "];return t||(t=new RegExp("(^|"+F+")"+e+"("+F+"|$)"))&&_(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var o=Sizzle.attr(r,e);return null==o?"!="===t:!t||(o+="","="===t?o===n:"!="===t?o!==n:"^="===t?n&&0===o.indexOf(n):"*="===t?n&&o.indexOf(n)>-1:"$="===t?n&&o.slice(-n.length)===n:"~="===t?(" "+o.replace(z," ")+" ").indexOf(n)>-1:"|="===t&&(o===n||o.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,h,p,g=i!==a?"nextSibling":"previousSibling",m=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!u&&!s,w=!1;if(m){if(i){for(;g;){for(d=t;d=d[g];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;p=g="only"===e&&!p&&"nextSibling"}return!0}if(p=[a?m.firstChild:m.lastChild],a&&y){for(d=m,f=d[b]||(d[b]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],h=l[0]===T&&l[1],w=h&&l[2],d=h&&m.childNodes[h];d=++h&&d&&d[g]||(w=h=0)||p.pop();)if(1===d.nodeType&&++w&&d===t){c[e]=[T,h,w];break}}else if(y&&(d=t,f=d[b]||(d[b]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],h=l[0]===T&&l[1],w=h),!1===w)for(;(d=++h&&d&&d[g]||(w=h=0)||p.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++w||(y&&(f=d[b]||(d[b]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),c[e]=[T,w]),d!==t)););return(w-=o)===r||w%r==0&&w/r>=0}}},PSEUDO:function(e,t){var n,o=r.pseudos[e]||r.setFilters[e.toLowerCase()]||Sizzle.error("unsupported pseudo: "+e);return o[b]?o(t):o.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?markFunction(function(e,n){for(var r,i=o(e,t),a=i.length;a--;)r=R(e,i[a]),e[r]=!(n[r]=i[a])}):function(e){return o(e,0,n)}):o}},pseudos:{not:markFunction(function(e){var t=[],n=[],r=s(e.replace(I,"$1"));return r[b]?markFunction(function(e,t,n,o){for(var i,a=r(e,null,o,[]),s=e.length;s--;)(i=a[s])&&(e[s]=!(t[s]=i))}):function(e,o,i){return t[0]=e,r(t,null,i,n),t[0]=null,!n.pop()}}),has:markFunction(function(e){return function(t){return Sizzle(e,t).length>0}}),contains:markFunction(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:markFunction(function(e){return V.test(e||"")||Sizzle.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===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===p},focus:function(e){return e===h.activeElement&&(!h.hasFocus||h.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return!1===e.disabled},disabled:function(e){return!0===e.disabled},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,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return G.test(e.nodeName)},input:function(e){return K.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"))||"text"===t.toLowerCase())},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(e,t){return[t-1]}),eq:createPositionalPseudo(function(e,t,n){return[n<0?n+t:n]}),even:createPositionalPseudo(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:createPositionalPseudo(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:createPositionalPseudo(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:createPositionalPseudo(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},r.pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=function(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=function(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}(t);return setFilters.prototype=r.filters=r.pseudos,r.setFilters=new setFilters,a=Sizzle.tokenize=function(e,t){var n,o,i,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);for(s=e,u=[],l=r.preFilter;s;){n&&!(o=W.exec(s))||(o&&(s=s.slice(o[0].length)||s),u.push(i=[])),n=!1,(o=U.exec(s))&&(n=o.shift(),i.push({value:n,type:o[0].replace(I," ")}),s=s.slice(n.length));for(a in r.filter)!(o=Y[a].exec(s))||l[a]&&!(o=l[a](o))||(n=o.shift(),i.push({value:n,type:a,matches:o}),s=s.slice(n.length));if(!n)break}return t?s.length:s?Sizzle.error(e):E(e,u).slice(0)},s=Sizzle.compile=function(e,t){var n,r=[],o=[],i=k[e+" "];if(!i){for(t||(t=a(e)),n=t.length;n--;)i=matcherFromTokens(t[n]),i[b]?r.push(i):o.push(i);i=k(e,matcherFromGroupMatchers(o,r)),i.selector=e}return i},u=Sizzle.select=function(e,t,o,i){var u,l,c,f,d,h="function"==typeof e&&e,p=!i&&a(e=h.selector||e);if(o=o||[],1===p.length){if(l=p[0]=p[0].slice(0),l.length>2&&"ID"===(c=l[0]).type&&n.getById&&9===t.nodeType&&g&&r.relative[l[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(te,ne),t)||[])[0]))return o;h&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(u=Y.needsContext.test(e)?0:l.length;u--&&(c=l[u],!r.relative[f=c.type]);)if((d=r.find[f])&&(i=d(c.matches[0].replace(te,ne),Z.test(l[0].type)&&testContext(t.parentNode)||t))){if(l.splice(u,1),!(e=i.length&&toSelector(l)))return L.apply(o,i),o;break}}return(h||s(e,p))(i,t,!g,o,!t||Z.test(e)&&testContext(t.parentNode)||t),o},n.sortStable=b.split("").sort(S).join("")===b,n.detectDuplicates=!!f,d(),n.sortDetached=assert(function(e){return 1&e.compareDocumentPosition(h.createElement("div"))}),assert(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||addHandle("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&assert(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||addHandle("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),assert(function(e){return null==e.getAttribute("disabled")})||addHandle(j,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),Sizzle}(n);m.find=x,m.expr=x.selectors,m.expr[":"]=m.expr.pseudos,m.uniqueSort=m.unique=x.uniqueSort,m.text=x.getText,m.isXMLDoc=x.isXML,m.contains=x.contains;var T=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&m(e).is(n))break;r.push(e)}return r},C=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},_=m.expr.match.needsContext,E=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,k=/^.[^:#\[\.,]*$/;m.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?m.find.matchesSelector(r,e)?[r]:[]:m.find.matches(e,m.grep(t,function(e){return 1===e.nodeType}))},m.fn.extend({find:function(e){var t,n=this.length,r=[],o=this;if("string"!=typeof e)return this.pushStack(m(e).filter(function(){for(t=0;t<n;t++)if(m.contains(o[t],this))return!0}));for(t=0;t<n;t++)m.find(e,o[t],r);return r=this.pushStack(n>1?m.unique(r):r),r.selector=this.selector?this.selector+" "+e:e,r},filter:function(e){return this.pushStack(winnow(this,e||[],!1))},not:function(e){return this.pushStack(winnow(this,e||[],!0))},is:function(e){return!!winnow(this,"string"==typeof e&&_.test(e)?m(e):e||[],!1).length}});var S,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(m.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||S,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:A.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof m?t[0]:t,m.merge(this,m.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:s,!0)),E.test(r[1])&&m.isPlainObject(t))for(r in t)m.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=s.getElementById(r[2]),o&&o.parentNode&&(this.length=1,this[0]=o),this.context=s,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):m.isFunction(e)?void 0!==n.ready?n.ready(e):e(m):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),m.makeArray(e,this))}).prototype=m.fn,S=m(s);var N=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};m.fn.extend({has:function(e){var t=m(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(m.contains(this,t[e]))return!0})},closest:function(e,t){for(var n,r=0,o=this.length,i=[],a=_.test(e)||"string"!=typeof e?m(e,t||this.context):0;r<o;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&m.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?m.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?f.call(m(e),this[0]):f.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(m.uniqueSort(m.merge(this.get(),m(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),m.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return sibling(e,"nextSibling")},prev:function(e){return sibling(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return C((e.parentNode||{}).firstChild,e)},children:function(e){return C(e.firstChild)},contents:function(e){return e.contentDocument||m.merge([],e.childNodes)}},function(e,t){m.fn[e]=function(n,r){var o=m.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=m.filter(r,o)),this.length>1&&(D[e]||m.uniqueSort(o),N.test(e)&&o.reverse()),this.pushStack(o)}});var P=/\S+/g;m.Callbacks=function(e){e="string"==typeof e?createOptions(e):m.extend({},e);var t,n,r,o,i=[],a=[],s=-1,u=function(){for(o=e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s<i.length;)!1===i[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:"")},l={add:function(){return i&&(n&&!t&&(s=i.length-1,a.push(n)),function add(t){m.each(t,function(t,n){m.isFunction(n)?e.unique&&l.has(n)||i.push(n):n&&n.length&&"string"!==m.type(n)&&add(n)})}(arguments),n&&!t&&u()),this},remove:function(){return m.each(arguments,function(e,t){for(var n;(n=m.inArray(t,i,n))>-1;)i.splice(n,1),n<=s&&s--}),this},has:function(e){return e?m.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},m.extend({Deferred:function(e){var t=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return o.done(arguments).fail(arguments),this},then:function(){var e=arguments;return m.Deferred(function(n){m.each(t,function(t,i){var a=m.isFunction(e[t])&&e[t];o[i[1]](function(){var e=a&&a.apply(this,arguments);e&&m.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[i[0]+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?m.extend(e,r):r}},o={};return r.pipe=r.then,m.each(t,function(e,i){var a=i[2],s=i[3];r[i[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),o[i[0]]=function(){return o[i[0]+"With"](this===o?r:this,arguments),this},o[i[0]+"With"]=a.fireWith}),r.promise(o),e&&e.call(o,o),o},when:function(e){var t,n,r,o=0,i=u.call(arguments),a=i.length,s=1!==a||e&&m.isFunction(e.promise)?a:0,l=1===s?e:m.Deferred(),c=function(e,n,r){return function(o){n[e]=this,r[e]=arguments.length>1?u.call(arguments):o,r===t?l.notifyWith(n,r):--s||l.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);o<a;o++)i[o]&&m.isFunction(i[o].promise)?i[o].promise().progress(c(o,n,t)).done(c(o,r,i)).fail(l.reject):--s;return s||l.resolveWith(r,i),l.promise()}});var O;m.fn.ready=function(e){return m.ready.promise().done(e),this},m.extend({isReady:!1,readyWait:1,holdReady:function(e){e?m.readyWait++:m.ready(!0)},ready:function(e){(!0===e?--m.readyWait:m.isReady)||(m.isReady=!0,!0!==e&&--m.readyWait>0||(O.resolveWith(s,[m]),m.fn.triggerHandler&&(m(s).triggerHandler("ready"),m(s).off("ready"))))}}),m.ready.promise=function(e){return O||(O=m.Deferred(),"complete"===s.readyState||"loading"!==s.readyState&&!s.documentElement.doScroll?n.setTimeout(m.ready):(s.addEventListener("DOMContentLoaded",completed),n.addEventListener("load",completed))),O.promise(e)},m.ready.promise();var L=function(e,t,n,r,o,i,a){var s=0,u=e.length,l=null==n;if("object"===m.type(n)){o=!0;for(s in n)L(e,t,s,n[s],!0,i,a)}else if(void 0!==r&&(o=!0,m.isFunction(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(m(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return o?e:l?t.call(e):u?t(e[0],n):i},M=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};Data.uid=1,Data.prototype={register:function(e,t){var n=t||{};return e.nodeType?e[this.expando]=n:Object.defineProperty(e,this.expando,{value:n,writable:!0,configurable:!0}),e[this.expando]},cache:function(e){if(!M(e))return{};var t=e[this.expando];return t||(t={},M(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[t]=n;else for(r in t)o[r]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][t]},access:function(e,t,n){var r;return void 0===t||t&&"string"==typeof t&&void 0===n?(r=this.get(e,t),void 0!==r?r:this.get(e,m.camelCase(t))):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r,o,i=e[this.expando];if(void 0!==i){if(void 0===t)this.register(e);else{m.isArray(t)?r=t.concat(t.map(m.camelCase)):(o=m.camelCase(t),t in i?r=[t,o]:(r=o,r=r in i?[r]:r.match(P)||[])),n=r.length;for(;n--;)delete i[r[n]]}(void 0===t||m.isEmptyObject(i))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!m.isEmptyObject(t)}};var R=new Data,j=new Data,F=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,H=/[A-Z]/g;m.extend({hasData:function(e){return j.hasData(e)||R.hasData(e)},data:function(e,t,n){return j.access(e,t,n)},removeData:function(e,t){j.remove(e,t)},_data:function(e,t,n){return R.access(e,t,n)},_removeData:function(e,t){R.remove(e,t)}}),m.fn.extend({data:function(e,t){var n,r,o,i=this[0],a=i&&i.attributes;if(void 0===e){if(this.length&&(o=j.get(i),1===i.nodeType&&!R.get(i,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=m.camelCase(r.slice(5)),dataAttr(i,r,o[r])));R.set(i,"hasDataAttrs",!0)}return o}return"object"==typeof e?this.each(function(){j.set(this,e)}):L(this,function(t){var n,r;if(i&&void 0===t){if(void 0!==(n=j.get(i,e)||j.get(i,e.replace(H,"-$&").toLowerCase())))return n;if(r=m.camelCase(e),void 0!==(n=j.get(i,r)))return n;if(void 0!==(n=dataAttr(i,r,void 0)))return n}else r=m.camelCase(e),this.each(function(){var n=j.get(this,r);j.set(this,r,t),e.indexOf("-")>-1&&void 0!==n&&j.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){j.remove(this,e)})}}),m.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=R.get(e,t),n&&(!r||m.isArray(n)?r=R.access(e,t,m.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=m.queue(e,t),r=n.length,o=n.shift(),i=m._queueHooks(e,t),a=function(){m.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,a,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return R.get(e,n)||R.access(e,n,{empty:m.Callbacks("once memory").add(function(){R.remove(e,[t+"queue",n])})})}}),m.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?m.queue(this[0],e):void 0===t?this:this.each(function(){var n=m.queue(this,e,t);m._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&m.dequeue(this,e)})},dequeue:function(e){return this.each(function(){m.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,o=m.Deferred(),i=this,a=this.length,s=function(){--r||o.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=R.get(i[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),o.promise(t)}});var q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,B=new RegExp("^(?:([+-])=|)("+q+")([a-z%]*)$","i"),z=["Top","Right","Bottom","Left"],I=function(e,t){return e=t||e,"none"===m.css(e,"display")||!m.contains(e.ownerDocument,e)},W=/^(?:checkbox|radio)$/i,U=/<([\w:-]+)/,$=/^$|\/(?:java|ecma)script/i,X={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td;var V=/<|&#?\w+;/;!function(){var e=s.createDocumentFragment(),t=e.appendChild(s.createElement("div")),n=s.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),g.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",g.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Y=/^key/,K=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,G=/^([^.]*)(?:\.(.+)|)/;m.event={global:{},add:function(e,t,n,r,o){var i,a,s,u,l,c,f,d,h,p,g,v=R.get(e);if(v)for(n.handler&&(i=n,n=i.handler,o=i.selector),n.guid||(n.guid=m.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(t){return void 0!==m&&m.event.triggered!==t.type?m.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(P)||[""],l=t.length;l--;)s=G.exec(t[l])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h&&(f=m.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=m.event.special[h]||{},c=m.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&m.expr.match.needsContext.test(o),namespace:p.join(".")},i),(d=u[h])||(d=u[h]=[],d.delegateCount=0,f.setup&&!1!==f.setup.call(e,r,p,a)||e.addEventListener&&e.addEventListener(h,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),o?d.splice(d.delegateCount++,0,c):d.push(c),m.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,a,s,u,l,c,f,d,h,p,g,v=R.hasData(e)&&R.get(e);if(v&&(u=v.events)){for(t=(t||"").match(P)||[""],l=t.length;l--;)if(s=G.exec(t[l])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h){for(f=m.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,d=u[h]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=i=d.length;i--;)c=d[i],!o&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(i,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,p,v.handle)||m.removeEvent(e,h,v.handle),delete u[h])}else for(h in u)m.event.remove(e,h+t[l],n,r,!0);m.isEmptyObject(u)&&R.remove(e,"handle events")}},dispatch:function(e){e=m.event.fix(e);var t,n,r,o,i,a=[],s=u.call(arguments),l=(R.get(this,"events")||{})[e.type]||[],c=m.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,e)){for(a=m.event.handlers.call(this,e,l),t=0;(o=a[t++])&&!e.isPropagationStopped();)for(e.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(i.namespace)||(e.handleObj=i,e.data=i.data,void 0!==(r=((m.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,s))&&!1===(e.result=r)&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,o,i,a=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&(!0!==u.disabled||"click"!==e.type)){for(r=[],n=0;n<s;n++)i=t[n],o=i.selector+" ",void 0===r[o]&&(r[o]=i.needsContext?m(o,this).index(u)>-1:m.find(o,this,null,[u]).length),r[o]&&r.push(i);r.length&&a.push({elem:u,handlers:r})}return s<t.length&&a.push({elem:this,handlers:t.slice(s)}),a},props:"altKey bubbles cancelable ctrlKey currentTarget detail 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,o,i=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||s,r=n.documentElement,o=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||o&&o.scrollLeft||0)-(r&&r.clientLeft||o&&o.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||o&&o.scrollTop||0)-(r&&r.clientTop||o&&o.clientTop||0)),e.which||void 0===i||(e.which=1&i?1:2&i?3:4&i?2:0),e}},fix:function(e){if(e[m.expando])return e;var t,n,r,o=e.type,i=e,a=this.fixHooks[o];for(a||(this.fixHooks[o]=a=K.test(o)?this.mouseHooks:Y.test(o)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new m.Event(i),t=r.length;t--;)n=r[t],e[n]=i[n];return e.target||(e.target=s),3===e.target.nodeType&&(e.target=e.target.parentNode),a.filter?a.filter(e,i):e},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&m.nodeName(this,"input"))return this.click(),!1},_default:function(e){return m.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},m.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},m.Event=function(e,t){if(!(this instanceof m.Event))return new m.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?returnTrue:returnFalse):this.type=e,t&&m.extend(this,t),this.timeStamp=e&&e.timeStamp||m.now(),this[m.expando]=!0},m.Event.prototype={constructor:m.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){m.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,o=e.relatedTarget,i=e.handleObj;return o&&(o===r||m.contains(r,o))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),m.fn.extend({on:function(e,t,n,r){return on(this,e,t,n,r)},one:function(e,t,n,r){return on(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,m(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(o in e)this.off(o,t,e[o]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=returnFalse),this.each(function(){m.event.remove(this,e,n,t)})}});var Q=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,J=/<script|<style|<link/i,Z=/checked\s*(?:[^=]|=\s*.checked.)/i,ee=/^true\/(.*)/,te=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;m.extend({htmlPrefilter:function(e){return e.replace(Q,"<$1></$2>")},clone:function(e,t,n){var r,o,i,a,s=e.cloneNode(!0),u=m.contains(e.ownerDocument,e);if(!(g.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||m.isXMLDoc(e)))for(a=getAll(s),i=getAll(e),r=0,o=i.length;r<o;r++)fixInput(i[r],a[r]);if(t)if(n)for(i=i||getAll(e),a=a||getAll(s),r=0,o=i.length;r<o;r++)cloneCopyEvent(i[r],a[r]);else cloneCopyEvent(e,s);return a=getAll(s,"script"),a.length>0&&setGlobalEval(a,!u&&getAll(e,"script")),s},cleanData:function(e){for(var t,n,r,o=m.event.special,i=0;void 0!==(n=e[i]);i++)if(M(n)){if(t=n[R.expando]){if(t.events)for(r in t.events)o[r]?m.event.remove(n,r):m.removeEvent(n,r,t.handle);n[R.expando]=void 0}n[j.expando]&&(n[j.expando]=void 0)}}}),m.fn.extend({domManip:domManip,detach:function(e){return remove(this,e,!0)},remove:function(e){return remove(this,e)},text:function(e){return L(this,function(e){return void 0===e?m.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return domManip(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){manipulationTarget(this,e).appendChild(e)}})},prepend:function(){return domManip(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=manipulationTarget(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return domManip(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return domManip(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(m.cleanData(getAll(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return m.clone(this,e,t)})},html:function(e){return L(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!J.test(e)&&!X[(U.exec(e)||["",""])[1].toLowerCase()]){e=m.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(m.cleanData(getAll(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return domManip(this,arguments,function(t){var n=this.parentNode;m.inArray(this,e)<0&&(m.cleanData(getAll(this)),n&&n.replaceChild(t,this))},e)}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){m.fn[e]=function(e){for(var n,r=[],o=m(e),i=o.length-1,a=0;a<=i;a++)n=a===i?this:this.clone(!0),m(o[a])[t](n),c.apply(r,n.get());return this.pushStack(r)}});var ne,re={HTML:"block",BODY:"block"},oe=/^margin/,ie=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),ae=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=n),t.getComputedStyle(e)},se=function(e,t,n,r){var o,i,a={};for(i in t)a[i]=e.style[i],e.style[i]=t[i];o=n.apply(e,r||[]);for(i in t)e.style[i]=a[i];return o},ue=s.documentElement;!function(){function computeStyleTests(){a.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",ue.appendChild(i);var s=n.getComputedStyle(a);e="1%"!==s.top,o="2px"===s.marginLeft,t="4px"===s.width,a.style.marginRight="50%",r="4px"===s.marginRight,ue.removeChild(i)}var e,t,r,o,i=s.createElement("div"),a=s.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",g.clearCloneStyle="content-box"===a.style.backgroundClip,i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",i.appendChild(a),m.extend(g,{pixelPosition:function(){return computeStyleTests(),e},boxSizingReliable:function(){return null==t&&computeStyleTests(),t},pixelMarginRight:function(){return null==t&&computeStyleTests(),r},reliableMarginLeft:function(){return null==t&&computeStyleTests(),o},reliableMarginRight:function(){var e,t=a.appendChild(s.createElement("div"));return t.style.cssText=a.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",t.style.marginRight=t.style.width="0",a.style.width="1px",ue.appendChild(i),e=!parseFloat(n.getComputedStyle(t).marginRight),ue.removeChild(i),a.removeChild(t),e}}))}();var le=/^(none|table(?!-c[ea]).+)/,ce={position:"absolute",visibility:"hidden",display:"block"},fe={letterSpacing:"0",fontWeight:"400"},de=["Webkit","O","Moz","ms"],he=s.createElement("div").style;m.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=curCSS(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,a,s=m.camelCase(t),u=e.style;if(t=m.cssProps[s]||(m.cssProps[s]=vendorPropName(s)||s),a=m.cssHooks[t]||m.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(o=a.get(e,!1,r))?o:u[t];i=typeof n,"string"===i&&(o=B.exec(n))&&o[1]&&(n=adjustCSS(e,t,o),i="number"),null!=n&&n===n&&("number"===i&&(n+=o&&o[3]||(m.cssNumber[s]?"":"px")),g.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u[t]=n))}},css:function(e,t,n,r){var o,i,a,s=m.camelCase(t);return t=m.cssProps[s]||(m.cssProps[s]=vendorPropName(s)||s),a=m.cssHooks[t]||m.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=curCSS(e,t,r)),"normal"===o&&t in fe&&(o=fe[t]),""===n||n?(i=parseFloat(o),!0===n||isFinite(i)?i||0:o):o}}),m.each(["height","width"],function(e,t){m.cssHooks[t]={get:function(e,n,r){if(n)return le.test(m.css(e,"display"))&&0===e.offsetWidth?se(e,ce,function(){return getWidthOrHeight(e,t,r)}):getWidthOrHeight(e,t,r)},set:function(e,n,r){var o,i=r&&ae(e),a=r&&augmentWidthOrHeight(e,t,r,"border-box"===m.css(e,"boxSizing",!1,i),i);return a&&(o=B.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=m.css(e,t)),setPositiveNumber(e,n,a)}}}),m.cssHooks.marginLeft=addGetHookIf(g.reliableMarginLeft,function(e,t){if(t)return(parseFloat(curCSS(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),m.cssHooks.marginRight=addGetHookIf(g.reliableMarginRight,function(e,t){if(t)return se(e,{display:"inline-block"},curCSS,[e,"marginRight"])}),m.each({margin:"",padding:"",border:"Width"},function(e,t){m.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];r<4;r++)o[e+z[r]+t]=i[r]||i[r-2]||i[0];return o}},oe.test(e)||(m.cssHooks[e+t].set=setPositiveNumber)}),m.fn.extend({css:function(e,t){return L(this,function(e,t,n){var r,o,i={},a=0;if(m.isArray(t)){for(r=ae(e),o=t.length;a<o;a++)i[t[a]]=m.css(e,t[a],!1,r);return i}return void 0!==n?m.style(e,t,n):m.css(e,t)},e,t,arguments.length>1)},show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){I(this)?m(this).show():m(this).hide()})}}),m.Tween=Tween,Tween.prototype={constructor:Tween,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||m.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(m.cssNumber[n]?"":"px")},cur:function(){var e=Tween.propHooks[this.prop];return e&&e.get?e.get(this):Tween.propHooks._default.get(this)},run:function(e){var t,n=Tween.propHooks[this.prop];return this.options.duration?this.pos=t=m.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=m.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){m.fx.step[e.prop]?m.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[m.cssProps[e.prop]]&&!m.cssHooks[e.prop]?e.elem[e.prop]=e.now:m.style(e.elem,e.prop,e.now+e.unit)}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},m.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},m.fx=Tween.prototype.init,m.fx.step={};var pe,ge,me=/^(?:toggle|show|hide)$/,ve=/queueHooks$/;m.Animation=m.extend(Animation,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return adjustCSS(n.elem,e,B.exec(t),n),n}]},tweener:function(e,t){m.isFunction(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,o=e.length;r<o;r++)n=e[r],Animation.tweeners[n]=Animation.tweeners[n]||[],Animation.tweeners[n].unshift(t)},prefilters:[defaultPrefilter],prefilter:function(e,t){t?Animation.prefilters.unshift(e):Animation.prefilters.push(e)}}),m.speed=function(e,t,n){var r=e&&"object"==typeof e?m.extend({},e):{complete:n||!n&&t||m.isFunction(e)&&e,duration:e,easing:n&&t||t&&!m.isFunction(t)&&t};return r.duration=m.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in m.fx.speeds?m.fx.speeds[r.duration]:m.fx.speeds._default,null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m.isFunction(r.old)&&r.old.call(this),r.queue&&m.dequeue(this,r.queue)},r},m.fn.extend({fadeTo:function(e,t,n,r){return this.filter(I).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var o=m.isEmptyObject(e),i=m.speed(t,n,r),a=function(){var t=Animation(this,m.extend({},e),i);(o||R.get(this,"finish"))&&t.stop(!0)};return a.finish=a,o||!1===i.queue?this.each(a):this.queue(i.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",i=m.timers,a=R.get(this);if(o)a[o]&&a[o].stop&&r(a[o]);else for(o in a)a[o]&&a[o].stop&&ve.test(o)&&r(a[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||m.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=R.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=m.timers,a=r?r.length:0;for(n.finish=!0,m.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),m.each(["toggle","show","hide"],function(e,t){var n=m.fn[t];m.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(genFx(t,!0),e,r,o)}}),m.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){m.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),m.timers=[],m.fx.tick=function(){var e,t=0,n=m.timers;for(pe=m.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||m.fx.stop(),pe=void 0},m.fx.timer=function(e){m.timers.push(e),e()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){ge||(ge=n.setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){n.clearInterval(ge),ge=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(e,t){return e=m.fx?m.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,r){var o=n.setTimeout(t,e);r.stop=function(){n.clearTimeout(o)}})},function(){var e=s.createElement("input"),t=s.createElement("select"),n=t.appendChild(s.createElement("option"));e.type="checkbox",g.checkOn=""!==e.value,g.optSelected=n.selected,t.disabled=!0,g.optDisabled=!n.disabled,e=s.createElement("input"),e.value="t",e.type="radio",g.radioValue="t"===e.value}();var ye,we=m.expr.attrHandle;m.fn.extend({attr:function(e,t){return L(this,m.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){m.removeAttr(this,e)})}}),m.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return void 0===e.getAttribute?m.prop(e,t,n):(1===i&&m.isXMLDoc(e)||(t=t.toLowerCase(),o=m.attrHooks[t]||(m.expr.match.bool.test(t)?ye:void 0)),void 0!==n?null===n?void m.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=m.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!g.radioValue&&"radio"===t&&m.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,o=0,i=t&&t.match(P);if(i&&1===e.nodeType)for(;n=i[o++];)r=m.propFix[n]||n,m.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)}}),ye={set:function(e,t,n){return!1===t?m.removeAttr(e,n):e.setAttribute(n,n),n}},m.each(m.expr.match.bool.source.match(/\w+/g),function(e,t){var n=we[t]||m.find.attr;we[t]=function(e,t,r){var o,i;return r||(i=we[t],we[t]=o,o=null!=n(e,t,r)?t.toLowerCase():null,we[t]=i),o}});var be=/^(?:input|select|textarea|button)$/i,xe=/^(?:a|area)$/i;m.fn.extend({prop:function(e,t){return L(this,m.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[m.propFix[e]||e]})}}),m.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&m.isXMLDoc(e)||(t=m.propFix[t]||t,o=m.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=m.find.attr(e,"tabindex");return t?parseInt(t,10):be.test(e.nodeName)||xe.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),g.optSelected||(m.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this});var Te=/[\t\r\n\f]/g;m.fn.extend({addClass:function(e){var t,n,r,o,i,a,s,u=0;if(m.isFunction(e))return this.each(function(t){m(this).addClass(e.call(this,t,getClass(this)))});if("string"==typeof e&&e)for(t=e.match(P)||[];n=this[u++];)if(o=getClass(n),r=1===n.nodeType&&(" "+o+" ").replace(Te," ")){for(a=0;i=t[a++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");s=m.trim(r),o!==s&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,o,i,a,s,u=0;if(m.isFunction(e))return this.each(function(t){m(this).removeClass(e.call(this,t,getClass(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(P)||[];n=this[u++];)if(o=getClass(n),r=1===n.nodeType&&(" "+o+" ").replace(Te," ")){for(a=0;i=t[a++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");s=m.trim(r),o!==s&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):m.isFunction(e)?this.each(function(n){m(this).toggleClass(e.call(this,n,getClass(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=m(this),i=e.match(P)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=getClass(this),t&&R.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":R.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+getClass(n)+" ").replace(Te," ").indexOf(t)>-1)return!0;return!1}});var Ce=/\r/g,_e=/[\x20\t\r\n\f]+/g;m.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=m.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,m(this).val()):e,null==o?o="":"number"==typeof o?o+="":m.isArray(o)&&(o=m.map(o,function(e){return null==e?"":e+""})),(t=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return(t=m.valHooks[o.type]||m.valHooks[o.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(Ce,""):null==n?"":n)}}}),m.extend({valHooks:{option:{get:function(e){var t=m.find.attr(e,"value");return null!=t?t:m.trim(m.text(e)).replace(_e," ")}},select:{get:function(e){for(var t,n,r=e.options,o=e.selectedIndex,i="select-one"===e.type||o<0,a=i?null:[],s=i?o+1:r.length,u=o<0?s:i?o:0;u<s;u++)if(n=r[u],(n.selected||u===o)&&(g.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!m.nodeName(n.parentNode,"optgroup"))){if(t=m(n).val(),i)return t;a.push(t)}return a},set:function(e,t){for(var n,r,o=e.options,i=m.makeArray(t),a=o.length;a--;)r=o[a],(r.selected=m.inArray(m.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(e,t){if(m.isArray(t))return e.checked=m.inArray(m(e).val(),t)>-1}},g.checkOn||(m.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Ee=/^(?:focusinfocus|focusoutblur)$/;m.extend(m.event,{trigger:function(e,t,r,o){var i,a,u,l,c,f,d,h=[r||s],g=p.call(e,"type")?e.type:e,v=p.call(e,"namespace")?e.namespace.split("."):[];if(a=u=r=r||s,3!==r.nodeType&&8!==r.nodeType&&!Ee.test(g+m.event.triggered)&&(g.indexOf(".")>-1&&(v=g.split("."),g=v.shift(),v.sort()),c=g.indexOf(":")<0&&"on"+g,e=e[m.expando]?e:new m.Event(g,"object"==typeof e&&e),e.isTrigger=o?2:3,e.namespace=v.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:m.makeArray(t,[e]),d=m.event.special[g]||{},o||!d.trigger||!1!==d.trigger.apply(r,t))){if(!o&&!d.noBubble&&!m.isWindow(r)){for(l=d.delegateType||g,Ee.test(l+g)||(a=a.parentNode);a;a=a.parentNode)h.push(a),u=a;u===(r.ownerDocument||s)&&h.push(u.defaultView||u.parentWindow||n)}for(i=0;(a=h[i++])&&!e.isPropagationStopped();)e.type=i>1?l:d.bindType||g,f=(R.get(a,"events")||{})[e.type]&&R.get(a,"handle"),f&&f.apply(a,t),(f=c&&a[c])&&f.apply&&M(a)&&(e.result=f.apply(a,t),!1===e.result&&e.preventDefault());return e.type=g,o||e.isDefaultPrevented()||d._default&&!1!==d._default.apply(h.pop(),t)||!M(r)||c&&m.isFunction(r[g])&&!m.isWindow(r)&&(u=r[c],u&&(r[c]=null),m.event.triggered=g,r[g](),m.event.triggered=void 0,u&&(r[c]=u)),e.result}},simulate:function(e,t,n){var r=m.extend(new m.Event,n,{type:e,isSimulated:!0});m.event.trigger(r,null,t)}}),m.fn.extend({trigger:function(e,t){return this.each(function(){m.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return m.event.trigger(e,t,n,!0)}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){m.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),m.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),g.focusin="onfocusin"in n,g.focusin||m.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){m.event.simulate(t,e.target,m.event.fix(e))};m.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=R.access(r,t);o||r.addEventListener(e,n,!0),R.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=R.access(r,t)-1;o?R.access(r,t,o):(r.removeEventListener(e,n,!0),R.remove(r,t))}}});var ke=n.location,Se=m.now(),Ae=/\?/;m.parseJSON=function(e){return JSON.parse(e+"")},m.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+e),t};var Ne=/#.*$/,De=/([?&])_=[^&]*/,Pe=/^(.*?):[ \t]*([^\r\n]*)$/gm,Oe=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Le=/^(?:GET|HEAD)$/,Me=/^\/\//,Re={},je={},Fe="*/".concat("*"),He=s.createElement("a");He.href=ke.href,m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ke.href,type:"GET",isLocal:Oe.test(ke.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Fe,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?ajaxExtend(ajaxExtend(e,m.ajaxSettings),t):ajaxExtend(m.ajaxSettings,e)},ajaxPrefilter:addToPrefiltersOrTransports(Re),ajaxTransport:addToPrefiltersOrTransports(je),ajax:function(e,t){function done(e,t,a,s){var l,f,w,b,T,_=t;2!==x&&(x=2,u&&n.clearTimeout(u),r=void 0,i=s||"",C.readyState=e>0?4:0,l=e>=200&&e<300||304===e,a&&(b=ajaxHandleResponses(d,C,a)),b=ajaxConvert(d,b,C,l),l?(d.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(m.lastModified[o]=T),(T=C.getResponseHeader("etag"))&&(m.etag[o]=T)),204===e||"HEAD"===d.type?_="nocontent":304===e?_="notmodified":(_=b.state,f=b.data,w=b.error,l=!w)):(w=_,!e&&_||(_="error",e<0&&(e=0))),C.status=e,C.statusText=(t||_)+"",l?g.resolveWith(h,[f,_,C]):g.rejectWith(h,[C,_,w]),C.statusCode(y),y=void 0,c&&p.trigger(l?"ajaxSuccess":"ajaxError",[C,d,l?f:w]),v.fireWith(h,[C,_]),c&&(p.trigger("ajaxComplete",[C,d]),--m.active||m.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,o,i,a,u,l,c,f,d=m.ajaxSetup({},t),h=d.context||d,p=d.context&&(h.nodeType||h.jquery)?m(h):m.event,g=m.Deferred(),v=m.Callbacks("once memory"),y=d.statusCode||{},w={},b={},x=0,T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!a)for(a={};t=Pe.exec(i);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?i:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=b[n]=b[n]||e,w[e]=t),this},overrideMimeType:function(e){return x||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(x<2)for(t in e)y[t]=[y[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||T;return r&&r.abort(t),done(0,t),this}};if(g.promise(C).complete=v.add,C.success=C.done,C.error=C.fail,d.url=((e||d.url||ke.href)+"").replace(Ne,"").replace(Me,ke.protocol+"//"),d.type=t.method||t.type||d.method||d.type,d.dataTypes=m.trim(d.dataType||"*").toLowerCase().match(P)||[""],null==d.crossDomain){l=s.createElement("a");try{l.href=d.url,l.href=l.href,d.crossDomain=He.protocol+"//"+He.host!=l.protocol+"//"+l.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=m.param(d.data,d.traditional)),inspectPrefiltersOrTransports(Re,d,t,C),2===x)return C;c=m.event&&d.global,c&&0==m.active++&&m.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Le.test(d.type),o=d.url,d.hasContent||(d.data&&(o=d.url+=(Ae.test(o)?"&":"?")+d.data,delete d.data),!1===d.cache&&(d.url=De.test(o)?o.replace(De,"$1_="+Se++):o+(Ae.test(o)?"&":"?")+"_="+Se++)),d.ifModified&&(m.lastModified[o]&&C.setRequestHeader("If-Modified-Since",m.lastModified[o]),m.etag[o]&&C.setRequestHeader("If-None-Match",m.etag[o])),(d.data&&d.hasContent&&!1!==d.contentType||t.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Fe+"; q=0.01":""):d.accepts["*"]);for(f in d.headers)C.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,C,d)||2===x))return C.abort();T="abort";for(f in{success:1,error:1,complete:1})C[f](d[f]);if(r=inspectPrefiltersOrTransports(je,d,t,C)){if(C.readyState=1,c&&p.trigger("ajaxSend",[C,d]),2===x)return C;d.async&&d.timeout>0&&(u=n.setTimeout(function(){C.abort("timeout")},d.timeout));try{x=1,r.send(w,done)}catch(e){if(!(x<2))throw e;done(-1,e)}}else done(-1,"No Transport");return C},getJSON:function(e,t,n){return m.get(e,t,n,"json")},getScript:function(e,t){return m.get(e,void 0,t,"script")}}),m.each(["get","post"],function(e,t){m[t]=function(e,n,r,o){return m.isFunction(n)&&(o=o||r,r=n,n=void 0),m.ajax(m.extend({url:e,type:t,dataType:o,data:n,success:r},m.isPlainObject(e)&&e))}}),m._evalUrl=function(e){return m.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},m.fn.extend({wrapAll:function(e){var t;return m.isFunction(e)?this.each(function(t){m(this).wrapAll(e.call(this,t))}):(this[0]&&(t=m(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return m.isFunction(e)?this.each(function(t){m(this).wrapInner(e.call(this,t))}):this.each(function(){var t=m(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=m.isFunction(e);return this.each(function(n){m(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(e){return!m.expr.filters.visible(e)},m.expr.filters.visible=function(e){return e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0};var qe=/%20/g,Be=/\[\]$/,ze=/\r?\n/g,Ie=/^(?:submit|button|image|reset|file)$/i,We=/^(?:input|select|textarea|keygen)/i;m.param=function(e,t){var n,r=[],o=function(e,t){t=m.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(e)||e.jquery&&!m.isPlainObject(e))m.each(e,function(){o(this.name,this.value)});else for(n in e)buildParams(n,e[n],t,o);return r.join("&").replace(qe,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=m.prop(this,"elements");return e?m.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!m(this).is(":disabled")&&We.test(this.nodeName)&&!Ie.test(e)&&(this.checked||!W.test(e))}).map(function(e,t){var n=m(this).val();return null==n?null:m.isArray(n)?m.map(n,function(e){return{name:t.name,value:e.replace(ze,"\r\n")}}):{name:t.name,value:n.replace(ze,"\r\n")}}).get()}}),m.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Ue={0:200,1223:204},$e=m.ajaxSettings.xhr();g.cors=!!$e&&"withCredentials"in $e,g.ajax=$e=!!$e,m.ajaxTransport(function(e){var t,r;if(g.cors||$e&&!e.crossDomain)return{send:function(o,i){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(a in o)s.setRequestHeader(a,o[a]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i(Ue[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){t&&r()})},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return m.globalEval(e),e}}}),m.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),m.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=m("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),s.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Xe=[],Ve=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xe.pop()||m.expando+"_"+Se++;return this[e]=!0,e}}),m.ajaxPrefilter("json jsonp",function(e,t,r){var o,i,a,s=!1!==e.jsonp&&(Ve.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ve.test(e.data)&&"data");if(s||"jsonp"===e.dataTypes[0])return o=e.jsonpCallback=m.isFunction(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,s?e[s]=e[s].replace(Ve,"$1"+o):!1!==e.jsonp&&(e.url+=(Ae.test(e.url)?"&":"?")+e.jsonp+"="+o),e.converters["script json"]=function(){return a||m.error(o+" was not called"),a[0]},e.dataTypes[0]="json",i=n[o],n[o]=function(){a=arguments},r.always(function(){void 0===i?m(n).removeProp(o):n[o]=i,e[o]&&(e.jsonpCallback=t.jsonpCallback,Xe.push(o)),a&&m.isFunction(i)&&i(a[0]),a=i=void 0}),"script"}),m.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||s;var r=E.exec(e),o=!n&&[];return r?[t.createElement(r[1])]:(r=buildFragment([e],t,o),o&&o.length&&m(o).remove(),m.merge([],r.childNodes))};var Ye=m.fn.load;m.fn.load=function(e,t,n){if("string"!=typeof e&&Ye)return Ye.apply(this,arguments);var r,o,i,a=this,s=e.indexOf(" ");return s>-1&&(r=m.trim(e.slice(s)),e=e.slice(0,s)),m.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(o="POST"),a.length>0&&m.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done(function(e){i=arguments,a.html(r?m("<div>").append(m.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){m.fn[t]=function(e){return this.on(t,e)}}),m.expr.filters.animated=function(e){return m.grep(m.timers,function(t){return e===t.elem}).length},m.offset={setOffset:function(e,t,n){var r,o,i,a,s,u,l,c=m.css(e,"position"),f=m(e),d={};"static"===c&&(e.style.position="relative"),s=f.offset(),i=m.css(e,"top"),u=m.css(e,"left"),l=("absolute"===c||"fixed"===c)&&(i+u).indexOf("auto")>-1,l?(r=f.position(),a=r.top,o=r.left):(a=parseFloat(i)||0,o=parseFloat(u)||0),m.isFunction(t)&&(t=t.call(e,n,m.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+o),"using"in t?t.using.call(e,d):f.css(d)}},m.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){m.offset.setOffset(this,e,t)});var t,n,r=this[0],o={top:0,left:0},i=r&&r.ownerDocument;if(i)return t=i.documentElement,m.contains(t,r)?(o=r.getBoundingClientRect(),n=getWindow(i),{top:o.top+n.pageYOffset-t.clientTop,left:o.left+n.pageXOffset-t.clientLeft}):o},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===m.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),m.nodeName(e[0],"html")||(r=e.offset()),r.top+=m.css(e[0],"borderTopWidth",!0),r.left+=m.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-m.css(n,"marginTop",!0),left:t.left-r.left-m.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===m.css(e,"position");)e=e.offsetParent;return e||ue})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;m.fn[e]=function(r){return L(this,function(e,r,o){var i=getWindow(e);if(void 0===o)return i?i[t]:e[r];i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o},e,r,arguments.length)}}),m.each(["top","left"],function(e,t){m.cssHooks[t]=addGetHookIf(g.pixelPosition,function(e,n){if(n)return n=curCSS(e,t),ie.test(n)?m(e).position()[t]+"px":n})}),m.each({Height:"height",Width:"width"},function(e,t){m.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){m.fn[r]=function(r,o){var i=arguments.length&&(n||"boolean"!=typeof r),a=n||(!0===r||!0===o?"margin":"border");return L(this,function(t,n,r){var o;return m.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===r?m.css(t,n,a):m.style(t,n,r,a)},t,i?r:void 0,i,null)}})}),m.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},size:function(){return this.length}}),m.fn.andSelf=m.fn.addBack,r=[],void 0!==(o=function(){return m}.apply(t,r))&&(e.exports=o);var Ke=n.jQuery,Ge=n.$;return m.noConflict=function(e){return n.$===m&&(n.$=Ge),e&&n.jQuery===m&&(n.jQuery=Ke),m},i||(n.jQuery=n.$=m),m})},function(e,t,n){"use strict";(function(e){function escapeHtml(e){return String(e).replace(/[&<>"'\/]/g,function(e){return i[e]})}function mousePosition(t){var n=e.document.body,o={top:0,left:0};return"static"!==r(n).css("position")&&(o=r(n).offset()),{top:t.pageY-o.top,left:t.pageX-o.left}}var r=n(0),o=n(17).Promise,i={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"},a=function(){if("function"==typeof e.Gettext){var t=new e.Gettext({domain:"annotator"});return function(e){return t.gettext(e)}}return function(e){return e}}();t.$=r,t.Promise=o,t.gettext=a,t.escapeHtml=escapeHtml,t.mousePosition=mousePosition}).call(t,n(2))},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";(function(e){function Widget(e){this.element=i(this.constructor.template),this.classes=i.extend({},Widget.classes,this.constructor.classes),this.options=i.extend({},Widget.options,this.constructor.options,e),this.extensionsInstalled=!1}var r=n(16),o=n(1),i=o.$;Widget.prototype.destroy=function(){this.element.remove()},Widget.prototype.installExtensions=function(){if(this.options.extensions)for(var e=0,t=this.options.extensions.length;e<t;e++){var n=this.options.extensions[e];n(this)}},Widget.prototype._maybeInstallExtensions=function(){this.extensionsInstalled||(this.extensionsInstalled=!0,this.installExtensions())},Widget.prototype.attach=function(){this.element.appendTo(this.options.appendTo),this._maybeInstallExtensions()},Widget.prototype.show=function(){this.element.removeClass(this.classes.hide),this.checkOrientation()},Widget.prototype.hide=function(){i(this.element).addClass(this.classes.hide)},Widget.prototype.isShown=function(){return!i(this.element).hasClass(this.classes.hide)},Widget.prototype.checkOrientation=function(){this.resetOrientation();var t=i(e),n=this.element.children(":first"),r=n.offset(),o={top:t.scrollTop(),right:t.width()+t.scrollLeft()},a={top:r.top,right:r.left+n.width()};return a.top-o.top<0&&this.invertY(),a.right-o.right>0&&this.invertX(),this},Widget.prototype.resetOrientation=function(){return this.element.removeClass(this.classes.invert.x).removeClass(this.classes.invert.y),this},Widget.prototype.invertX=function(){return this.element.addClass(this.classes.invert.x),this},Widget.prototype.invertY=function(){return this.element.addClass(this.classes.invert.y),this},Widget.prototype.isInvertedY=function(){return this.element.hasClass(this.classes.invert.y)},Widget.prototype.isInvertedX=function(){return this.element.hasClass(this.classes.invert.x)},Widget.classes={hide:"annotator-hide",invert:{x:"annotator-invert-x",y:"annotator-invert-y"}},Widget.template="<div></div>",Widget.options={appendTo:"body"},Widget.extend=r,t.Widget=Widget}).call(t,n(2))},function(e,t,n){var r;!function(o,i,a){function _addEvent(e,t,n){if(e.addEventListener)return void e.addEventListener(t,n,!1);e.attachEvent("on"+t,n)}function _characterFromEvent(e){if("keypress"==e.type){var t=String.fromCharCode(e.which);return e.shiftKey||(t=t.toLowerCase()),t}return u[e.which]?u[e.which]:l[e.which]?l[e.which]:String.fromCharCode(e.which).toLowerCase()}function _modifiersMatch(e,t){return e.sort().join(",")===t.sort().join(",")}function _eventModifiers(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function _preventDefault(e){if(e.preventDefault)return void e.preventDefault();e.returnValue=!1}function _stopPropagation(e){if(e.stopPropagation)return void e.stopPropagation();e.cancelBubble=!0}function _isModifier(e){return"shift"==e||"ctrl"==e||"alt"==e||"meta"==e}function _getReverseMap(){if(!s){s={};for(var e in u)e>95&&e<112||u.hasOwnProperty(e)&&(s[u[e]]=e)}return s}function _pickBestAction(e,t,n){return n||(n=_getReverseMap()[e]?"keydown":"keypress"),"keypress"==n&&t.length&&(n="keydown"),n}function _keysFromString(e){return"+"===e?["+"]:(e=e.replace(/\+{2}/g,"+plus"),e.split("+"))}function _getKeyInfo(e,t){var n,r,o,i=[];for(n=_keysFromString(e),o=0;o<n.length;++o)r=n[o],f[r]&&(r=f[r]),t&&"keypress"!=t&&c[r]&&(r=c[r],i.push("shift")),_isModifier(r)&&i.push(r);return t=_pickBestAction(r,i,t),{key:r,modifiers:i,action:t}}function _belongsTo(e,t){return null!==e&&e!==i&&(e===t||_belongsTo(e.parentNode,t))}function Mousetrap(e){function _resetSequences(e){e=e||{};var t,n=!1;for(t in r)e[t]?n=!0:r[t]=0;n||(s=!1)}function _getMatches(e,n,o,i,a,s){var u,l,c=[],f=o.type;if(!t._callbacks[e])return[];for("keyup"==f&&_isModifier(e)&&(n=[e]),u=0;u<t._callbacks[e].length;++u)if(l=t._callbacks[e][u],(i||!l.seq||r[l.seq]==l.level)&&f==l.action&&("keypress"==f&&!o.metaKey&&!o.ctrlKey||_modifiersMatch(n,l.modifiers))){var d=!i&&l.combo==a,h=i&&l.seq==i&&l.level==s;(d||h)&&t._callbacks[e].splice(u,1),c.push(l)}return c}function _fireCallback(e,n,r,o){t.stopCallback(n,n.target||n.srcElement,r,o)||!1===e(n,r)&&(_preventDefault(n),_stopPropagation(n))}function _handleKeyEvent(e){"number"!=typeof e.which&&(e.which=e.keyCode);var n=_characterFromEvent(e);if(n)return"keyup"==e.type&&o===n?void(o=!1):void t.handleKey(n,_eventModifiers(e),e)}function _resetSequenceTimer(){clearTimeout(n),n=setTimeout(_resetSequences,1e3)}function _bindSequence(e,t,n,i){function _callbackAndReset(t){_fireCallback(n,t,e),"keyup"!==i&&(o=_characterFromEvent(t)),setTimeout(_resetSequences,10)}r[e]=0;for(var a=0;a<t.length;++a){var u=a+1===t.length,l=u?_callbackAndReset:function(t){return function(){s=t,++r[e],_resetSequenceTimer()}}(i||_getKeyInfo(t[a+1]).action);_bindSingle(t[a],l,i,e,a)}}function _bindSingle(e,n,r,o,i){t._directMap[e+":"+r]=n,e=e.replace(/\s+/g," ");var a,s=e.split(" ");if(s.length>1)return void _bindSequence(e,s,n,r);a=_getKeyInfo(e,r),t._callbacks[a.key]=t._callbacks[a.key]||[],_getMatches(a.key,a.modifiers,{type:a.action},o,e,i),t._callbacks[a.key][o?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:o,level:i,combo:e})}var t=this;if(e=e||i,!(t instanceof Mousetrap))return new Mousetrap(e);t.target=e,t._callbacks={},t._directMap={};var n,r={},o=!1,a=!1,s=!1;t._handleKey=function(e,t,n){var r,o=_getMatches(e,t,n),i={},u=0,l=!1;for(r=0;r<o.length;++r)o[r].seq&&(u=Math.max(u,o[r].level));for(r=0;r<o.length;++r)if(o[r].seq){if(o[r].level!=u)continue;l=!0,i[o[r].seq]=1,_fireCallback(o[r].callback,n,o[r].combo,o[r].seq)}else l||_fireCallback(o[r].callback,n,o[r].combo);var c="keypress"==n.type&&a;n.type!=s||_isModifier(e)||c||_resetSequences(i),a=l&&"keydown"==n.type},t._bindMultiple=function(e,t,n){for(var r=0;r<e.length;++r)_bindSingle(e[r],t,n)},_addEvent(e,"keypress",_handleKeyEvent),_addEvent(e,"keydown",_handleKeyEvent),_addEvent(e,"keyup",_handleKeyEvent)}if(o){for(var s,u={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},l={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},c={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},f={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},d=1;d<20;++d)u[111+d]="f"+d;for(d=0;d<=9;++d)u[d+96]=d.toString();Mousetrap.prototype.bind=function(e,t,n){var r=this;return e=e instanceof Array?e:[e],r._bindMultiple.call(r,e,t,n),r},Mousetrap.prototype.unbind=function(e,t){var n=this;return n.bind.call(n,e,function(){},t)},Mousetrap.prototype.trigger=function(e,t){var n=this;return n._directMap[e+":"+t]&&n._directMap[e+":"+t]({},e),n},Mousetrap.prototype.reset=function(){var e=this;return e._callbacks={},e._directMap={},e},Mousetrap.prototype.stopCallback=function(e,t){var n=this;return!((" "+t.className+" ").indexOf(" mousetrap ")>-1)&&(!_belongsTo(t,n.target)&&("INPUT"==t.tagName||"SELECT"==t.tagName||"TEXTAREA"==t.tagName||t.isContentEditable))},Mousetrap.prototype.handleKey=function(){var e=this;return e._handleKey.apply(e,arguments)},Mousetrap.addKeycodes=function(e){for(var t in e)e.hasOwnProperty(t)&&(u[t]=e[t]);s=null},Mousetrap.init=function(){var e=Mousetrap(i);for(var t in e)"_"!==t.charAt(0)&&(Mousetrap[t]=function(t){return function(){return e[t].apply(e,arguments)}}(t))},Mousetrap.init(),o.Mousetrap=Mousetrap,void 0!==e&&e.exports&&(e.exports=Mousetrap),void 0!==(r=function(){return Mousetrap}.call(t,n,t,e))&&(e.exports=r)}}("undefined"!=typeof window?window:null,"undefined"!=typeof window?document:null)},function(e,t,n){"use strict";var r;t.acl=function(){var e=new r;return{configure:function(t){t.registerUtility(e,"authorizationPolicy")}}},r=t.AclAuthzPolicy=function(){},r.prototype.permits=function(e,t,n){var r=this.authorizedUserId(n),o=t.permissions;if(o){var i=o[e];if(void 0===i||null===i)return!0;for(var a=0,s=i.length;a<s;a++)if(r===i[a])return!0;return!1}return!t.user||r===t.user},r.prototype.authorizedUserId=function(e){return e}},function(e,t,n){"use strict";var r;t.simple=function(){var e=new r;return{configure:function(t){t.registerUtility(e,"identityPolicy")},beforeAnnotationCreated:function(t){t.user=e.who()}}},r=function(){this.identity=null},t.SimpleIdentityPolicy=r,r.prototype.who=function(){return this.identity}},function(e,t,n){"use strict";(function(e){function banner(t,n){void 0!==n&&null!==n||(n=i);var u=o(a)[0],l=!1,c=function(){l||(l=!0,o(u).removeClass(s.show).removeClass(s[n]),setTimeout(function(){o(u).remove()},500))};return o(u).addClass(s.show).addClass(s[n]).html(r.escapeHtml(t||"")).appendTo(e.document.body),o(u).on("click",c),setTimeout(c,5e3),{close:c}}var r=n(1),o=r.$,i="info",a="<div class='annotator-notice'></div>",s={show:"annotator-notice-show",info:"annotator-notice-info",success:"annotator-notice-success",error:"annotator-notice-error"};t.banner=banner,t.defaultNotifier=banner,t.INFO=i,t.SUCCESS="success",t.ERROR="error"}).call(t,n(2))},function(e,t,n){"use strict";function StorageAdapter(e,t){this.store=e,this.runHook=t}var r=n(1),o=r.$,i=r.gettext,a=r.Promise,s=function(){var e;return e=-1,function(){return e+=1}}();t.debug=function(){function trace(e,t){var n=JSON.parse(JSON.stringify(t));console.debug("annotator.storage.debug: "+e,n)}return{create:function(e){return e.id=s(),trace("create",e),e},update:function(e){return trace("update",e),e},delete:function(e){return trace("destroy",e),e},query:function(e){return trace("query",e),{results:[],meta:{total:0}}},configure:function(e){e.registerUtility(this,"storage")}}},t.noop=function(){return{create:function(e){return void 0!==e.id&&null!==e.id||(e.id=s()),e},update:function(e){return e},delete:function(e){return e},query:function(){return{results:[]}},configure:function(e){e.registerUtility(this,"storage")}}};var u;t.http=function(e){var t=function(){};void 0!==e&&null!==e||(e={}),e.onError=e.onError||function(e,n){console.error(e,n),t(e,"error")};var n=new u(e);return{configure:function(e){e.registerUtility(n,"storage")},start:function(e){t=e.notify}}},u=t.HttpStorage=function HttpStorage(e){this.options=o.extend(!0,{},HttpStorage.options,e),this.onError=this.options.onError},u.prototype.create=function(e){return this._apiRequest("create",e)},u.prototype.update=function(e){return this._apiRequest("update",e)},u.prototype.delete=function(e){return this._apiRequest("destroy",e)},u.prototype.query=function(e){return this._apiRequest("search",e).then(function(e){var t=e.rows;return delete e.rows,{results:t,meta:e}})},u.prototype.setHeader=function(e,t){this.options.headers[e]=t},u.prototype._apiRequest=function(e,t){var n=t&&t.id,r=this._urlFor(e,n),i=this._apiRequestOptions(e,t),a=o.ajax(r,i);return a._id=n,a._action=e,a},u.prototype._apiRequestOptions=function(e,t){var n=this._methodFor(e),r=this,i={type:n,dataType:"json",error:function(){r._onError.apply(r,arguments)},headers:this.options.headers};if(!this.options.emulateHTTP||"PUT"!==n&&"DELETE"!==n||(i.headers=o.extend(i.headers,{"X-HTTP-Method-Override":n}),i.type="POST"),"search"===e)return i=o.extend(i,{data:t});var a=t&&JSON.stringify(t);return this.options.emulateJSON?(i.data={json:a},this.options.emulateHTTP&&(i.data._method=n),i):i=o.extend(i,{data:a,contentType:"application/json; charset=utf-8"})},u.prototype._urlFor=function(e,t){void 0!==t&&null!==t||(t="");var n="";return void 0!==this.options.prefix&&null!==this.options.prefix&&(n=this.options.prefix),n+=this.options.urls[e],n=n.replace(/idAnnotation/,t)},u.prototype._methodFor=function(e){return{create:"POST",update:"PUT",destroy:"DELETE",search:"GET"}[e]},u.prototype._onError=function(e){if("function"==typeof this.onError){var t;t=i(400===e.status?"The annotation store did not understand the request! (Error 400)":401===e.status?"You must be logged in to perform this operation! (Error 401)":403===e.status?"You don't have permission to perform this operation! (Error 403)":404===e.status?"Could not connect to the annotation store! (Error 404)":500===e.status?"Internal error in annotation store! (Error 500)":"Unknown error while speaking to annotation store!"),this.onError(t,e)}},u.options={emulateHTTP:!1,emulateJSON:!1,headers:{},onError:function(e){console.error("API request failed: "+e)},prefix:"/store",urls:{create:"/annotations",update:"/annotations/idAnnotation",destroy:"/annotations/idAnnotation",search:"/search"}},StorageAdapter.prototype.create=function(e){return void 0!==e&&null!==e||(e={}),this._cycle(e,"create","beforeAnnotationCreated","annotationCreated")},StorageAdapter.prototype.update=function(e){if(void 0===e.id||null===e.id)throw new TypeError("annotation must have an id for update()");return this._cycle(e,"update","beforeAnnotationUpdated","annotationUpdated")},StorageAdapter.prototype.delete=function(e){if(void 0===e.id||null===e.id)throw new TypeError("annotation must have an id for delete()");return this._cycle(e,"delete","beforeAnnotationDeleted","annotationDeleted")},StorageAdapter.prototype.query=function(e){return a.resolve(this.store.query(e))},StorageAdapter.prototype.load=function(e){var t=this;return this.query(e).then(function(e){t.runHook("annotationsLoaded",[e.results])})},StorageAdapter.prototype._cycle=function(e,t,n,r){var i=this;return this.runHook(n,[e]).then(function(){var n=o.extend(!0,{},e);delete n._local;var r=i.store[t](n);return a.resolve(r)}).then(function(t){for(var n in e)e.hasOwnProperty(n)&&"_local"!==n&&delete e[n];return o.extend(e,t),i.runHook(r,[e]),e})},t.StorageAdapter=StorageAdapter},function(e,t,n){"use strict";var r=n(3).Widget,o=n(1),i=o.$,a=o.gettext,s="annotator-adder",u=r.extend({constructor:function(e){r.call(this,e),this.ignoreMouseup=!1,this.annotation=null,this.onCreate=this.options.onCreate;var t=this;this.element.on("click."+s,"button",function(e){t._onClick(e)}).on("mousedown."+s,"button",function(e){t._onMousedown(e)}),this.document=this.element[0].ownerDocument,i(this.document.body).on("mouseup."+s,function(e){t._onMouseup(e)})},destroy:function(){this.element.off("."+s),i(this.document.body).off("."+s),r.prototype.destroy.call(this)},load:function(e,t){this.annotation=e,this.show(t)},show:function(e){void 0!==e&&null!==e&&this.element.css({top:e.top,left:e.left}),r.prototype.show.call(this)},_onMousedown:function(e){e.which>1||(e.preventDefault(),this.ignoreMouseup=!0)},_onMouseup:function(e){e.which>1||this.ignoreMouseup&&e.stopImmediatePropagation()},_onClick:function(e){e.which>1||(e.preventDefault(),this.hide(),this.ignoreMouseup=!1,null!==this.annotation&&"function"==typeof this.onCreate&&this.onCreate(this.annotation,e))}});u.template=['<div class="annotator-adder annotator-hide">',' <button type="button">'+a("Annotate")+"</button>","</div>"].join("\n"),u.options={onCreate:null},t.Adder=u},function(e,t,n){"use strict";function preventEventDefault(e){void 0!==e&&null!==e&&"function"==typeof e.preventDefault&&e.preventDefault()}var r=n(3).Widget,o=n(1),i=o.$,a=o.gettext,s=o.Promise,u="annotator-editor",l=function(){var e;return e=-1,function(){return e+=1}}(),c=t.dragTracker=function(e,t){function mouseMove(e){if(!r&&null!==n){var o={y:e.pageY-n.top,x:e.pageX-n.left},i=!0;"function"==typeof t&&(i=t(o)),!1!==i&&(n={top:e.pageY,left:e.pageX}),r=!0,setTimeout(function(){r=!1},1e3/60)}}function mouseUp(){n=null,i(e.ownerDocument).off("mouseup",mouseUp).off("mousemove",mouseMove)}function mouseDown(t){t.target===e&&(n={top:t.pageY,left:t.pageX},i(e.ownerDocument).on("mouseup",mouseUp).on("mousemove",mouseMove),t.preventDefault())}function destroy(){i(e).off("mousedown",mouseDown)}var n=null,r=!1;return i(e).on("mousedown",mouseDown),{destroy:destroy}},f=t.resizer=function(e,t,n){function translate(e){var t=1,r=-1;return"function"==typeof n.invertedX&&n.invertedX()&&(t=-1),"function"==typeof n.invertedY&&n.invertedY()&&(r=1),{x:e.x*t,y:e.y*r}}function resize(e){var t=r.height(),n=r.width(),o=translate(e);return Math.abs(o.x)>0&&r.width(n+o.x),Math.abs(o.y)>0&&r.height(t+o.y),r.height()!==t||r.width()!==n}var r=i(e);return void 0!==n&&null!==n||(n={}),c(t,resize)},d=t.mover=function(e,t){function move(t){i(e).css({top:parseInt(i(e).css("top"),10)+t.y,left:parseInt(i(e).css("left"),10)+t.x})}return c(t,move)},h=t.Editor=r.extend({constructor:function(e){r.call(this,e),this.fields=[],this.annotation={},this.options.defaultFields&&this.addField({type:"textarea",label:a("Comments")+"…",load:function(e,t){i(e).find("textarea").val(t.text||"")},submit:function(e,t){t.text=i(e).find("textarea").val()}});var t=this;this.element.on("submit."+u,"form",function(e){t._onFormSubmit(e)}).on("click."+u,".annotator-save",function(e){t._onSaveClick(e)}).on("click."+u,".annotator-cancel",function(e){t._onCancelClick(e)}).on("mouseover."+u,".annotator-cancel",function(e){t._onCancelMouseover(e)}).on("keydown."+u,"textarea",function(e){t._onTextareaKeydown(e)})},destroy:function(){this.element.off("."+u),r.prototype.destroy.call(this)},show:function(e){void 0!==e&&null!==e&&this.element.css({top:e.top,left:e.left}),this.element.find(".annotator-save").addClass(this.classes.focus),r.prototype.show.call(this),this.element.find(":input:first").focus(),this._setupDraggables()},load:function(e,t){this.annotation=e;for(var n=0,r=this.fields.length;n<r;n++){var o=this.fields[n];o.load(o.element,this.annotation)}var i=this;return new s(function(e,n){i.dfd={resolve:e,reject:n},i.show(t)})},submit:function(){for(var e=0,t=this.fields.length;e<t;e++){var n=this.fields[e];n.submit(n.element,this.annotation)}void 0!==this.dfd&&null!==this.dfd&&this.dfd.resolve(),this.hide()},cancel:function(){void 0!==this.dfd&&null!==this.dfd&&this.dfd.reject("editing cancelled"),this.hide()},addField:function(e){var t=i.extend({id:"annotator-field-"+l(),type:"input",label:"",load:function(){},submit:function(){}},e),n=null,r=i('<li class="annotator-item" />');return t.element=r[0],"textarea"===t.type?n=i("<textarea />"):"checkbox"===t.type?n=i('<input type="checkbox" />'):"input"===t.type?n=i("<input />"):"select"===t.type&&(n=i("<select />")),r.append(n),n.attr({id:t.id,placeholder:t.label}),"checkbox"===t.type&&(r.addClass("annotator-checkbox"),r.append(i("<label />",{for:t.id,html:t.label}))),this.element.find("ul:first").append(r),this.fields.push(t),t.element},checkOrientation:function(){r.prototype.checkOrientation.call(this);var e=this.element.find("ul").first(),t=this.element.find(".annotator-controls");return this.element.hasClass(this.classes.invert.y)?t.insertBefore(e):t.is(":first-child")&&t.insertAfter(e),this},_onFormSubmit:function(e){preventEventDefault(e),this.submit()},_onSaveClick:function(e){preventEventDefault(e),this.submit()},_onCancelClick:function(e){preventEventDefault(e),this.cancel()},_onCancelMouseover:function(){this.element.find("."+this.classes.focus).removeClass(this.classes.focus)},_onTextareaKeydown:function(e){27===e.which?this.cancel():13!==e.which||e.shiftKey||this.submit()},_setupDraggables:function(){void 0!==this._resizer&&null!==this._resizer&&this._resizer.destroy(),void 0!==this._mover&&null!==this._mover&&this._mover.destroy(),this.element.find(".annotator-resize").remove();var e;(e=this.element.hasClass(this.classes.invert.y)?this.element.find(".annotator-item:last"):this.element.find(".annotator-item:first"))&&i('<span class="annotator-resize"></span>').appendTo(e);var t=this.element.find(".annotator-controls")[0],n=this.element.find("textarea:first")[0],r=this.element.find(".annotator-resize")[0],o=this;this._resizer=f(n,r,{invertedX:function(){return o.element.hasClass(o.classes.invert.x)},invertedY:function(){return o.element.hasClass(o.classes.invert.y)}}),this._mover=d(this.element[0],t)}});h.classes={hide:"annotator-hide",focus:"annotator-focus"},h.template=['<div class="annotator-outer annotator-editor annotator-hide">',' <form class="annotator-widget">',' <ul class="annotator-listing"></ul>',' <div class="annotator-controls">',' <a href="#cancel" class="annotator-cancel">'+a("Cancel")+"</a>",' <a href="#save"',' class="annotator-save annotator-focus">'+a("Save")+"</a>"," </div>"," </form>","</div>"].join("\n"),h.options={defaultFields:!0},t.standalone=function(e){var n=new t.Editor(e);return{destroy:function(){n.destroy()},beforeAnnotationCreated:function(e){return n.load(e)},beforeAnnotationUpdated:function(e){return n.load(e)}}}},function(e,t,n){"use strict";(function(e){function highlightRange(t,n){void 0!==n&&null!==n||(n="annotator-hl");for(var r=/^\s*$/,o=t.textNodes(),i=[],a=0,s=o.length;a<s;a++){var u=o[a];if(!r.test(u.nodeValue)){var l=e.document.createElement("span");l.className=n,u.parentNode.replaceChild(l,u),l.appendChild(u),i.push(l)}}return i}function reanchorRange(e,t){try{return r.Range.sniff(e).normalize(t)}catch(e){if(!(e instanceof r.Range.RangeError))throw e}return null}var r=n(18),o=n(1),i=o.$,a=o.Promise,s=t.Highlighter=function Highlighter(e,t){this.element=e,this.options=i.extend(!0,{},Highlighter.options,t)};s.prototype.destroy=function(){i(this.element).find("."+this.options.highlightClass).each(function(e,t){i(t).contents().insertBefore(t),i(t).remove()})},s.prototype.drawAll=function(e){var t=this;return new a(function(n){function loader(e){void 0!==e&&null!==e||(e=[]);for(var o=e.splice(0,t.options.chunkSize),i=0,a=o.length;i<a;i++)r=r.concat(t.draw(o[i]));e.length>0?setTimeout(function(){loader(e)},t.options.chunkDelay):n(r)}var r=[];loader(e.slice())})},s.prototype.draw=function(e){for(var t=[],n=0,r=e.ranges.length;n<r;n++){var o=reanchorRange(e.ranges[n],this.element);null!==o&&t.push(o)}void 0!==e._local&&null!==e._local||(e._local={}),void 0!==e._local.highlights&&null===e._local.highlights||(e._local.highlights=[]);for(var a=0,s=t.length;a<s;a++){var u=t[a];i.merge(e._local.highlights,highlightRange(u,this.options.highlightClass))}return i(e._local.highlights).data("annotation",e),void 0!==e.id&&null!==e.id&&i(e._local.highlights).attr("data-annotation-id",e.id),e._local.highlights},s.prototype.undraw=function(e){if(void 0!==e._local&&null!==e._local&&void 0!==e._local.highlights&&null!==e._local.highlights){for(var t=0,n=e._local.highlights.length;t<n;t++){var r=e._local.highlights[t];null!==r.parentNode&&i(r).replaceWith(r.childNodes)}delete e._local.highlights}},s.prototype.redraw=function(e){return this.undraw(e),this.draw(e)},s.options={highlightClass:"annotator-hl",chunkSize:10,chunkDelay:10},t.standalone=function(e,n){var r=t.Highlighter(e,n);return{destroy:function(){r.destroy()},annotationsLoaded:function(e){r.drawAll(e)},annotationCreated:function(e){r.draw(e)},annotationDeleted:function(e){r.undraw(e)},annotationUpdated:function(e){r.redraw(e)}}}}).call(t,n(2))},function(e,t,n){"use strict";(function(e){function isAnnotator(e){return 0!==i(e).parents().addBack().filter("[class^=annotator-]").length}function TextSelector(e,t){if(this.element=e,this.options=i.extend(!0,{},TextSelector.options,t),this.onSelection=this.options.onSelection,void 0!==this.element.ownerDocument&&null!==this.element.ownerDocument){var n=this;this.document=this.element.ownerDocument,i(this.document.body).on("mouseup."+a,function(e){n._checkForEndSelection(e)})}else console.warn("You created an instance of the TextSelector on an element that doesn't have an ownerDocument. This won't work! Please ensure the element is added to the DOM before the plugin is configured:",this.element)}var r=n(18),o=n(1),i=o.$,a="annotator-textselector";TextSelector.prototype.destroy=function(){this.document&&i(this.document.body).off("."+a)},TextSelector.prototype.captureDocumentSelection=function(){var t,n,o=[],i=[],a=e.getSelection();if(a.isCollapsed)return[];for(t=0;t<a.rangeCount;t++){var s=a.getRangeAt(t),u=new r.Range.BrowserRange(s),l=u.normalize().limit(this.element);null===l?i.push(s):o.push(l)}for(a.removeAllRanges(),t=0,n=i.length;t<n;t++)a.addRange(i[t]);for(t=0,n=o.length;t<n;t++){var c=o[t],f=this.document.createRange();f.setStartBefore(c.start),f.setEndAfter(c.end),a.addRange(f)}return o},TextSelector.prototype._checkForEndSelection=function(e){var t=this,n=function(){"function"==typeof t.onSelection&&t.onSelection([],e)},r=this.captureDocumentSelection();if(0===r.length)return void n();for(var o=0,a=r.length;o<a;o++){var s=r[o].commonAncestor;if(i(s).hasClass("annotator-hl")&&(s=i(s).parents("[class!=annotator-hl]")[0]),isAnnotator(s))return void n()}"function"==typeof this.onSelection&&this.onSelection(r,e)},TextSelector.options={onSelection:null},t.TextSelector=TextSelector}).call(t,n(2))},function(e,t,n){"use strict";function parseLinks(e,t,n){n=i.extend({},n,{rel:t});for(var r=[],o=0,a=e.length;o<a;o++){var s=e[o],u=!0;for(var l in n)if(n.hasOwnProperty(l)&&s[l]!==n[l]){u=!1;break}u&&r.push(s)}return r}var r=n(3).Widget,o=n(1),i=o.$,a=o.gettext,s="annotator-viewer",u=t.Viewer=r.extend({constructor:function(e){r.call(this,e),this.itemTemplate=u.itemTemplate,this.fields=[],this.annotations=[],this.hideTimer=null,this.hideTimerDfd=null,this.hideTimerActivity=null,this.mouseDown=!1,this.render=function(e){return e.text?o.escapeHtml(e.text):"<i>"+a("No comment")+"</i>"};var t=this;if(this.options.defaultFields&&this.addField({load:function(e,n){i(e).html(t.render(n))}}),"function"!=typeof this.options.onEdit)throw new TypeError("onEdit callback must be a function");if("function"!=typeof this.options.onDelete)throw new TypeError("onDelete callback must be a function");if("function"!=typeof this.options.permitEdit)throw new TypeError("permitEdit callback must be a function");if("function"!=typeof this.options.permitDelete)throw new TypeError("permitDelete callback must be a function");this.options.autoViewHighlights&&(this.document=this.options.autoViewHighlights.ownerDocument,i(this.options.autoViewHighlights).on("mouseover."+s,".annotator-hl",function(e){e.target===this&&t._onHighlightMouseover(e)}).on("mouseleave."+s,".annotator-hl",function(){t._startHideTimer()}),i(this.document.body).on("mousedown."+s,function(e){1===e.which&&(t.mouseDown=!0)}).on("mouseup."+s,function(e){1===e.which&&(t.mouseDown=!1)})),this.element.on("click."+s,".annotator-edit",function(e){t._onEditClick(e)}).on("click."+s,".annotator-delete",function(e){t._onDeleteClick(e)}).on("mouseenter."+s,function(){t._clearHideTimer()}).on("mouseleave."+s,function(){t._startHideTimer()})},destroy:function(){this.options.autoViewHighlights&&(i(this.options.autoViewHighlights).off("."+s),i(this.document.body).off("."+s)),this.element.off("."+s),r.prototype.destroy.call(this)},show:function(e){void 0!==e&&null!==e&&this.element.css({top:e.top,left:e.left});var t=this.element.find(".annotator-controls").addClass(this.classes.showControls),n=this;setTimeout(function(){t.removeClass(n.classes.showControls)},500),r.prototype.show.call(this)},load:function(e,t){this.annotations=e||[];for(var n=this.element.find("ul:first").empty(),r=0,o=this.annotations.length;r<o;r++){var i=this.annotations[r];this._annotationItem(i).appendTo(n).data("annotation",i)}this.show(t)},setRenderer:function(e){this.render=e},_annotationItem:function(e){var t=i(this.itemTemplate).clone(),n=t.find(".annotator-controls"),r=n.find(".annotator-link"),o=n.find(".annotator-edit"),a=n.find(".annotator-delete"),s=parseLinks(e.links||[],"alternate",{type:"text/html"});s.length>0&&void 0!==s[0].href&&null!==s[0].href?r.attr("href",s[0].href):r.remove();var u={};this.options.permitEdit(e)?(u.showEdit=function(){o.removeAttr("disabled")},u.hideEdit=function(){o.attr("disabled","disabled")}):o.remove(),this.options.permitDelete(e)?(u.showDelete=function(){a.removeAttr("disabled")},u.hideDelete=function(){a.attr("disabled","disabled")}):a.remove();for(var l=0,c=this.fields.length;l<c;l++){var f=this.fields[l],d=i(f.element).clone().appendTo(t)[0];f.load(d,e,u)}return t},addField:function(e){var t=i.extend({load:function(){}},e);return t.element=i("<div />")[0],this.fields.push(t),this},_onEditClick:function(e){var t=i(e.target).parents(".annotator-annotation").data("annotation");this.hide(),this.options.onEdit(t)},_onDeleteClick:function(e){if(window.confirm(a("Delete this annotation?"))){var t=i(e.target).parents(".annotator-annotation").data("annotation");this.hide(),this.options.onDelete(t)}},_onHighlightMouseover:function(e){if(!this.mouseDown){var t=this;this._startHideTimer(!0).done(function(){var n=i(e.target).parents(".annotator-hl").addBack().map(function(e,t){return i(t).data("annotation")}).toArray();t.load(n,o.mousePosition(e))})}},_startHideTimer:function(e){if(void 0!==e&&null!==e||(e=!1),this.hideTimer){if(!1===e||this.hideTimerActivity===e)return this.hideTimerDfd;this._clearHideTimer()}var t;if(t=e?this.options.activityDelay:this.options.inactivityDelay,this.hideTimerDfd=i.Deferred(),this.isShown()){var n=this;this.hideTimer=setTimeout(function(){n.hide(),n.hideTimerDfd.resolve(),n.hideTimer=null},t),this.hideTimerActivity=Boolean(e)}else this.hideTimer=null,this.hideTimerDfd.resolve(),this.hideTimerActivity=null;return this.hideTimerDfd.promise()},_clearHideTimer:function(){clearTimeout(this.hideTimer),this.hideTimer=null,this.hideTimerDfd.reject(),this.hideTimerActivity=null}});u.classes={showControls:"annotator-visible"},u.template=['<div class="annotator-outer annotator-viewer annotator-hide">',' <ul class="annotator-widget annotator-listing"></ul>',"</div>"].join("\n"),u.itemTemplate=['<li class="annotator-annotation annotator-item">',' <span class="annotator-controls">',' <a href="#"',' title="'+a("View as webpage")+'"',' class="annotator-link">'+a("View as webpage")+"</a>",' <button type="button"',' title="'+a("Edit")+'"',' class="annotator-edit">'+a("Edit")+"</button>",' <button type="button"',' title="'+a("Delete")+'"',' class="annotator-delete">'+a("Delete")+"</button>"," </span>","</li>"].join("\n"),u.options={defaultFields:!0,inactivityDelay:500,activityDelay:100,permitEdit:function(){return!1},permitDelete:function(){return!1},autoViewHighlights:null,onEdit:function(){},onDelete:function(){}},t.standalone=function(e){var n;return void 0!==e&&null!==e||(e={}),{start:function(r){var o=r.registry.getUtility("identityPolicy"),i=r.registry.getUtility("authorizationPolicy");void 0===e.onEdit&&(e.onEdit=function(e){r.annotations.update(e)}),void 0===e.onDelete&&(e.onDelete=function(e){r.annotations.delete(e)}),void 0===e.permitEdit&&(e.permitEdit=function(e){return i.permits("update",e,o.who())}),void 0===e.permitDelete&&(e.permitDelete=function(e){return i.permits("delete",e,o.who())}),n=new t.Viewer(e)},destroy:function(){n.destroy()}}}},function(e,t,n){"use strict"},function(e,t,n){"use strict";var r=n(4),o=function(e){return e&&e.__esModule?e:{default:e}}(r);o.default.bind("g u",function(){window.location.href=Routing.generate("homepage")}),o.default.bind("g s",function(){window.location.href=Routing.generate("starred")}),o.default.bind("g r",function(){window.location.href=Routing.generate("archive")}),o.default.bind("g a",function(){window.location.href=Routing.generate("all")}),o.default.bind("g t",function(){window.location.href=Routing.generate("tag")}),o.default.bind("g c",function(){window.location.href=Routing.generate("config")}),o.default.bind("g i",function(){window.location.href=Routing.generate("import")}),o.default.bind("g d",function(){window.location.href=Routing.generate("developer")}),o.default.bind("?",function(){window.location.href=Routing.generate("howto")}),o.default.bind("g l",function(){window.location.href=Routing.generate("fos_user_security_logout")})},function(e,t,n){!function(t){e.exports=t()}(function(){"use strict";var e={has:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},extend:function(e){for(var t=1;t<arguments.length;++t){var n=arguments[t];if(n)for(var r in n)e[r]=n[r]}return e}};return function(t,n){var r,o=this;r=t&&e.has(t,"constructor")?t.constructor:function(){return o.apply(this,arguments)},e.extend(r,o,n);var i=function(){this.constructor=r};return i.prototype=o.prototype,r.prototype=new i,t&&e.extend(r.prototype,t),r.__super__=o.prototype,r}})},function(e,t,n){(function(t,r){!function(t,n){e.exports=n()}(0,function(){"use strict";function objectOrFunction(e){return"function"==typeof e||"object"==typeof e&&null!==e}function isFunction(e){return"function"==typeof e}function setScheduler(e){s=e}function setAsap(e){u=e}function useVertxTimer(){return function(){a(flush)}}function useSetTimeout(){var e=setTimeout;return function(){return e(flush,1)}}function flush(){for(var e=0;e<i;e+=2){(0,p[e])(p[e+1]),p[e]=void 0,p[e+1]=void 0}i=0}function then(e,t){var n=arguments,r=this,o=new this.constructor(noop);void 0===o[m]&&makePromise(o);var i=r._state;return i?function(){var e=n[i-1];u(function(){return invokeCallback(i,o,e,r._result)})}():subscribe(r,o,e,t),o}function resolve(e){var t=this;if(e&&"object"==typeof e&&e.constructor===t)return e;var n=new t(noop);return _resolve(n,e),n}function noop(){}function selfFulfillment(){return new TypeError("You cannot resolve a promise with itself")}function cannotReturnOwn(){return new TypeError("A promises callback cannot return that same promise.")}function getThen(e){try{return e.then}catch(e){return b.error=e,b}}function tryThen(e,t,n,r){try{e.call(t,n,r)}catch(e){return e}}function handleForeignThenable(e,t,n){u(function(e){var r=!1,o=tryThen(n,t,function(n){r||(r=!0,t!==n?_resolve(e,n):fulfill(e,n))},function(t){r||(r=!0,_reject(e,t))},"Settle: "+(e._label||" unknown promise"));!r&&o&&(r=!0,_reject(e,o))},e)}function handleOwnThenable(e,t){t._state===y?fulfill(e,t._result):t._state===w?_reject(e,t._result):subscribe(t,void 0,function(t){return _resolve(e,t)},function(t){return _reject(e,t)})}function handleMaybeThenable(e,t,n){t.constructor===e.constructor&&n===then&&t.constructor.resolve===resolve?handleOwnThenable(e,t):n===b?_reject(e,b.error):void 0===n?fulfill(e,t):isFunction(n)?handleForeignThenable(e,t,n):fulfill(e,t)}function _resolve(e,t){e===t?_reject(e,selfFulfillment()):objectOrFunction(t)?handleMaybeThenable(e,t,getThen(t)):fulfill(e,t)}function publishRejection(e){e._onerror&&e._onerror(e._result),publish(e)}function fulfill(e,t){e._state===v&&(e._result=t,e._state=y,0!==e._subscribers.length&&u(publish,e))}function _reject(e,t){e._state===v&&(e._state=w,e._result=t,u(publishRejection,e))}function subscribe(e,t,n,r){var o=e._subscribers,i=o.length;e._onerror=null,o[i]=t,o[i+y]=n,o[i+w]=r,0===i&&e._state&&u(publish,e)}function publish(e){var t=e._subscribers,n=e._state;if(0!==t.length){for(var r=void 0,o=void 0,i=e._result,a=0;a<t.length;a+=3)r=t[a],o=t[a+n],r?invokeCallback(n,r,o,i):o(i);e._subscribers.length=0}}function ErrorObject(){this.error=null}function tryCatch(e,t){try{return e(t)}catch(e){return x.error=e,x}}function invokeCallback(e,t,n,r){var o=isFunction(n),i=void 0,a=void 0,s=void 0,u=void 0;if(o){if(i=tryCatch(n,r),i===x?(u=!0,a=i.error,i=null):s=!0,t===i)return void _reject(t,cannotReturnOwn())}else i=r,s=!0;t._state!==v||(o&&s?_resolve(t,i):u?_reject(t,a):e===y?fulfill(t,i):e===w&&_reject(t,i))}function initializePromise(e,t){try{t(function(t){_resolve(e,t)},function(t){_reject(e,t)})}catch(t){_reject(e,t)}}function nextId(){return T++}function makePromise(e){e[m]=T++,e._state=void 0,e._result=void 0,e._subscribers=[]}function Enumerator(e,t){this._instanceConstructor=e,this.promise=new e(noop),this.promise[m]||makePromise(this.promise),o(t)?(this._input=t,this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?fulfill(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&fulfill(this.promise,this._result))):_reject(this.promise,validationError())}function validationError(){return new Error("Array Methods must be provided an Array")}function all(e){return new Enumerator(this,e).promise}function race(e){var t=this;return new t(o(e)?function(n,r){for(var o=e.length,i=0;i<o;i++)t.resolve(e[i]).then(n,r)}:function(e,t){return t(new TypeError("You must pass an array to race."))})}function reject(e){var t=this,n=new t(noop);return _reject(n,e),n}function needsResolver(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function needsNew(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function Promise(e){this[m]=nextId(),this._result=this._state=void 0,this._subscribers=[],noop!==e&&("function"!=typeof e&&needsResolver(),this instanceof Promise?initializePromise(this,e):needsNew())}function polyfill(){var e=void 0;if(void 0!==r)e=r;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;if(t){var n=null;try{n=Object.prototype.toString.call(t.resolve())}catch(e){}if("[object Promise]"===n&&!t.cast)return}e.Promise=Promise}var e=void 0;e=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var o=e,i=0,a=void 0,s=void 0,u=function(e,t){p[i]=e,p[i+1]=t,2===(i+=2)&&(s?s(flush):g())},l="undefined"!=typeof window?window:void 0,c=l||{},f=c.MutationObserver||c.WebKitMutationObserver,d="undefined"==typeof self&&void 0!==t&&"[object process]"==={}.toString.call(t),h="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,p=new Array(1e3),g=void 0;g=d?function(){return function(){return t.nextTick(flush)}}():f?function(){var e=0,t=new f(flush),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}():h?function(){var e=new MessageChannel;return e.port1.onmessage=flush,function(){return e.port2.postMessage(0)}}():void 0===l?function(){try{var e=n(39);return a=e.runOnLoop||e.runOnContext,useVertxTimer()}catch(e){return useSetTimeout()}}():useSetTimeout();var m=Math.random().toString(36).substring(16),v=void 0,y=1,w=2,b=new ErrorObject,x=new ErrorObject,T=0;return Enumerator.prototype._enumerate=function(){for(var e=this.length,t=this._input,n=0;this._state===v&&n<e;n++)this._eachEntry(t[n],n)},Enumerator.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,r=n.resolve;if(r===resolve){var o=getThen(e);if(o===then&&e._state!==v)this._settledAt(e._state,t,e._result);else if("function"!=typeof o)this._remaining--,this._result[t]=e;else if(n===Promise){var i=new n(noop);handleMaybeThenable(i,e,o),this._willSettleAt(i,t)}else this._willSettleAt(new n(function(t){return t(e)}),t)}else this._willSettleAt(r(e),t)},Enumerator.prototype._settledAt=function(e,t,n){var r=this.promise;r._state===v&&(this._remaining--,e===w?_reject(r,n):this._result[t]=n),0===this._remaining&&fulfill(r,this._result)},Enumerator.prototype._willSettleAt=function(e,t){var n=this;subscribe(e,void 0,function(e){return n._settledAt(y,t,e)},function(e){return n._settledAt(w,t,e)})},Promise.all=all,Promise.race=race,Promise.resolve=resolve,Promise.reject=reject,Promise._setScheduler=setScheduler,Promise._setAsap=setAsap,Promise._asap=u,Promise.prototype={constructor:Promise,then:then,catch:function(e){return this.then(null,e)}},polyfill(),Promise.polyfill=polyfill,Promise.Promise=Promise,Promise})}).call(t,n(37),n(2))},function(e,t,n){(function(){e.exports={xpath:n(20),Range:n(38)}}).call(this)},function(e,t,n){(function(){var t,r;t=n(0),r={},r.NodeTypes={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12},r.getFirstTextNodeNotBefore=function(e){var t;switch(e.nodeType){case r.NodeTypes.TEXT_NODE:return e;case r.NodeTypes.ELEMENT_NODE:if(null!=e.firstChild&&null!=(t=r.getFirstTextNodeNotBefore(e.firstChild)))return t}return e=e.nextSibling,null!=e?r.getFirstTextNodeNotBefore(e):null},r.getLastTextNodeUpTo=function(e){var t;switch(e.nodeType){case r.NodeTypes.TEXT_NODE:return e;case r.NodeTypes.ELEMENT_NODE:if(null!=e.lastChild&&null!=(t=r.getLastTextNodeUpTo(e.lastChild)))return t}return e=e.previousSibling,null!=e?r.getLastTextNodeUpTo(e):null},r.getTextNodes=function(e){var t;return t=function(e){var n;if(e&&e.nodeType!==r.NodeTypes.TEXT_NODE){if(n=[],e.nodeType!==r.NodeTypes.COMMENT_NODE)for(e=e.lastChild;e;)n.push(t(e)),e=e.previousSibling;return n.reverse()}return e},e.map(function(){return r.flatten(t(this))})},r.getGlobal=function(){return function(){return this}()},r.contains=function(e,t){var n;for(n=t;null!=n;){if(n===e)return!0;n=n.parentNode}return!1},r.flatten=function(e){var n;return(n=function(e){var r,o,i,a;for(o=[],i=0,a=e.length;i<a;i++)r=e[i],o=o.concat(r&&t.isArray(r)?n(r):r);return o})(e)},e.exports=r}).call(this)},function(e,t,n){(function(){var t,r,o,i,a,s,u,l,c,f;t=n(0),r=n(19),o=function(e,t,n){var r,o,a,s,u,l,c,f;null==t&&(t=document),null==n&&(n=null);try{return document.evaluate("."+e,t,n,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}catch(n){for(n,console.log("XPath evaluation failed."),console.log("Trying fallback..."),u=e.substring(1).split("/"),a=t,l=0,c=u.length;l<c;l++)s=u[l],f=s.split("["),o=f[0],r=f[1],r=null!=r?parseInt((null!=r?r.split("]"):void 0)[0]):1,a=i(a,o.toLowerCase(),r);return a}},l=function(e,n){var o;return o=e.map(function(){var e,o,i,a;for(i="",e=this;(null!=e?e.nodeType:void 0)===r.NodeTypes.ELEMENT_NODE&&e!==n;)a=e.tagName.replace(":","\\:"),o=t(e.parentNode).children(a).index(e)+1,o="["+o+"]",i="/"+e.tagName.toLowerCase()+o+i,e=e.parentNode;return i}),o.get()},c=function(e,t){var n,r,o,i;return n=function(e){var t,n;return t=s(e),n=u(e),t+"["+n+"]"},i=t,r=function(e){var t;for(t="";e!==i;){if(null==e)throw new Error("Called getPathTo on a node which was not a descendant of @rootNode. "+i);t=n(e)+"/"+t,e=e.parentNode}return t="/"+t,t=t.replace(/\/$/,"")},o=e.map(function(){return r(this)}),o.get()},i=function(e,t,n){var r,o,i,a,u;if(!e.hasChildNodes())throw new Error("XPath error: node has no children!");for(o=e.childNodes,i=0,a=0,u=o.length;a<u;a++)if(r=o[a],s(r)===t&&(i+=1)===n)return r;throw new Error("XPath error: wanted child not found.")},s=function(e){var t;switch(t=e.nodeName.toLowerCase()){case"#text":return"text()";case"#comment":return"comment()";case"#cdata-section":return"cdata-section()";default:return t}},u=function(e){var t,n;for(t=0,n=e;n;)n.nodeName===e.nodeName&&(t+=1),n=n.previousSibling;return t},a=function(e,t){var n;try{n=l(e,t)}catch(r){r,console.log("jQuery-based XPath construction failed! Falling back to manual."),n=c(e,t)}return n},f=function(e,n){var r,i,a,s;return null==n&&(n=document),t.isXMLDoc(document.documentElement)?(r=document.createNSResolver(null===document.ownerDocument?document.documentElement:document.ownerDocument.documentElement),a=o(e,n,r),a||(e=function(){var t,n,r,o;for(r=e.split("/"),o=[],t=0,n=r.length;t<n;t++)s=r[t],s&&-1===s.indexOf(":")?o.push(s.replace(/^([a-z]+)/,"xhtml:$1")):o.push(s);return o}().join("/"),i=document.lookupNamespaceURI(null),r=function(e){return"xhtml"===e?i:document.documentElement.getAttribute("xmlns:"+e)},a=o(e,n,r)),a):o(e,n)},e.exports={fromNode:a,toNode:f}}).call(this)},function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var r=n(0),o=_interopRequireDefault(r),i=n(22),a=_interopRequireDefault(i);n(34),n(33),n(31),n(14),n(15);var s=n(30);(0,o.default)(document).ready(function(){if((0,o.default)("article").length){var e=new a.default.App;e.include(a.default.ui.main,{element:document.querySelector("article")});var t={permits:function(){return!0}};e.registry.registerUtility(t,"authorizationPolicy");var n=JSON.parse((0,o.default)("#annotationroutes").html());e.include(a.default.storage.http,o.default.extend({},n,{onError:function(e,t){if(!Object.prototype.hasOwnProperty.call(t,"responseJSON"))return void a.default.notification.banner("An error occurred","error");o.default.each(t.responseJSON.children,function(e,t){t.errors&&o.default.each(t.errors,function(e,t){a.default.notification.banner(t,"error")})})}})),e.start().then(function(){e.annotations.load({entry:n.entryId})}),(0,o.default)(window).scroll(function(){var e=(0,o.default)(window).scrollTop(),t=(0,o.default)(document).height(),r=e/t,i=Math.round(100*r)/100;(0,s.savePercent)(n.entryId,i)}),(0,s.retrievePercent)(n.entryId),(0,o.default)(window).resize(function(){(0,s.retrievePercent)(n.entryId)})}})},function(e,t,n){"use strict";(function(e){n(35)(n(32));var r=n(23),o=n(1);t.App=r.App,t.authz=n(5),t.identity=n(6),t.notification=n(7),t.storage=n(8),t.ui=n(25),t.util=o,t.ext={};var i=e.wgxpath;void 0!==i&&null!==i&&"function"==typeof i.install&&i.install();var a=e.annotator;t.noConflict=function(){return e.annotator=a,this}}).call(t,n(2))},function(e,t,n){"use strict";function App(){this.modules=[],this.registry=new u.Registry,this._started=!1,this.registry.registerUtility(s.defaultNotifier,"notifier"),this.include(i.acl),this.include(a.simple),this.include(l.noop)}var r=n(16),o=n(17).Promise,i=n(5),a=n(6),s=n(7),u=n(24),l=n(8);App.prototype.include=function(e,t){var n=e(t);return"function"==typeof n.configure&&n.configure(this.registry),this.modules.push(n),this},App.prototype.start=function(){if(!this._started){this._started=!0;var e=this,t=this.registry;return this.authz=t.getUtility("authorizationPolicy"),this.ident=t.getUtility("identityPolicy"),this.notify=t.getUtility("notifier"),this.annotations=new l.StorageAdapter(t.getUtility("storage"),function(){return e.runHook.apply(e,arguments)}),this.runHook("start",[this])}},App.prototype.destroy=function(){return this.runHook("destroy")},App.prototype.runHook=function(e,t){for(var n=[],r=0,i=this.modules.length;r<i;r++){var a=this.modules[r];"function"==typeof a[e]&&n.push(a[e].apply(a,t))}return o.all(n)},App.extend=r,t.App=App},function(e,t,n){"use strict";function Registry(){this.utilities={}}function LookupError(e){this.name="LookupError",this.message='No utility registered for interface "'+e+'".'}Registry.prototype.registerUtility=function(e,t){this.utilities[t]=e},Registry.prototype.getUtility=function(e){var t=this.queryUtility(e);if(null===t)throw new LookupError(e);return t},Registry.prototype.queryUtility=function(e){var t=this.utilities[e];return void 0===t||null===t?null:t},LookupError.prototype=Object.create(Error.prototype),LookupError.prototype.constructor=LookupError,t.LookupError=LookupError,t.Registry=Registry},function(e,t,n){t.main=n(27).main,t.adder=n(9),t.editor=n(10),t.filter=n(26),t.highlighter=n(11),t.markdown=n(28),t.tags=n(29),t.textselector=n(12),t.viewer=n(13),t.widget=n(3)},function(e,t,n){"use strict";var r=n(1),o=r.$,i=r.gettext,a="annotator-filter",s=t.Filter=function Filter(e){this.options=o.extend(!0,{},Filter.options,e),this.classes=o.extend(!0,{},Filter.classes),this.element=o(Filter.html.element).appendTo(this.options.appendTo),this.filter=o(Filter.html.filter),this.filters=[],this.current=0;for(var t=0,n=this.options.filters.length;t<n;t++){var r=this.options.filters[t];this.addFilter(r)}this.updateHighlights();var s=".annotator-filter-property input",u=this;this.element.on("focus."+a,s,function(e){u._onFilterFocus(e)}).on("blur."+a,s,function(e){u._onFilterBlur(e)}).on("keyup."+a,s,function(e){u._onFilterKeyup(e)}).on("click."+a,".annotator-filter-previous",function(e){u._onPreviousClick(e)}).on("click."+a,".annotator-filter-next",function(e){u._onNextClick(e)}).on("click."+a,".annotator-filter-clear",function(e){u._onClearClick(e)}),this._insertSpacer(),this.options.addAnnotationFilter&&this.addFilter({label:i("Annotation"),property:"text"})};s.prototype.destroy=function(){var e=o("html"),t=parseInt(e.css("padding-top"),10)||0;e.css("padding-top",t-this.element.outerHeight()),this.element.off("."+a),this.element.remove()},s.prototype._insertSpacer=function(){var e=o("html"),t=parseInt(e.css("padding-top"),10)||0;return e.css("padding-top",t+this.element.outerHeight()),this},s.prototype.addFilter=function(e){for(var t=o.extend({label:"",property:"",isFiltered:this.options.isFiltered},e),n=!1,r=0,a=this.filters.length;r<a;r++){if(this.filters[r].property===t.property){n=!0;break}}return n||(t.id="annotator-filter-"+t.property,t.annotations=[],t.element=this.filter.clone().appendTo(this.element),t.element.find("label").html(t.label).attr("for",t.id),t.element.find("input").attr({id:t.id,placeholder:i("Filter by ")+t.label+"…"}),t.element.find("button").hide(),t.element.data("filter",t),this.filters.push(t)),this},s.prototype.updateFilter=function(e){e.annotations=[],this.updateHighlights(),this.resetHighlights();var t=o.trim(e.element.find("input").val());if(t){var n=this.highlights.map(function(){return o(this).data("annotation")});n=o.makeArray(n);for(var r=0,i=n.length;r<i;r++){var a=n[r],s=a[e.property];e.isFiltered(t,s)&&e.annotations.push(a)}this.filterHighlights()}},s.prototype.updateHighlights=function(){this.highlights=o(this.options.filterElement).find(".annotator-hl:visible"),this.filtered=this.highlights.not(this.classes.hl.hide)},s.prototype.filterHighlights=function(){var e=o.grep(this.filters,function(e){return Boolean(e.annotations.length)}),t=[];if(e.length>0&&(t=e[0].annotations),e.length>1){var n=[];o.each(e,function(){o.merge(n,this.annotations)});var r=[];t=[],o.each(n,function(){-1===o.inArray(this,r)?r.push(this):t.push(this)})}for(var i=this.highlights,a=0,s=t.length;a<s;a++)i=i.not(t[a]._local.highlights);return i.addClass(this.classes.hl.hide),this.filtered=this.highlights.not(this.classes.hl.hide),this},s.prototype.resetHighlights=function(){return this.highlights.removeClass(this.classes.hl.hide),this.filtered=this.highlights,this},s.prototype._onFilterFocus=function(e){var t=o(e.target);t.parent().addClass(this.classes.active),t.next("button").show()},s.prototype._onFilterBlur=function(e){if(!e.target.value){var t=o(e.target);t.parent().removeClass(this.classes.active),t.next("button").hide()}},s.prototype._onFilterKeyup=function(e){var t=o(e.target).parent().data("filter");t&&this.updateFilter(t)},s.prototype._findNextHighlight=function(e){if(0===this.highlights.length)return this;var t=-1,n=0,r="gt";e&&(t=0,n=-1,r="lt");var o=this.highlights.not("."+this.classes.hl.hide),i=o.filter("."+this.classes.hl.active);0===i.length&&(i=o.eq(t));var a=i.data("annotation"),s=o.index(i[0]),u=o.filter(":"+r+"("+s+")").not(a._local.highlights).eq(n);0===u.length&&(u=o.eq(n)),this._scrollToHighlight(u.data("annotation")._local.highlights)},s.prototype._onNextClick=function(){this._findNextHighlight()},s.prototype._onPreviousClick=function(){this._findNextHighlight(!0)},s.prototype._scrollToHighlight=function(e){e=o(e),this.highlights.removeClass(this.classes.hl.active),e.addClass(this.classes.hl.active),o("html, body").animate({scrollTop:e.offset().top-(this.element.height()+20)},150)},s.prototype._onClearClick=function(e){o(e.target).prev("input").val("").keyup().blur()},s.classes={active:"annotator-filter-active",hl:{hide:"annotator-hl-filtered",active:"annotator-hl-active"}},s.html={element:['<div class="annotator-filter">'," <strong>"+i("Navigate:")+"</strong>",' <span class="annotator-filter-navigation">',' <button type="button"',' class="annotator-filter-previous">'+i("Previous")+"</button>",' <button type="button"',' class="annotator-filter-next">'+i("Next")+"</button>"," </span>"," <strong>"+i("Filter by:")+"</strong>","</div>"].join("\n"),filter:['<span class="annotator-filter-property">'," <label></label>"," <input/>",' <button type="button"',' class="annotator-filter-clear">'+i("Clear")+"</button>","</span>"].join("\n")},s.options={appendTo:"body",filterElement:"body",filters:[],addAnnotationFilter:!0,isFiltered:function(e,t){if(!e||!t)return!1;for(var n=e.split(/\s+/),r=0,o=n.length;r<o;r++)if(-1===t.indexOf(n[r]))return!1;return!0}},t.standalone=function(e){var n=new t.Filter(e);return{destroy:function(){n.destroy()},annotationsLoaded:function(){n.updateHighlights()},annotationCreated:function(){n.updateHighlights()},annotationUpdated:function(){n.updateHighlights()},annotationDeleted:function(){n.updateHighlights()}}}},function(e,t,n){"use strict";(function(e){function trim(e){return"function"==typeof String.prototype.trim?String.prototype.trim.call(e):e.replace(/^[\s\xA0]+|[\s\xA0]+$/g,"")}function annotationFactory(e,t){return function(n){for(var r=[],o=[],i=0,a=n.length;i<a;i++){var s=n[i];r.push(trim(s.text())),o.push(s.serialize(e,t))}return{quote:r.join(" / "),ranges:o}}}function maxZIndex(e){for(var t=-1,n=0,o=e.length;n<o;n++){var i=r.$(e[n]);if("static"!==i.css("position")){var a=parseFloat(i.css("z-index"));a>t&&(t=a)}}return t}function injectDynamicStyle(){r.$("#annotator-dynamic-style").remove();var t=maxZIndex(r.$(e.document.body).find("*:not(annotator-adder):not(annotator-outer):not(annotator-notice):not(annotator-filter)").get());t=Math.max(t,1e3);var n=[".annotator-adder, .annotator-outer, .annotator-notice {"," z-index: "+(t+20)+";","}",".annotator-filter {"," z-index: "+(t+10)+";","}"].join("\n");r.$("<style>"+n+"</style>").attr("id","annotator-dynamic-style").attr("type","text/css").appendTo("head")}function removeDynamicStyle(){r.$("#annotator-dynamic-style").remove()}function addPermissionsCheckboxes(e,t,n){function createLoadCallback(e){return function(o,i){o=r.$(o).show();var a=t.who(),s=o.find("input");void 0!==a&&null!==a||o.hide(),n.permits("admin",i,a)||o.hide(),n.permits(e,i,null)?s.attr("checked","checked"):s.removeAttr("checked")}}function createSubmitCallback(e){return function(o,i){var a=t.who();void 0!==a&&null!==a&&(i.permissions||(i.permissions={}),r.$(o).find("input").is(":checked")?delete i.permissions[e]:i.permissions[e]=[n.authorizedUserId(a)])}}e.addField({type:"checkbox",label:l("Allow anyone to <strong>view</strong> this annotation"),load:createLoadCallback("read"),submit:createSubmitCallback("read")}),e.addField({type:"checkbox",label:l("Allow anyone to <strong>edit</strong> this annotation"),load:createLoadCallback("update"),submit:createSubmitCallback("update")})}function main(t){function start(e){var c=e.registry.getUtility("identityPolicy"),f=e.registry.getUtility("authorizationPolicy");l.adder=new o.Adder({onCreate:function(t){e.annotations.create(t)}}),l.adder.attach(),l.editor=new i.Editor({extensions:t.editorExtensions}),l.editor.attach(),addPermissionsCheckboxes(l.editor,c,f),l.highlighter=new a.Highlighter(t.element),l.textselector=new s.TextSelector(t.element,{onSelection:function(e,t){if(e.length>0){var o=n(e);l.interactionPoint=r.mousePosition(t),l.adder.load(o,l.interactionPoint)}else l.adder.hide()}}),l.viewer=new u.Viewer({onEdit:function(t){l.interactionPoint=r.$(l.viewer.element).css(["top","left"]),e.annotations.update(t)},onDelete:function(t){e.annotations.delete(t)},permitEdit:function(e){return f.permits("update",e,c.who())},permitDelete:function(e){return f.permits("delete",e,c.who())},autoViewHighlights:t.element,extensions:t.viewerExtensions}),l.viewer.attach(),injectDynamicStyle()}void 0!==t&&null!==t||(t={}),t.element=t.element||e.document.body,t.editorExtensions=t.editorExtensions||[],t.viewerExtensions=t.viewerExtensions||[];var n=annotationFactory(t.element,".annotator-hl"),l={interactionPoint:null};return{start:start,destroy:function(){l.adder.destroy(),l.editor.destroy(),l.highlighter.destroy(),l.textselector.destroy(),l.viewer.destroy(),removeDynamicStyle()},annotationsLoaded:function(e){l.highlighter.drawAll(e)},annotationCreated:function(e){l.highlighter.draw(e)},annotationDeleted:function(e){l.highlighter.undraw(e)},annotationUpdated:function(e){l.highlighter.redraw(e)},beforeAnnotationCreated:function(e){return l.editor.load(e,l.interactionPoint)},beforeAnnotationUpdated:function(e){return l.editor.load(e,l.interactionPoint)}}}var r=n(1),o=n(9),i=n(10),a=n(11),s=n(12),u=n(13),l=r.gettext;t.main=main}).call(t,n(2))},function(e,t,n){"use strict";(function(e){var r=n(1),o=r.gettext,i=t.render=function(t){var n=r.escapeHtml;return e.showdown&&"function"==typeof e.showdown.Converter&&(n=(new e.showdown.Converter).makeHtml),t.text?n(t.text):"<i>"+o("No comment")+"</i>"};t.viewerExtension=function(t){e.showdown&&"function"==typeof e.showdown.Converter||console.warn(o("To use the Markdown plugin, you must include Showdown into the page first.")),t.setRenderer(i)}}).call(t,n(2))},function(e,t,n){"use strict";function stringifyTags(e){return e.join(" ")}function parseTags(e){e=o.trim(e);var t=[];return e&&(t=e.split(/\s+/)),t}var r=n(1),o=r.$,i=r.gettext;t.viewerExtension=function(e){function updateViewer(e,t){e=o(e),t.tags&&o.isArray(t.tags)&&t.tags.length?e.addClass("annotator-tags").html(function(){return o.map(t.tags,function(e){return'<span class="annotator-tag">'+r.escapeHtml(e)+"</span>"}).join(" ")}):e.remove()}e.addField({load:updateViewer})},t.editorExtension=function(e){function updateField(e,t){var r="";t.tags&&(r=stringifyTags(t.tags)),n.val(r)}function setAnnotationTags(e,t){t.tags=parseTags(n.val())}var t=null,n=null;t=e.addField({label:i("Add some tags here")+"…",load:updateField,submit:setAnnotationTags}),n=o(t).find(":input")}},function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function supportsLocalStorage(){try{return"localStorage"in window&&null!==window.localStorage}catch(e){return!1}}function savePercent(e,t){return!!supportsLocalStorage()&&(localStorage["wallabag.article."+e+".percent"]=t,!0)}function retrievePercent(e){if(!supportsLocalStorage())return!1;var t=(0,o.default)(document).height(),n=localStorage["wallabag.article."+e+".percent"],r=t*n;return(0,o.default)("html,body").animate({scrollTop:r},"fast"),!0}Object.defineProperty(t,"__esModule",{value:!0}),t.retrievePercent=t.savePercent=void 0;var r=n(0),o=_interopRequireDefault(r);n(15),n(14);var i=n(36);_interopRequireDefault(i);t.savePercent=savePercent,t.retrievePercent=retrievePercent},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){var n={};e.exports=function(e,t){if(!n[e]){n[e]=!0;var r=document.createElement("style");r.setAttribute("type","text/css"),"textContent"in r?r.textContent=e:r.styleSheet.cssText=e;var o=document.getElementsByTagName("head")[0];t&&t.prepend?o.insertBefore(r,o.childNodes[0]):o.appendChild(r)}}},function(e,t,n){!function(t,n){e.exports=n()}(0,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(e,t,n){"use strict";e.exports=n(3)},function(e,t){"use strict";!function(){Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert first argument to object");for(var t=Object(e),n=1;n<arguments.length;n++){var r=arguments[n];if(void 0!==r&&null!==r){r=Object(r);for(var o=Object.keys(Object(r)),i=0,a=o.length;i<a;i++){var s=o[i],u=Object.getOwnPropertyDescriptor(r,s);void 0!==u&&u.enumerable&&(t[s]=r[s])}}}return t}})}()},function(e,t){"use strict";e.exports=function(){var e={};return e.utf16to8=function(e){var t,n,r,o;for(t="",r=e.length,n=0;n<r;n++)o=e.charCodeAt(n),o>=1&&o<=127?t+=e.charAt(n):o>2047?(t+=String.fromCharCode(224|o>>12&15),t+=String.fromCharCode(128|o>>6&63),t+=String.fromCharCode(128|o>>0&63)):(t+=String.fromCharCode(192|o>>6&31),t+=String.fromCharCode(128|o>>0&63));return t},e.utf8to16=function(e){var t,n,r,o,i,a;for(t="",r=e.length,n=0;n<r;)switch((o=e.charCodeAt(n++))>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=e.charAt(n-1);break;case 12:case 13:i=e.charCodeAt(n++),t+=String.fromCharCode((31&o)<<6|63&i);break;case 14:i=e.charCodeAt(n++),a=e.charCodeAt(n++),t+=String.fromCharCode((15&o)<<12|(63&i)<<6|(63&a)<<0)}return t},e}()},function(e,n,r){"use strict";r(1),r(4);var o=r(2),i=function(){function t(e){var t=new QRCode(e.typeNumber,e.correctLevel);t.addData(e.text),t.make();var n=document.createElement("canvas");n.width=e.width,n.height=e.height;var r=n.getContext("2d"),o=(e.width-2*e.padding)/t.getModuleCount(),i=(e.height-2*e.padding)/t.getModuleCount();if(e.reverse){var a="rgba(0, 0, 0, 0)";r.fillStyle=a,e.foreground=a}else r.fillStyle=e.background;r.fillRect(0,0,n.width,n.height);for(var s=0;s<t.getModuleCount();s++)for(var u=0;u<t.getModuleCount();u++){r.fillStyle=t.isDark(s,u)?e.foreground:e.background;var l=Math.ceil((u+1)*o)-Math.floor(u*o),c=Math.ceil((s+1)*o)-Math.floor(s*o);r.fillRect(Math.round(u*o)+e.padding,Math.round(s*i)+e.padding,l,c)}return n}var e={};return e.getQrBase64=function(e,n){"string"!=typeof e&&(e=""),"string"==typeof n?n={text:n}:"object"!=typeof n&&(n={}),n=Object.assign({padding:10,width:256,height:256,typeNumber:-1,correctLevel:QRErrorCorrectLevel.H,reverse:!1,background:"#ffffff",foreground:"#000000"},n);try{n.text=o.utf16to8(e)}catch(e){n.text=""+e}return t(n).toDataURL()},e.QRErrorCorrectLevel=QRErrorCorrectLevel,e}();!window.jrQrcode&&(window.jrQrcode=i),e.exports=i},function(e,t){function r(e){this.mode=s.MODE_8BIT_BYTE,this.data=e}function o(e,t){this.typeNumber=e,this.errorCorrectLevel=t,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=new Array}function n(e,t){if(void 0==e.length)throw new Error(e.length+"/"+t);for(var n=0;n<e.length&&0==e[n];)n++;this.num=new Array(e.length-n+t);for(var r=0;r<e.length-n;r++)this.num[r]=e[r+n]}function i(e,t){this.totalCount=e,this.dataCount=t}function a(){this.buffer=new Array,this.length=0}r.prototype={getLength:function(e){return this.data.length},write:function(e){for(var t=0;t<this.data.length;t++)e.put(this.data.charCodeAt(t),8)}},o.prototype={addData:function(e){var t=new r(e);this.dataList.push(t),this.dataCache=null},isDark:function(e,t){if(e<0||this.moduleCount<=e||t<0||this.moduleCount<=t)throw new Error(e+","+t);return this.modules[e][t]},getModuleCount:function(){return this.moduleCount},make:function(){if(this.typeNumber<1){var e=1;for(e=1;e<40;e++){for(var t=i.getRSBlocks(e,this.errorCorrectLevel),n=new a,r=0,o=0;o<t.length;o++)r+=t[o].dataCount;for(var o=0;o<this.dataList.length;o++){var s=this.dataList[o];n.put(s.mode,4),n.put(s.getLength(),c.getLengthInBits(s.mode,e)),s.write(n)}if(n.getLengthInBits()<=8*r)break}this.typeNumber=e}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(e,t){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var n=0;n<this.moduleCount;n++){this.modules[n]=new Array(this.moduleCount);for(var r=0;r<this.moduleCount;r++)this.modules[n][r]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(e,t),this.typeNumber>=7&&this.setupTypeNumber(e),null==this.dataCache&&(this.dataCache=o.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,t)},setupPositionProbePattern:function(e,t){for(var n=-1;n<=7;n++)if(!(e+n<=-1||this.moduleCount<=e+n))for(var r=-1;r<=7;r++)t+r<=-1||this.moduleCount<=t+r||(this.modules[e+n][t+r]=0<=n&&n<=6&&(0==r||6==r)||0<=r&&r<=6&&(0==n||6==n)||2<=n&&n<=4&&2<=r&&r<=4)},getBestMaskPattern:function(){for(var e=0,t=0,n=0;n<8;n++){this.makeImpl(!0,n);var r=c.getLostPoint(this);(0==n||e>r)&&(e=r,t=n)}return t},createMovieClip:function(e,t,n){var r=e.createEmptyMovieClip(t,n);this.make();for(var o=0;o<this.modules.length;o++)for(var i=1*o,a=0;a<this.modules[o].length;a++){var s=1*a,u=this.modules[o][a];u&&(r.beginFill(0,100),r.moveTo(s,i),r.lineTo(s+1,i),r.lineTo(s+1,i+1),r.lineTo(s,i+1),r.endFill())}return r},setupTimingPattern:function(){for(var e=8;e<this.moduleCount-8;e++)null==this.modules[e][6]&&(this.modules[e][6]=e%2==0);for(var t=8;t<this.moduleCount-8;t++)null==this.modules[6][t]&&(this.modules[6][t]=t%2==0)},setupPositionAdjustPattern:function(){for(var e=c.getPatternPosition(this.typeNumber),t=0;t<e.length;t++)for(var n=0;n<e.length;n++){var r=e[t],o=e[n];if(null==this.modules[r][o])for(var i=-2;i<=2;i++)for(var a=-2;a<=2;a++)this.modules[r+i][o+a]=-2==i||2==i||-2==a||2==a||0==i&&0==a}},setupTypeNumber:function(e){for(var t=c.getBCHTypeNumber(this.typeNumber),n=0;n<18;n++){var r=!e&&1==(t>>n&1);this.modules[Math.floor(n/3)][n%3+this.moduleCount-8-3]=r}for(var n=0;n<18;n++){var r=!e&&1==(t>>n&1);this.modules[n%3+this.moduleCount-8-3][Math.floor(n/3)]=r}},setupTypeInfo:function(e,t){for(var n=this.errorCorrectLevel<<3|t,r=c.getBCHTypeInfo(n),o=0;o<15;o++){var i=!e&&1==(r>>o&1);o<6?this.modules[o][8]=i:o<8?this.modules[o+1][8]=i:this.modules[this.moduleCount-15+o][8]=i}for(var o=0;o<15;o++){var i=!e&&1==(r>>o&1);o<8?this.modules[8][this.moduleCount-o-1]=i:o<9?this.modules[8][15-o-1+1]=i:this.modules[8][15-o-1]=i}this.modules[this.moduleCount-8][8]=!e},mapData:function(e,t){for(var n=-1,r=this.moduleCount-1,o=7,i=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var s=0;s<2;s++)if(null==this.modules[r][a-s]){var u=!1;i<e.length&&(u=1==(e[i]>>>o&1));var l=c.getMask(t,r,a-s);l&&(u=!u),this.modules[r][a-s]=u,-1==--o&&(i++,o=7)}if((r+=n)<0||this.moduleCount<=r){r-=n,n=-n;break}}}},o.PAD0=236,o.PAD1=17,o.createData=function(e,t,n){for(var r=i.getRSBlocks(e,t),s=new a,u=0;u<n.length;u++){var l=n[u];s.put(l.mode,4),s.put(l.getLength(),c.getLengthInBits(l.mode,e)),l.write(s)}for(var f=0,u=0;u<r.length;u++)f+=r[u].dataCount;if(s.getLengthInBits()>8*f)throw new Error("code length overflow. ("+s.getLengthInBits()+">"+8*f+")");for(s.getLengthInBits()+4<=8*f&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(!1);for(;!(s.getLengthInBits()>=8*f)&&(s.put(o.PAD0,8),!(s.getLengthInBits()>=8*f));)s.put(o.PAD1,8);return o.createBytes(s,r)},o.createBytes=function(e,t){for(var r=0,o=0,i=0,a=new Array(t.length),s=new Array(t.length),u=0;u<t.length;u++){var l=t[u].dataCount,f=t[u].totalCount-l;o=Math.max(o,l),i=Math.max(i,f),a[u]=new Array(l);for(var d=0;d<a[u].length;d++)a[u][d]=255&e.buffer[d+r];r+=l;var h=c.getErrorCorrectPolynomial(f),p=new n(a[u],h.getLength()-1),g=p.mod(h);s[u]=new Array(h.getLength()-1);for(var d=0;d<s[u].length;d++){var m=d+g.getLength()-s[u].length;s[u][d]=m>=0?g.get(m):0}}for(var v=0,d=0;d<t.length;d++)v+=t[d].totalCount;for(var y=new Array(v),w=0,d=0;d<o;d++)for(var u=0;u<t.length;u++)d<a[u].length&&(y[w++]=a[u][d]);for(var d=0;d<i;d++)for(var u=0;u<t.length;u++)d<s[u].length&&(y[w++]=s[u][d]);return y};for(var s={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},u={L:1,M:0,Q:3,H:2},l={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},c={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(e){for(var t=e<<10;c.getBCHDigit(t)-c.getBCHDigit(c.G15)>=0;)t^=c.G15<<c.getBCHDigit(t)-c.getBCHDigit(c.G15);return(e<<10|t)^c.G15_MASK},getBCHTypeNumber:function(e){for(var t=e<<12;c.getBCHDigit(t)-c.getBCHDigit(c.G18)>=0;)t^=c.G18<<c.getBCHDigit(t)-c.getBCHDigit(c.G18);return e<<12|t},getBCHDigit:function(e){for(var t=0;0!=e;)t++,e>>>=1;return t},getPatternPosition:function(e){return c.PATTERN_POSITION_TABLE[e-1]},getMask:function(e,t,n){switch(e){case l.PATTERN000:return(t+n)%2==0;case l.PATTERN001:return t%2==0;case l.PATTERN010:return n%3==0;case l.PATTERN011:return(t+n)%3==0;case l.PATTERN100:return(Math.floor(t/2)+Math.floor(n/3))%2==0;case l.PATTERN101:return t*n%2+t*n%3==0;case l.PATTERN110:return(t*n%2+t*n%3)%2==0;case l.PATTERN111:return(t*n%3+(t+n)%2)%2==0;default:throw new Error("bad maskPattern:"+e)}},getErrorCorrectPolynomial:function(e){for(var t=new n([1],0),r=0;r<e;r++)t=t.multiply(new n([1,f.gexp(r)],0));return t},getLengthInBits:function(e,t){if(1<=t&&t<10)switch(e){case s.MODE_NUMBER:return 10;case s.MODE_ALPHA_NUM:return 9;case s.MODE_8BIT_BYTE:case s.MODE_KANJI:return 8;default:throw new Error("mode:"+e)}else if(t<27)switch(e){case s.MODE_NUMBER:return 12;case s.MODE_ALPHA_NUM:return 11;case s.MODE_8BIT_BYTE:return 16;case s.MODE_KANJI:return 10;default:throw new Error("mode:"+e)}else{if(!(t<41))throw new Error("type:"+t);switch(e){case s.MODE_NUMBER:return 14;case s.MODE_ALPHA_NUM:return 13;case s.MODE_8BIT_BYTE:return 16;case s.MODE_KANJI:return 12;default:throw new Error("mode:"+e)}}},getLostPoint:function(e){for(var t=e.getModuleCount(),n=0,r=0;r<t;r++)for(var o=0;o<t;o++){for(var i=0,a=e.isDark(r,o),s=-1;s<=1;s++)if(!(r+s<0||t<=r+s))for(var u=-1;u<=1;u++)o+u<0||t<=o+u||0==s&&0==u||a==e.isDark(r+s,o+u)&&i++;i>5&&(n+=3+i-5)}for(var r=0;r<t-1;r++)for(var o=0;o<t-1;o++){var l=0;e.isDark(r,o)&&l++,e.isDark(r+1,o)&&l++,e.isDark(r,o+1)&&l++,e.isDark(r+1,o+1)&&l++,0!=l&&4!=l||(n+=3)}for(var r=0;r<t;r++)for(var o=0;o<t-6;o++)e.isDark(r,o)&&!e.isDark(r,o+1)&&e.isDark(r,o+2)&&e.isDark(r,o+3)&&e.isDark(r,o+4)&&!e.isDark(r,o+5)&&e.isDark(r,o+6)&&(n+=40);for(var o=0;o<t;o++)for(var r=0;r<t-6;r++)e.isDark(r,o)&&!e.isDark(r+1,o)&&e.isDark(r+2,o)&&e.isDark(r+3,o)&&e.isDark(r+4,o)&&!e.isDark(r+5,o)&&e.isDark(r+6,o)&&(n+=40);for(var c=0,o=0;o<t;o++)for(var r=0;r<t;r++)e.isDark(r,o)&&c++;return n+=Math.abs(100*c/t/t-50)/5*10}},f={glog:function(e){if(e<1)throw new Error("glog("+e+")");return f.LOG_TABLE[e]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return f.EXP_TABLE[e]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},d=0;d<8;d++)f.EXP_TABLE[d]=1<<d;for(var d=8;d<256;d++)f.EXP_TABLE[d]=f.EXP_TABLE[d-4]^f.EXP_TABLE[d-5]^f.EXP_TABLE[d-6]^f.EXP_TABLE[d-8];for(var d=0;d<255;d++)f.LOG_TABLE[f.EXP_TABLE[d]]=d;n.prototype={get:function(e){return this.num[e]},getLength:function(){return this.num.length},multiply:function(e){for(var t=new Array(this.getLength()+e.getLength()-1),r=0;r<this.getLength();r++)for(var o=0;o<e.getLength();o++)t[r+o]^=f.gexp(f.glog(this.get(r))+f.glog(e.get(o)));return new n(t,0)},mod:function(e){if(this.getLength()-e.getLength()<0)return this;for(var t=f.glog(this.get(0))-f.glog(e.get(0)),r=new Array(this.getLength()),o=0;o<this.getLength();o++)r[o]=this.get(o);for(var o=0;o<e.getLength();o++)r[o]^=f.gexp(f.glog(e.get(o))+t);return new n(r,0).mod(e)}},i.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],i.getRSBlocks=function(e,t){var n=i.getRsBlockTable(e,t);if(void 0==n)throw new Error("bad rs block @ typeNumber:"+e+"/errorCorrectLevel:"+t);for(var r=n.length/3,o=new Array,a=0;a<r;a++)for(var s=n[3*a+0],u=n[3*a+1],l=n[3*a+2],c=0;c<s;c++)o.push(new i(u,l));return o},i.getRsBlockTable=function(e,t){switch(t){case u.L:return i.RS_BLOCK_TABLE[4*(e-1)+0];case u.M:return i.RS_BLOCK_TABLE[4*(e-1)+1];case u.Q:return i.RS_BLOCK_TABLE[4*(e-1)+2];case u.H:return i.RS_BLOCK_TABLE[4*(e-1)+3];default:return}},a.prototype={get:function(e){var t=Math.floor(e/8);return 1==(this.buffer[t]>>>7-e%8&1)},put:function(e,t){for(var n=0;n<t;n++)this.putBit(1==(e>>>t-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){var t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},window.QRCode=o,window.QRErrorCorrectLevel=u;try{e.exports={QRCode:o,QRErrorCorrectLevel:u}}catch(e){}}])})},function(e,t){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(n===setTimeout)return setTimeout(e,0);if((n===defaultSetTimout||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}function runClearTimeout(e){if(r===clearTimeout)return clearTimeout(e);if((r===defaultClearTimeout||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{return r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}function cleanUpNextTick(){s&&i&&(s=!1,i.length?a=i.concat(a):u=-1,a.length&&drainQueue())}function drainQueue(){if(!s){var e=runTimeout(cleanUpNextTick);s=!0;for(var t=a.length;t;){for(i=a,a=[];++u<t;)i&&i[u].run();u=-1,t=a.length}i=null,s=!1,runClearTimeout(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}var n,r,o=e.exports={};!function(){try{n="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){n=defaultSetTimout}try{r="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){r=defaultClearTimeout}}();var i,a=[],s=!1,u=-1;o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];a.push(new Item(e,t)),1!==a.length||s||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=noop,o.addListener=noop,o.once=noop,o.off=noop,o.removeListener=noop,o.removeAllListeners=noop,o.emit=noop,o.prependListener=noop,o.prependOnceListener=noop,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,n){(function(){var t,r,o,i,a={}.hasOwnProperty,s=function(e,t){function ctor(){this.constructor=e}for(var n in t)a.call(t,n)&&(e[n]=t[n]);return ctor.prototype=t.prototype,e.prototype=new ctor,e.__super__=t.prototype,e};i=n(20),o=n(19),t=n(0),r={},r.sniff=function(e){return null!=e.commonAncestorContainer?new r.BrowserRange(e):"string"==typeof e.start?new r.SerializedRange(e):e.start&&"object"==typeof e.start?new r.NormalizedRange(e):(console.error("Could not sniff range type"),!1)},r.RangeError=function(e){function RangeError(e,t,n){this.type=e,this.message=t,this.parent=null!=n?n:null,RangeError.__super__.constructor.call(this,this.message)}return s(RangeError,e),RangeError}(Error),r.BrowserRange=function(){function BrowserRange(e){this.commonAncestorContainer=e.commonAncestorContainer,this.startContainer=e.startContainer,this.startOffset=e.startOffset,this.endContainer=e.endContainer,this.endOffset=e.endOffset}return BrowserRange.prototype.normalize=function(e){var t,n;if(this.tainted)return console.error("You may only call normalize() once on a BrowserRange!"),!1;for(this.tainted=!0,n={},this._normalizeStart(n),this._normalizeEnd(n),t={},n.startOffset>0?n.start.nodeValue.length>n.startOffset?t.start=n.start.splitText(n.startOffset):t.start=n.start.nextSibling:t.start=n.start,n.start===n.end?(t.start.nodeValue.length>n.endOffset-n.startOffset&&t.start.splitText(n.endOffset-n.startOffset),t.end=t.start):(n.end.nodeValue.length>n.endOffset&&n.end.splitText(n.endOffset),t.end=n.end),t.commonAncestor=this.commonAncestorContainer;t.commonAncestor.nodeType!==o.NodeTypes.ELEMENT_NODE;)t.commonAncestor=t.commonAncestor.parentNode;return new r.NormalizedRange(t)},BrowserRange.prototype._normalizeStart=function(e){return this.startContainer.nodeType===o.NodeTypes.ELEMENT_NODE?(e.start=o.getFirstTextNodeNotBefore(this.startContainer.childNodes[this.startOffset]),e.startOffset=0):(e.start=this.startContainer,e.startOffset=this.startOffset)},BrowserRange.prototype._normalizeEnd=function(e){var t,n;if(this.endContainer.nodeType!==o.NodeTypes.ELEMENT_NODE)return e.end=this.endContainer,e.endOffset=this.endOffset;if(null!=(n=this.endContainer.childNodes[this.endOffset])){for(t=n;null!=t&&t.nodeType!==o.NodeTypes.TEXT_NODE;)t=t.firstChild;null!=t&&(e.end=t,e.endOffset=0)}return null==e.end?(n=this.endOffset?this.endContainer.childNodes[this.endOffset-1]:this.endContainer.previousSibling,e.end=o.getLastTextNodeUpTo(n),e.endOffset=e.end.nodeValue.length):void 0},BrowserRange.prototype.serialize=function(e,t){return this.normalize(e).serialize(e,t)},BrowserRange}(),r.NormalizedRange=function(){function NormalizedRange(e){this.commonAncestor=e.commonAncestor,this.start=e.start,this.end=e.end}return NormalizedRange.prototype.normalize=function(e){return this},NormalizedRange.prototype.limit=function(e){var n,r,o,i,a,s;if(n=t.grep(this.textNodes(),function(n){return n.parentNode===e||t.contains(e,n.parentNode)}),!n.length)return null;for(this.start=n[0],this.end=n[n.length-1],o=t(this.start).parents(),s=t(this.end).parents(),i=0,a=s.length;i<a;i++)if(r=s[i],-1!==o.index(r)){this.commonAncestor=r;break}return this},NormalizedRange.prototype.serialize=function(e,n){var a,s,u;return s=function(r,a){var s,u,l,c,f,d,h,p;for(c=n?t(r).parents(":not("+n+")").eq(0):t(r).parent(),f=i.fromNode(c,e)[0],d=o.getTextNodes(c),u=d.slice(0,d.index(r)),l=0,h=0,p=u.length;h<p;h++)s=u[h],l+=s.nodeValue.length;return a?[f,l+r.nodeValue.length]:[f,l]},u=s(this.start),a=s(this.end,!0),new r.SerializedRange({start:u[0],end:a[0],startOffset:u[1],endOffset:a[1]})},NormalizedRange.prototype.text=function(){var e;return function(){var t,n,r,o;for(r=this.textNodes(),o=[],t=0,n=r.length;t<n;t++)e=r[t],o.push(e.nodeValue);return o}.call(this).join("")},NormalizedRange.prototype.textNodes=function(){var e,n,r,i;return r=o.getTextNodes(t(this.commonAncestor)),i=[r.index(this.start),r.index(this.end)],n=i[0],e=i[1],t.makeArray(r.slice(n,+e+1||9e9))},NormalizedRange}(),r.SerializedRange=function(){function SerializedRange(e){this.start=e.start,this.startOffset=e.startOffset,this.end=e.end,this.endOffset=e.endOffset}return SerializedRange.prototype.normalize=function(e){var n,a,s,u,l,c,f,d,h,p,g,m,v,y;for(c={},v=["start","end"],h=0,g=v.length;h<g;h++){l=v[h];try{u=i.toNode(this[l],e)}catch(e){throw a=e,new r.RangeError(l,"Error while finding "+l+" node: "+this[l]+": "+a,a)}if(!u)throw new r.RangeError(l,"Couldn't find "+l+" node: "+this[l]);for(s=0,f=this[l+"Offset"],"end"===l&&(f-=1),y=o.getTextNodes(t(u)),p=0,m=y.length;p<m;p++){if(d=y[p],s+d.nodeValue.length>f){c[l+"Container"]=d,c[l+"Offset"]=this[l+"Offset"]-s;break}s+=d.nodeValue.length}if(null==c[l+"Offset"])throw new r.RangeError(l+"offset","Couldn't find offset "+this[l+"Offset"]+" in element "+this[l])}return n=null!=document.compareDocumentPosition?function(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY}:function(e,t){return e.contains(t)},t(c.startContainer).parents().each(function(){var e;if(e=c.endContainer.nodeType===o.NodeTypes.TEXT_NODE?c.endContainer.parentNode:c.endContainer,n(this,e))return c.commonAncestorContainer=this,!1}),new r.BrowserRange(c).normalize(e)},SerializedRange.prototype.serialize=function(e,t){return this.normalize(e).serialize(e,t)},SerializedRange.prototype.toObject=function(){return{start:this.start,startOffset:this.startOffset,end:this.end,endOffset:this.endOffset}},SerializedRange}(),e.exports=r}).call(this)},function(e,t){},,function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var r=n(4),o=_interopRequireDefault(r),i=n(0),a=_interopRequireDefault(i);(0,a.default)(document).ready(function(){(0,a.default)("#article").length>0&&(o.default.bind("o",function(){(0,a.default)("div#article_toolbar ul.links a.original")[0].click()}),o.default.bind("f",function(){(0,a.default)("div#article_toolbar ul.links a.favorite")[0].click()}),o.default.bind("a",function(){(0,a.default)("div#article_toolbar ul.links a.markasread")[0].click()}),o.default.bind("del",function(){(0,a.default)("div#article_toolbar ul.links a.delete")[0].click()}))})},function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var r=n(0),o=_interopRequireDefault(r),i=n(4),a=_interopRequireDefault(i);(0,o.default)(document).ready(function(){a.default.bind("s",function(){return(0,o.default)("#search").trigger("click"),(0,o.default)("#search_entry_term").focus(),!1})})},function(e,t,n){"use strict";function toggleSaveLinkForm(e,t){(0,o.default)("#add-link-result").empty();var n=(0,o.default)("#bagit"),r=(0,o.default)("#bagit-form");n.toggleClass("active-current"),0===n.length&&("undefined"!==t&&t?r.css({position:"absolute",top:t.pageY,left:t.pageX-200}):r.css({position:"relative",top:"auto",left:"auto"}));var i=(0,o.default)("#search-form"),a=(0,o.default)("#plainurl");0!==i.length&&((0,o.default)("#search").removeClass("current"),(0,o.default)("#search-arrow").removeClass("arrow-down"),i.hide()),r.toggle(),(0,o.default)("#content").toggleClass("opacity03"),"undefined"!==e&&e&&a.val(e),a.focus()}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=toggleSaveLinkForm},,,,,function(e,t){},,,,,function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var r=n(0),o=_interopRequireDefault(r);n(21),n(42),n(41);var i=n(43),a=_interopRequireDefault(i);n(48),(0,o.default)(document).ready(function(){function toggleSearch(){(0,o.default)("#search-form").toggle(),(0,o.default)("#search").toggleClass("current"),(0,o.default)("#search").toggleClass("active-current"),(0,o.default)("#search-arrow").toggleClass("arrow-down"),(0,o.default)("#search").hasClass("current")?(0,o.default)("#content").addClass("opacity03"):(0,o.default)("#content").removeClass("opacity03")}function toggleFilter(){(0,o.default)("#filters").toggle()}function toggleDownload(){(0,o.default)("#download-form").toggle()}function toggleBagit(){(0,o.default)("#bagit-form").toggle(),(0,o.default)("#bagit").toggleClass("current"),(0,o.default)("#bagit").toggleClass("active-current"),(0,o.default)("#bagit-arrow").toggleClass("arrow-down"),(0,o.default)("#bagit").hasClass("current")?(0,o.default)("#content").addClass("opacity03"):(0,o.default)("#content").removeClass("opacity03")}function closePopups(){(0,o.default)("#links .messages").hide(),(0,o.default)("#links > li > a").removeClass("active-current"),(0,o.default)("#links > li > a").removeClass("current"),(0,o.default)("[id$=-arrow]").removeClass("arrow-down"),(0,o.default)("#content").removeClass("opacity03")}(0,o.default)("#menu").click(function(){(0,o.default)("#links").toggleClass("menu--open");var e=(0,o.default)("#content");e.hasClass("opacity03")&&e.removeClass("opacity03")}),(0,o.default)("#nav-btn-add-tag").on("click",function(){return(0,o.default)(".baggy-add-tag").toggle(100),(0,o.default)(".nav-panel-menu").addClass("hidden"),(0,o.default)("#tag_label").focus(),!1}),(0,o.default)("div").is("#filters")&&((0,o.default)("#button_filters").show(),(0,o.default)("#clear_form_filters").on("click",function(){return(0,o.default)("#filters input").val(""),(0,o.default)("#filters :checked").removeAttr("checked"),!1})),window.location.href.match("&closewin=true")&&window.close(),(0,o.default)("a.closeMessage").on("click",function(){return(0,o.default)(void 0).parents("div.messages").slideUp(300,function(){(0,o.default)(void 0).remove()}),!1}),(0,o.default)("#search-form").hide(),(0,o.default)("#bagit-form").hide(),(0,o.default)("#filters").hide(),(0,o.default)("#download-form").hide(),(0,o.default)("#search").click(function(){closePopups(),toggleSearch(),(0,o.default)("#searchfield").focus()}),(0,o.default)(".filter-btn").click(function(){closePopups(),toggleFilter()}),(0,o.default)(".download-btn").click(function(){closePopups(),toggleDownload()}),(0,o.default)("#bagit").click(function(){closePopups(),toggleBagit(),(0,o.default)("#plainurl").focus()}),(0,o.default)("#search-form-close").click(function(){toggleSearch()}),(0,o.default)("#filter-form-close").click(function(){toggleFilter()}),(0,o.default)("#download-form-close").click(function(){toggleDownload()}),(0,o.default)("#bagit-form-close").click(function(){toggleBagit()});var e=(0,o.default)("#bagit-form-form");e.submit(function(t){(0,o.default)("body").css("cursor","wait"),(0,o.default)("#add-link-result").empty(),o.default.ajax({type:e.attr("method"),url:e.attr("action"),data:e.serialize(),success:function(){(0,o.default)("#add-link-result").html("Done!"),(0,o.default)("#plainurl").val("").blur(""),(0,o.default)("body").css("cursor","auto")},error:function(){(0,o.default)("#add-link-result").html("Failed!"),(0,o.default)("body").css("cursor","auto")}}),t.preventDefault()}),(0,o.default)('article a[href^="http"]').after(function(){return'<a href="'+(0,o.default)(void 0).attr("href")+'" class="add-to-wallabag-link-after" title="add to wallabag"></a>'}),(0,o.default)(".add-to-wallabag-link-after").click(function(e){(0,a.default)((0,o.default)(void 0).attr("href"),e),e.preventDefault()})})}]); \ No newline at end of file !function(e){function __webpack_require__(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,__webpack_require__),r.l=!0,r.exports}var t={};__webpack_require__.m=e,__webpack_require__.c=t,__webpack_require__.i=function(e){return e},__webpack_require__.d=function(e,t,n){__webpack_require__.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,"a",t),t},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=53)}([function(e,t,n){var r,o;!function(t,n){"object"==typeof e&&"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,i){function isArrayLike(e){var t=!!e&&"length"in e&&e.length,n=m.type(e);return"function"!==n&&!m.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function winnow(e,t,n){if(m.isFunction(t))return m.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return m.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(k.test(t))return m.filter(t,e,n);t=m.filter(t,e)}return m.grep(e,function(e){return f.call(t,e)>-1!==n})}function sibling(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function createOptions(e){var t={};return m.each(e.match(P)||[],function(e,n){t[n]=!0}),t}function completed(){s.removeEventListener("DOMContentLoaded",completed),n.removeEventListener("load",completed),m.ready()}function Data(){this.expando=m.expando+Data.uid++}function dataAttr(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(H,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:F.test(n)?m.parseJSON(n):n)}catch(e){}j.set(e,t,n)}else n=void 0;return n}function adjustCSS(e,t,n,r){var o,i=1,a=20,s=r?function(){return r.cur()}:function(){return m.css(e,t,"")},u=s(),l=n&&n[3]||(m.cssNumber[t]?"":"px"),c=(m.cssNumber[t]||"px"!==l&&+u)&&B.exec(m.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do{i=i||".5",c/=i,m.style(e,t,c+l)}while(i!==(i=s()/u)&&1!==i&&--a)}return n&&(c=+c||+u||0,o=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=o)),o}function getAll(e,t){var n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&m.nodeName(e,t)?m.merge([e],n):n}function setGlobalEval(e,t){for(var n=0,r=e.length;n<r;n++)R.set(e[n],"globalEval",!t||R.get(t[n],"globalEval"))}function buildFragment(e,t,n,r,o){for(var i,a,s,u,l,c,f=t.createDocumentFragment(),d=[],h=0,p=e.length;h<p;h++)if((i=e[h])||0===i)if("object"===m.type(i))m.merge(d,i.nodeType?[i]:i);else if(V.test(i)){for(a=a||f.appendChild(t.createElement("div")),s=(U.exec(i)||["",""])[1].toLowerCase(),u=X[s]||X._default,a.innerHTML=u[1]+m.htmlPrefilter(i)+u[2],c=u[0];c--;)a=a.lastChild;m.merge(d,a.childNodes),a=f.firstChild,a.textContent=""}else d.push(t.createTextNode(i));for(f.textContent="",h=0;i=d[h++];)if(r&&m.inArray(i,r)>-1)o&&o.push(i);else if(l=m.contains(i.ownerDocument,i),a=getAll(f.appendChild(i),"script"),l&&setGlobalEval(a),n)for(c=0;i=a[c++];)$.test(i.type||"")&&n.push(i);return f}function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return s.activeElement}catch(e){}}function on(e,t,n,r,o,i){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)on(e,s,n,r,t[s],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),!1===o)o=returnFalse;else if(!o)return e;return 1===i&&(a=o,o=function(e){return m().off(e),a.apply(this,arguments)},o.guid=a.guid||(a.guid=m.guid++)),e.each(function(){m.event.add(this,t,o,r,n)})}function manipulationTarget(e,t){return m.nodeName(e,"table")&&m.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function disableScript(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function restoreScript(e){var t=ee.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function cloneCopyEvent(e,t){var n,r,o,i,a,s,u,l;if(1===t.nodeType){if(R.hasData(e)&&(i=R.access(e),a=R.set(t,i),l=i.events)){delete a.handle,a.events={};for(o in l)for(n=0,r=l[o].length;n<r;n++)m.event.add(t,o,l[o][n])}j.hasData(e)&&(s=j.access(e),u=m.extend({},s),j.set(t,u))}}function fixInput(e,t){var n=t.nodeName.toLowerCase();"input"===n&&W.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function domManip(e,t,n,r){t=l.apply([],t);var o,i,a,s,u,c,f=0,d=e.length,h=d-1,p=t[0],v=m.isFunction(p);if(v||d>1&&"string"==typeof p&&!g.checkClone&&Z.test(p))return e.each(function(o){var i=e.eq(o);v&&(t[0]=p.call(this,o,i.html())),domManip(i,t,n,r)});if(d&&(o=buildFragment(t,e[0].ownerDocument,!1,e,r),i=o.firstChild,1===o.childNodes.length&&(o=i),i||r)){for(a=m.map(getAll(o,"script"),disableScript),s=a.length;f<d;f++)u=o,f!==h&&(u=m.clone(u,!0,!0),s&&m.merge(a,getAll(u,"script"))),n.call(e[f],u,f);if(s)for(c=a[a.length-1].ownerDocument,m.map(a,restoreScript),f=0;f<s;f++)u=a[f],$.test(u.type||"")&&!R.access(u,"globalEval")&&m.contains(c,u)&&(u.src?m._evalUrl&&m._evalUrl(u.src):m.globalEval(u.textContent.replace(te,"")))}return e}function remove(e,t,n){for(var r,o=t?m.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||m.cleanData(getAll(r)),r.parentNode&&(n&&m.contains(r.ownerDocument,r)&&setGlobalEval(getAll(r,"script")),r.parentNode.removeChild(r));return e}function actualDisplay(e,t){var n=m(t.createElement(e)).appendTo(t.body),r=m.css(n[0],"display");return n.detach(),r}function defaultDisplay(e){var t=s,n=re[e];return n||(n=actualDisplay(e,t),"none"!==n&&n||(ne=(ne||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=ne[0].contentDocument,t.write(),t.close(),n=actualDisplay(e,t),ne.detach()),re[e]=n),n}function curCSS(e,t,n){var r,o,i,a,s=e.style;return n=n||ae(e),a=n?n.getPropertyValue(t)||n[t]:void 0,""!==a&&void 0!==a||m.contains(e.ownerDocument,e)||(a=m.style(e,t)),n&&!g.pixelMarginRight()&&ie.test(a)&&oe.test(t)&&(r=s.width,o=s.minWidth,i=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=o,s.maxWidth=i),void 0!==a?a+"":a}function addGetHookIf(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function vendorPropName(e){if(e in he)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=de.length;n--;)if((e=de[n]+t)in he)return e}function setPositiveNumber(e,t,n){var r=B.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function augmentWidthOrHeight(e,t,n,r,o){for(var i=n===(r?"border":"content")?4:"width"===t?1:0,a=0;i<4;i+=2)"margin"===n&&(a+=m.css(e,n+z[i],!0,o)),r?("content"===n&&(a-=m.css(e,"padding"+z[i],!0,o)),"margin"!==n&&(a-=m.css(e,"border"+z[i]+"Width",!0,o))):(a+=m.css(e,"padding"+z[i],!0,o),"padding"!==n&&(a+=m.css(e,"border"+z[i]+"Width",!0,o)));return a}function getWidthOrHeight(e,t,n){var r=!0,o="width"===t?e.offsetWidth:e.offsetHeight,i=ae(e),a="border-box"===m.css(e,"boxSizing",!1,i);if(o<=0||null==o){if(o=curCSS(e,t,i),(o<0||null==o)&&(o=e.style[t]),ie.test(o))return o;r=a&&(g.boxSizingReliable()||o===e.style[t]),o=parseFloat(o)||0}return o+augmentWidthOrHeight(e,t,n||(a?"border":"content"),r,i)+"px"}function showHide(e,t){for(var n,r,o,i=[],a=0,s=e.length;a<s;a++)r=e[a],r.style&&(i[a]=R.get(r,"olddisplay"),n=r.style.display,t?(i[a]||"none"!==n||(r.style.display=""),""===r.style.display&&I(r)&&(i[a]=R.access(r,"olddisplay",defaultDisplay(r.nodeName)))):(o=I(r),"none"===n&&o||R.set(r,"olddisplay",o?n:m.css(r,"display"))));for(a=0;a<s;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?i[a]||"":"none"));return e}function Tween(e,t,n,r,o){return new Tween.prototype.init(e,t,n,r,o)}function createFxNow(){return n.setTimeout(function(){pe=void 0}),pe=m.now()}function genFx(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)n=z[r],o["margin"+n]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function createTween(e,t,n){for(var r,o=(Animation.tweeners[t]||[]).concat(Animation.tweeners["*"]),i=0,a=o.length;i<a;i++)if(r=o[i].call(n,t,e))return r}function defaultPrefilter(e,t,n){var r,o,i,a,s,u,l,c=this,f={},d=e.style,h=e.nodeType&&I(e),p=R.get(e,"fxshow");n.queue||(s=m._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,u=s.empty.fire,s.empty.fire=function(){s.unqueued||u()}),s.unqueued++,c.always(function(){c.always(function(){s.unqueued--,m.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],l=m.css(e,"display"),"inline"===("none"===l?R.get(e,"olddisplay")||defaultDisplay(e.nodeName):l)&&"none"===m.css(e,"float")&&(d.display="inline-block")),n.overflow&&(d.overflow="hidden",c.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(r in t)if(o=t[r],me.exec(o)){if(delete t[r],i=i||"toggle"===o,o===(h?"hide":"show")){if("show"!==o||!p||void 0===p[r])continue;h=!0}f[r]=p&&p[r]||m.style(e,r)}else l=void 0;if(m.isEmptyObject(f))"inline"===("none"===l?defaultDisplay(e.nodeName):l)&&(d.display=l);else{p?"hidden"in p&&(h=p.hidden):p=R.access(e,"fxshow",{}),i&&(p.hidden=!h),h?m(e).show():c.done(function(){m(e).hide()}),c.done(function(){var t;R.remove(e,"fxshow");for(t in f)m.style(e,t,f[t])});for(r in f)a=createTween(h?p[r]:0,r,c),r in p||(p[r]=a.start,h&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function propFilter(e,t){var n,r,o,i,a;for(n in e)if(r=m.camelCase(n),o=t[r],i=e[n],m.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),(a=m.cssHooks[r])&&"expand"in a){i=a.expand(i),delete e[r];for(n in i)n in e||(e[n]=i[n],t[n]=o)}else t[r]=o}function Animation(e,t,n){var r,o,i=0,a=Animation.prefilters.length,s=m.Deferred().always(function(){delete u.elem}),u=function(){if(o)return!1;for(var t=pe||createFxNow(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,i=1-r,a=0,u=l.tweens.length;a<u;a++)l.tweens[a].run(i);return s.notifyWith(e,[l,i,n]),i<1&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:m.extend({},t),opts:m.extend(!0,{specialEasing:{},easing:m.easing._default},n),originalProperties:t,originalOptions:n,startTime:pe||createFxNow(),duration:n.duration,tweens:[],createTween:function(t,n){var r=m.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(o)return this;for(o=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(propFilter(c,l.opts.specialEasing);i<a;i++)if(r=Animation.prefilters[i].call(l,e,c,l.opts))return m.isFunction(r.stop)&&(m._queueHooks(l.elem,l.opts.queue).stop=m.proxy(r.stop,r)),r;return m.map(c,createTween,l),m.isFunction(l.opts.start)&&l.opts.start.call(e,l),m.fx.timer(m.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function getClass(e){return e.getAttribute&&e.getAttribute("class")||""}function addToPrefiltersOrTransports(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(P)||[];if(m.isFunction(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function inspectPrefiltersOrTransports(e,t,n,r){function inspect(a){var s;return o[a]=!0,m.each(e[a]||[],function(e,a){var u=a(t,n,r);return"string"!=typeof u||i||o[u]?i?!(s=u):void 0:(t.dataTypes.unshift(u),inspect(u),!1)}),s}var o={},i=e===je;return inspect(t.dataTypes[0])||!o["*"]&&inspect("*")}function ajaxExtend(e,t){var n,r,o=m.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&m.extend(!0,e,r),e}function ajaxHandleResponses(e,t,n){for(var r,o,i,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in s)if(s[o]&&s[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}a||(a=o)}i=i||a}if(i)return i!==u[0]&&u.unshift(i),n[i]}function ajaxConvert(e,t,n,r){var o,i,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(i=c.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=c.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(!(a=l[u+" "+i]||l["* "+i]))for(o in l)if(s=o.split(" "),s[1]===i&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[o]:!0!==l[o]&&(i=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}function buildParams(e,t,n,r){var o;if(m.isArray(t))m.each(t,function(t,o){n||Be.test(e)?r(e,o):buildParams(e+"["+("object"==typeof o&&null!=o?t:"")+"]",o,n,r)});else if(n||"object"!==m.type(t))r(e,t);else for(o in t)buildParams(e+"["+o+"]",t[o],n,r)}function getWindow(e){return m.isWindow(e)?e:9===e.nodeType&&e.defaultView}var a=[],s=n.document,u=a.slice,l=a.concat,c=a.push,f=a.indexOf,d={},h=d.toString,p=d.hasOwnProperty,g={},m=function(e,t){return new m.fn.init(e,t)},v=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,y=/^-ms-/,w=/-([\da-z])/gi,b=function(e,t){return t.toUpperCase()};m.fn=m.prototype={jquery:"2.2.4",constructor:m,selector:"",length:0,toArray:function(){return u.call(this)},get:function(e){return null!=e?e<0?this[e+this.length]:this[e]:u.call(this)},pushStack:function(e){var t=m.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e){return m.each(this,e)},map:function(e){return this.pushStack(m.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(u.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:c,sort:a.sort,splice:a.splice},m.extend=m.fn.extend=function(){var e,t,n,r,o,i,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m.isFunction(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],r=e[t],a!==r&&(l&&r&&(m.isPlainObject(r)||(o=m.isArray(r)))?(o?(o=!1,i=n&&m.isArray(n)?n:[]):i=n&&m.isPlainObject(n)?n:{},a[t]=m.extend(l,i,r)):void 0!==r&&(a[t]=r));return a},m.extend({expando:"jQuery"+("2.2.4"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===m.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=e&&e.toString();return!m.isArray(e)&&t-parseFloat(t)+1>=0},isPlainObject:function(e){var t;if("object"!==m.type(e)||e.nodeType||m.isWindow(e))return!1;if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype||{},"isPrototypeOf"))return!1;for(t in e);return void 0===t||p.call(e,t)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?d[h.call(e)]||"object":typeof e},globalEval:function(e){var t,n=eval;(e=m.trim(e))&&(1===e.indexOf("use strict")?(t=s.createElement("script"),t.text=e,s.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(y,"ms-").replace(w,b)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,r=0;if(isArrayLike(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(v,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(isArrayLike(Object(e))?m.merge(n,"string"==typeof e?[e]:e):c.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:f.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r=[],o=0,i=e.length,a=!n;o<i;o++)!t(e[o],o)!==a&&r.push(e[o]);return r},map:function(e,t,n){var r,o,i=0,a=[];if(isArrayLike(e))for(r=e.length;i<r;i++)null!=(o=t(e[i],i,n))&&a.push(o);else for(i in e)null!=(o=t(e[i],i,n))&&a.push(o);return l.apply([],a)},guid:1,proxy:function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),m.isFunction(e))return r=u.call(arguments,2),o=function(){return e.apply(t||this,r.concat(u.call(arguments)))},o.guid=e.guid=e.guid||m.guid++,o},now:Date.now,support:g}),"function"==typeof Symbol&&(m.fn[Symbol.iterator]=a[Symbol.iterator]),m.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){d["[object "+t+"]"]=t.toLowerCase()});var x=function(e){function Sizzle(e,t,r,o){var i,s,l,c,f,p,v,y,T=t&&t.ownerDocument,C=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==C&&9!==C&&11!==C)return r;if(!o&&((t?t.ownerDocument||t:x)!==h&&d(t),t=t||h,g)){if(11!==C&&(p=J.exec(e)))if(i=p[1]){if(9===C){if(!(l=t.getElementById(i)))return r;if(l.id===i)return r.push(l),r}else if(T&&(l=T.getElementById(i))&&w(t,l)&&l.id===i)return r.push(l),r}else{if(p[2])return L.apply(r,t.getElementsByTagName(e)),r;if((i=p[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(i)),r}if(n.qsa&&!k[e+" "]&&(!m||!m.test(e))){if(1!==C)T=t,y=e;else if("object"!==t.nodeName.toLowerCase()){for((c=t.getAttribute("id"))?c=c.replace(ee,"\\$&"):t.setAttribute("id",c=b),v=a(e),s=v.length,f=V.test(c)?"#"+c:"[id='"+c+"']";s--;)v[s]=f+" "+toSelector(v[s]);y=v.join(","),T=Z.test(e)&&testContext(t.parentNode)||t}if(y)try{return L.apply(r,T.querySelectorAll(y)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(I,"$1"),t,r,o)}function createCache(){function cache(t,n){return e.push(t+" ")>r.cacheLength&&delete cache[e.shift()],cache[t+" "]=n}var e=[];return cache}function markFunction(e){return e[b]=!0,e}function assert(e){var t=h.createElement("div");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function addHandle(e,t){for(var n=e.split("|"),o=n.length;o--;)r.attrHandle[n[o]]=t}function siblingCheck(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||A)-(~e.sourceIndex||A);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function createPositionalPseudo(e){return markFunction(function(t){return t=+t,markFunction(function(n,r){for(var o,i=e([],n.length,t),a=i.length;a--;)n[o=i[a]]&&(n[o]=!(r[o]=n[o]))})})}function testContext(e){return e&&void 0!==e.getElementsByTagName&&e}function setFilters(){}function toSelector(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function addCombinator(e,t,n){var r=t.dir,o=n&&"parentNode"===r,i=C++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,a){var s,u,l,c=[T,i];if(a){for(;t=t[r];)if((1===t.nodeType||o)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||o){if(l=t[b]||(t[b]={}),u=l[t.uniqueID]||(l[t.uniqueID]={}),(s=u[r])&&s[0]===T&&s[1]===i)return c[2]=s[2];if(u[r]=c,c[2]=e(t,n,a))return!0}}}function elementMatcher(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function multipleContexts(e,t,n){for(var r=0,o=t.length;r<o;r++)Sizzle(e,t[r],n);return n}function condense(e,t,n,r,o){for(var i,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(i=e[s])&&(n&&!n(i,r,o)||(a.push(i),l&&t.push(s)));return a}function setMatcher(e,t,n,r,o,i){return r&&!r[b]&&(r=setMatcher(r)),o&&!o[b]&&(o=setMatcher(o,i)),markFunction(function(i,a,s,u){var l,c,f,d=[],h=[],p=a.length,g=i||multipleContexts(t||"*",s.nodeType?[s]:s,[]),m=!e||!i&&t?g:condense(g,d,e,s,u),v=n?o||(i?e:p||r)?[]:a:m;if(n&&n(m,v,s,u),r)for(l=condense(v,h),r(l,[],s,u),c=l.length;c--;)(f=l[c])&&(v[h[c]]=!(m[h[c]]=f));if(i){if(o||e){if(o){for(l=[],c=v.length;c--;)(f=v[c])&&l.push(m[c]=f);o(null,v=[],l,u)}for(c=v.length;c--;)(f=v[c])&&(l=o?R(i,f):d[c])>-1&&(i[l]=!(a[l]=f))}}else v=condense(v===a?v.splice(p,v.length):v),o?o(null,a,v,u):L.apply(a,v)})}function matcherFromTokens(e){for(var t,n,o,i=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=addCombinator(function(e){return e===t},s,!0),f=addCombinator(function(e){return R(t,e)>-1},s,!0),d=[function(e,n,r){var o=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,o}];u<i;u++)if(n=r.relative[e[u].type])d=[addCombinator(elementMatcher(d),n)];else{if(n=r.filter[e[u].type].apply(null,e[u].matches),n[b]){for(o=++u;o<i&&!r.relative[e[o].type];o++);return setMatcher(u>1&&elementMatcher(d),u>1&&toSelector(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(I,"$1"),n,u<o&&matcherFromTokens(e.slice(u,o)),o<i&&matcherFromTokens(e=e.slice(o)),o<i&&toSelector(e))}d.push(n)}return elementMatcher(d)}function matcherFromGroupMatchers(e,t){var n=t.length>0,o=e.length>0,i=function(i,a,s,u,c){var f,p,m,v=0,y="0",w=i&&[],b=[],x=l,C=i||o&&r.find.TAG("*",c),_=T+=null==x?1:Math.random()||.1,E=C.length;for(c&&(l=a===h||a||c);y!==E&&null!=(f=C[y]);y++){if(o&&f){for(p=0,a||f.ownerDocument===h||(d(f),s=!g);m=e[p++];)if(m(f,a||h,s)){u.push(f);break}c&&(T=_)}n&&((f=!m&&f)&&v--,i&&w.push(f))}if(v+=y,n&&y!==v){for(p=0;m=t[p++];)m(w,b,a,s);if(i){if(v>0)for(;y--;)w[y]||b[y]||(b[y]=P.call(u));b=condense(b)}L.apply(u,b),c&&!i&&b.length>0&&v+t.length>1&&Sizzle.uniqueSort(u)}return c&&(T=_,l=x),w};return n?markFunction(i):i}var t,n,r,o,i,a,s,u,l,c,f,d,h,p,g,m,v,y,w,b="sizzle"+1*new Date,x=e.document,T=0,C=0,_=createCache(),E=createCache(),k=createCache(),S=function(e,t){return e===t&&(f=!0),0},A=1<<31,N={}.hasOwnProperty,D=[],P=D.pop,O=D.push,L=D.push,M=D.slice,R=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},j="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",F="[\\x20\\t\\r\\n\\f]",H="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",q="\\["+F+"*("+H+")(?:"+F+"*([*^$|!~]?=)"+F+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+H+"))|)"+F+"*\\]",B=":("+H+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+q+")*)|.*)\\)|)",z=new RegExp(F+"+","g"),I=new RegExp("^"+F+"+|((?:^|[^\\\\])(?:\\\\.)*)"+F+"+$","g"),W=new RegExp("^"+F+"*,"+F+"*"),U=new RegExp("^"+F+"*([>+~]|"+F+")"+F+"*"),$=new RegExp("="+F+"*([^\\]'\"]*?)"+F+"*\\]","g"),X=new RegExp(B),V=new RegExp("^"+H+"$"),Y={ID:new RegExp("^#("+H+")"),CLASS:new RegExp("^\\.("+H+")"),TAG:new RegExp("^("+H+"|[*])"),ATTR:new RegExp("^"+q),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+F+"*(even|odd|(([+-]|)(\\d*)n|)"+F+"*(?:([+-]|)"+F+"*(\\d+)|))"+F+"*\\)|)","i"),bool:new RegExp("^(?:"+j+")$","i"),needsContext:new RegExp("^"+F+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+F+"*((?:-\\d)?\\d*)"+F+"*\\)|)(?=[^-]|$)","i")},K=/^(?:input|select|textarea|button)$/i,G=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/[+~]/,ee=/'|\\/g,te=new RegExp("\\\\([\\da-f]{1,6}"+F+"?|("+F+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=function(){d()};try{L.apply(D=M.call(x.childNodes),x.childNodes),D[x.childNodes.length].nodeType}catch(e){L={apply:D.length?function(e,t){O.apply(e,M.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}n=Sizzle.support={},i=Sizzle.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},d=Sizzle.setDocument=function(e){var t,o,a=e?e.ownerDocument||e:x;return a!==h&&9===a.nodeType&&a.documentElement?(h=a,p=h.documentElement,g=!i(h),(o=h.defaultView)&&o.top!==o&&(o.addEventListener?o.addEventListener("unload",re,!1):o.attachEvent&&o.attachEvent("onunload",re)),n.attributes=assert(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=assert(function(e){return e.appendChild(h.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(h.getElementsByClassName),n.getById=assert(function(e){return p.appendChild(e).id=b,!h.getElementsByName||!h.getElementsByName(b).length}),n.getById?(r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}},r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}}):(delete r.find.ID,r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],m=[],(n.qsa=Q.test(h.querySelectorAll))&&(assert(function(e){p.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+F+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\["+F+"*(?:value|"+j+")"),e.querySelectorAll("[id~="+b+"-]").length||m.push("~="),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||m.push(".#.+[+~]")}),assert(function(e){var t=h.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name"+F+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")})),(n.matchesSelector=Q.test(y=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&assert(function(e){n.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),v.push("!=",B)}),m=m.length&&new RegExp(m.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(p.compareDocumentPosition),w=t||Q.test(p.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},S=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&r||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===h||e.ownerDocument===x&&w(x,e)?-1:t===h||t.ownerDocument===x&&w(x,t)?1:c?R(c,e)-R(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],s=[t];if(!o||!i)return e===h?-1:t===h?1:o?-1:i?1:c?R(c,e)-R(c,t):0;if(o===i)return siblingCheck(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?siblingCheck(a[r],s[r]):a[r]===x?-1:s[r]===x?1:0},h):h},Sizzle.matches=function(e,t){return Sizzle(e,null,null,t)},Sizzle.matchesSelector=function(e,t){if((e.ownerDocument||e)!==h&&d(e),t=t.replace($,"='$1']"),n.matchesSelector&&g&&!k[t+" "]&&(!v||!v.test(t))&&(!m||!m.test(t)))try{var r=y.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return Sizzle(t,h,null,[e]).length>0},Sizzle.contains=function(e,t){return(e.ownerDocument||e)!==h&&d(e),w(e,t)},Sizzle.attr=function(e,t){(e.ownerDocument||e)!==h&&d(e);var o=r.attrHandle[t.toLowerCase()],i=o&&N.call(r.attrHandle,t.toLowerCase())?o(e,t,!g):void 0;return void 0!==i?i:n.attributes||!g?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},Sizzle.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},Sizzle.uniqueSort=function(e){var t,r=[],o=0,i=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(S),f){for(;t=e[i++];)t===e[i]&&(o=r.push(i));for(;o--;)e.splice(r[o],1)}return c=null,e},o=Sizzle.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++];)n+=o(t);return n},r=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:Y,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(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||Sizzle.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]&&Sizzle.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Y.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=_[e+" "];return t||(t=new RegExp("(^|"+F+")"+e+"("+F+"|$)"))&&_(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var o=Sizzle.attr(r,e);return null==o?"!="===t:!t||(o+="","="===t?o===n:"!="===t?o!==n:"^="===t?n&&0===o.indexOf(n):"*="===t?n&&o.indexOf(n)>-1:"$="===t?n&&o.slice(-n.length)===n:"~="===t?(" "+o.replace(z," ")+" ").indexOf(n)>-1:"|="===t&&(o===n||o.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,h,p,g=i!==a?"nextSibling":"previousSibling",m=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!u&&!s,w=!1;if(m){if(i){for(;g;){for(d=t;d=d[g];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;p=g="only"===e&&!p&&"nextSibling"}return!0}if(p=[a?m.firstChild:m.lastChild],a&&y){for(d=m,f=d[b]||(d[b]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],h=l[0]===T&&l[1],w=h&&l[2],d=h&&m.childNodes[h];d=++h&&d&&d[g]||(w=h=0)||p.pop();)if(1===d.nodeType&&++w&&d===t){c[e]=[T,h,w];break}}else if(y&&(d=t,f=d[b]||(d[b]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],h=l[0]===T&&l[1],w=h),!1===w)for(;(d=++h&&d&&d[g]||(w=h=0)||p.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++w||(y&&(f=d[b]||(d[b]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),c[e]=[T,w]),d!==t)););return(w-=o)===r||w%r==0&&w/r>=0}}},PSEUDO:function(e,t){var n,o=r.pseudos[e]||r.setFilters[e.toLowerCase()]||Sizzle.error("unsupported pseudo: "+e);return o[b]?o(t):o.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?markFunction(function(e,n){for(var r,i=o(e,t),a=i.length;a--;)r=R(e,i[a]),e[r]=!(n[r]=i[a])}):function(e){return o(e,0,n)}):o}},pseudos:{not:markFunction(function(e){var t=[],n=[],r=s(e.replace(I,"$1"));return r[b]?markFunction(function(e,t,n,o){for(var i,a=r(e,null,o,[]),s=e.length;s--;)(i=a[s])&&(e[s]=!(t[s]=i))}):function(e,o,i){return t[0]=e,r(t,null,i,n),t[0]=null,!n.pop()}}),has:markFunction(function(e){return function(t){return Sizzle(e,t).length>0}}),contains:markFunction(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:markFunction(function(e){return V.test(e||"")||Sizzle.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===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===p},focus:function(e){return e===h.activeElement&&(!h.hasFocus||h.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return!1===e.disabled},disabled:function(e){return!0===e.disabled},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,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return G.test(e.nodeName)},input:function(e){return K.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"))||"text"===t.toLowerCase())},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(e,t){return[t-1]}),eq:createPositionalPseudo(function(e,t,n){return[n<0?n+t:n]}),even:createPositionalPseudo(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:createPositionalPseudo(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:createPositionalPseudo(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:createPositionalPseudo(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},r.pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=function(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=function(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}(t);return setFilters.prototype=r.filters=r.pseudos,r.setFilters=new setFilters,a=Sizzle.tokenize=function(e,t){var n,o,i,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);for(s=e,u=[],l=r.preFilter;s;){n&&!(o=W.exec(s))||(o&&(s=s.slice(o[0].length)||s),u.push(i=[])),n=!1,(o=U.exec(s))&&(n=o.shift(),i.push({value:n,type:o[0].replace(I," ")}),s=s.slice(n.length));for(a in r.filter)!(o=Y[a].exec(s))||l[a]&&!(o=l[a](o))||(n=o.shift(),i.push({value:n,type:a,matches:o}),s=s.slice(n.length));if(!n)break}return t?s.length:s?Sizzle.error(e):E(e,u).slice(0)},s=Sizzle.compile=function(e,t){var n,r=[],o=[],i=k[e+" "];if(!i){for(t||(t=a(e)),n=t.length;n--;)i=matcherFromTokens(t[n]),i[b]?r.push(i):o.push(i);i=k(e,matcherFromGroupMatchers(o,r)),i.selector=e}return i},u=Sizzle.select=function(e,t,o,i){var u,l,c,f,d,h="function"==typeof e&&e,p=!i&&a(e=h.selector||e);if(o=o||[],1===p.length){if(l=p[0]=p[0].slice(0),l.length>2&&"ID"===(c=l[0]).type&&n.getById&&9===t.nodeType&&g&&r.relative[l[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(te,ne),t)||[])[0]))return o;h&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(u=Y.needsContext.test(e)?0:l.length;u--&&(c=l[u],!r.relative[f=c.type]);)if((d=r.find[f])&&(i=d(c.matches[0].replace(te,ne),Z.test(l[0].type)&&testContext(t.parentNode)||t))){if(l.splice(u,1),!(e=i.length&&toSelector(l)))return L.apply(o,i),o;break}}return(h||s(e,p))(i,t,!g,o,!t||Z.test(e)&&testContext(t.parentNode)||t),o},n.sortStable=b.split("").sort(S).join("")===b,n.detectDuplicates=!!f,d(),n.sortDetached=assert(function(e){return 1&e.compareDocumentPosition(h.createElement("div"))}),assert(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||addHandle("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&assert(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||addHandle("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),assert(function(e){return null==e.getAttribute("disabled")})||addHandle(j,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),Sizzle}(n);m.find=x,m.expr=x.selectors,m.expr[":"]=m.expr.pseudos,m.uniqueSort=m.unique=x.uniqueSort,m.text=x.getText,m.isXMLDoc=x.isXML,m.contains=x.contains;var T=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&m(e).is(n))break;r.push(e)}return r},C=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},_=m.expr.match.needsContext,E=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,k=/^.[^:#\[\.,]*$/;m.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?m.find.matchesSelector(r,e)?[r]:[]:m.find.matches(e,m.grep(t,function(e){return 1===e.nodeType}))},m.fn.extend({find:function(e){var t,n=this.length,r=[],o=this;if("string"!=typeof e)return this.pushStack(m(e).filter(function(){for(t=0;t<n;t++)if(m.contains(o[t],this))return!0}));for(t=0;t<n;t++)m.find(e,o[t],r);return r=this.pushStack(n>1?m.unique(r):r),r.selector=this.selector?this.selector+" "+e:e,r},filter:function(e){return this.pushStack(winnow(this,e||[],!1))},not:function(e){return this.pushStack(winnow(this,e||[],!0))},is:function(e){return!!winnow(this,"string"==typeof e&&_.test(e)?m(e):e||[],!1).length}});var S,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(m.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||S,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:A.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof m?t[0]:t,m.merge(this,m.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:s,!0)),E.test(r[1])&&m.isPlainObject(t))for(r in t)m.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=s.getElementById(r[2]),o&&o.parentNode&&(this.length=1,this[0]=o),this.context=s,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):m.isFunction(e)?void 0!==n.ready?n.ready(e):e(m):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),m.makeArray(e,this))}).prototype=m.fn,S=m(s);var N=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};m.fn.extend({has:function(e){var t=m(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(m.contains(this,t[e]))return!0})},closest:function(e,t){for(var n,r=0,o=this.length,i=[],a=_.test(e)||"string"!=typeof e?m(e,t||this.context):0;r<o;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&m.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?m.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?f.call(m(e),this[0]):f.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(m.uniqueSort(m.merge(this.get(),m(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),m.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return sibling(e,"nextSibling")},prev:function(e){return sibling(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return C((e.parentNode||{}).firstChild,e)},children:function(e){return C(e.firstChild)},contents:function(e){return e.contentDocument||m.merge([],e.childNodes)}},function(e,t){m.fn[e]=function(n,r){var o=m.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=m.filter(r,o)),this.length>1&&(D[e]||m.uniqueSort(o),N.test(e)&&o.reverse()),this.pushStack(o)}});var P=/\S+/g;m.Callbacks=function(e){e="string"==typeof e?createOptions(e):m.extend({},e);var t,n,r,o,i=[],a=[],s=-1,u=function(){for(o=e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s<i.length;)!1===i[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:"")},l={add:function(){return i&&(n&&!t&&(s=i.length-1,a.push(n)),function add(t){m.each(t,function(t,n){m.isFunction(n)?e.unique&&l.has(n)||i.push(n):n&&n.length&&"string"!==m.type(n)&&add(n)})}(arguments),n&&!t&&u()),this},remove:function(){return m.each(arguments,function(e,t){for(var n;(n=m.inArray(t,i,n))>-1;)i.splice(n,1),n<=s&&s--}),this},has:function(e){return e?m.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},m.extend({Deferred:function(e){var t=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return o.done(arguments).fail(arguments),this},then:function(){var e=arguments;return m.Deferred(function(n){m.each(t,function(t,i){var a=m.isFunction(e[t])&&e[t];o[i[1]](function(){var e=a&&a.apply(this,arguments);e&&m.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[i[0]+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?m.extend(e,r):r}},o={};return r.pipe=r.then,m.each(t,function(e,i){var a=i[2],s=i[3];r[i[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),o[i[0]]=function(){return o[i[0]+"With"](this===o?r:this,arguments),this},o[i[0]+"With"]=a.fireWith}),r.promise(o),e&&e.call(o,o),o},when:function(e){var t,n,r,o=0,i=u.call(arguments),a=i.length,s=1!==a||e&&m.isFunction(e.promise)?a:0,l=1===s?e:m.Deferred(),c=function(e,n,r){return function(o){n[e]=this,r[e]=arguments.length>1?u.call(arguments):o,r===t?l.notifyWith(n,r):--s||l.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);o<a;o++)i[o]&&m.isFunction(i[o].promise)?i[o].promise().progress(c(o,n,t)).done(c(o,r,i)).fail(l.reject):--s;return s||l.resolveWith(r,i),l.promise()}});var O;m.fn.ready=function(e){return m.ready.promise().done(e),this},m.extend({isReady:!1,readyWait:1,holdReady:function(e){e?m.readyWait++:m.ready(!0)},ready:function(e){(!0===e?--m.readyWait:m.isReady)||(m.isReady=!0,!0!==e&&--m.readyWait>0||(O.resolveWith(s,[m]),m.fn.triggerHandler&&(m(s).triggerHandler("ready"),m(s).off("ready"))))}}),m.ready.promise=function(e){return O||(O=m.Deferred(),"complete"===s.readyState||"loading"!==s.readyState&&!s.documentElement.doScroll?n.setTimeout(m.ready):(s.addEventListener("DOMContentLoaded",completed),n.addEventListener("load",completed))),O.promise(e)},m.ready.promise();var L=function(e,t,n,r,o,i,a){var s=0,u=e.length,l=null==n;if("object"===m.type(n)){o=!0;for(s in n)L(e,t,s,n[s],!0,i,a)}else if(void 0!==r&&(o=!0,m.isFunction(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(m(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return o?e:l?t.call(e):u?t(e[0],n):i},M=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};Data.uid=1,Data.prototype={register:function(e,t){var n=t||{};return e.nodeType?e[this.expando]=n:Object.defineProperty(e,this.expando,{value:n,writable:!0,configurable:!0}),e[this.expando]},cache:function(e){if(!M(e))return{};var t=e[this.expando];return t||(t={},M(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[t]=n;else for(r in t)o[r]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][t]},access:function(e,t,n){var r;return void 0===t||t&&"string"==typeof t&&void 0===n?(r=this.get(e,t),void 0!==r?r:this.get(e,m.camelCase(t))):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r,o,i=e[this.expando];if(void 0!==i){if(void 0===t)this.register(e);else{m.isArray(t)?r=t.concat(t.map(m.camelCase)):(o=m.camelCase(t),t in i?r=[t,o]:(r=o,r=r in i?[r]:r.match(P)||[])),n=r.length;for(;n--;)delete i[r[n]]}(void 0===t||m.isEmptyObject(i))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!m.isEmptyObject(t)}};var R=new Data,j=new Data,F=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,H=/[A-Z]/g;m.extend({hasData:function(e){return j.hasData(e)||R.hasData(e)},data:function(e,t,n){return j.access(e,t,n)},removeData:function(e,t){j.remove(e,t)},_data:function(e,t,n){return R.access(e,t,n)},_removeData:function(e,t){R.remove(e,t)}}),m.fn.extend({data:function(e,t){var n,r,o,i=this[0],a=i&&i.attributes;if(void 0===e){if(this.length&&(o=j.get(i),1===i.nodeType&&!R.get(i,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=m.camelCase(r.slice(5)),dataAttr(i,r,o[r])));R.set(i,"hasDataAttrs",!0)}return o}return"object"==typeof e?this.each(function(){j.set(this,e)}):L(this,function(t){var n,r;if(i&&void 0===t){if(void 0!==(n=j.get(i,e)||j.get(i,e.replace(H,"-$&").toLowerCase())))return n;if(r=m.camelCase(e),void 0!==(n=j.get(i,r)))return n;if(void 0!==(n=dataAttr(i,r,void 0)))return n}else r=m.camelCase(e),this.each(function(){var n=j.get(this,r);j.set(this,r,t),e.indexOf("-")>-1&&void 0!==n&&j.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){j.remove(this,e)})}}),m.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=R.get(e,t),n&&(!r||m.isArray(n)?r=R.access(e,t,m.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=m.queue(e,t),r=n.length,o=n.shift(),i=m._queueHooks(e,t),a=function(){m.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,a,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return R.get(e,n)||R.access(e,n,{empty:m.Callbacks("once memory").add(function(){R.remove(e,[t+"queue",n])})})}}),m.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?m.queue(this[0],e):void 0===t?this:this.each(function(){var n=m.queue(this,e,t);m._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&m.dequeue(this,e)})},dequeue:function(e){return this.each(function(){m.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,o=m.Deferred(),i=this,a=this.length,s=function(){--r||o.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=R.get(i[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),o.promise(t)}});var q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,B=new RegExp("^(?:([+-])=|)("+q+")([a-z%]*)$","i"),z=["Top","Right","Bottom","Left"],I=function(e,t){return e=t||e,"none"===m.css(e,"display")||!m.contains(e.ownerDocument,e)},W=/^(?:checkbox|radio)$/i,U=/<([\w:-]+)/,$=/^$|\/(?:java|ecma)script/i,X={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td;var V=/<|&#?\w+;/;!function(){var e=s.createDocumentFragment(),t=e.appendChild(s.createElement("div")),n=s.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),g.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",g.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Y=/^key/,K=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,G=/^([^.]*)(?:\.(.+)|)/;m.event={global:{},add:function(e,t,n,r,o){var i,a,s,u,l,c,f,d,h,p,g,v=R.get(e);if(v)for(n.handler&&(i=n,n=i.handler,o=i.selector),n.guid||(n.guid=m.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(t){return void 0!==m&&m.event.triggered!==t.type?m.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(P)||[""],l=t.length;l--;)s=G.exec(t[l])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h&&(f=m.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=m.event.special[h]||{},c=m.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&m.expr.match.needsContext.test(o),namespace:p.join(".")},i),(d=u[h])||(d=u[h]=[],d.delegateCount=0,f.setup&&!1!==f.setup.call(e,r,p,a)||e.addEventListener&&e.addEventListener(h,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),o?d.splice(d.delegateCount++,0,c):d.push(c),m.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,a,s,u,l,c,f,d,h,p,g,v=R.hasData(e)&&R.get(e);if(v&&(u=v.events)){for(t=(t||"").match(P)||[""],l=t.length;l--;)if(s=G.exec(t[l])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h){for(f=m.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,d=u[h]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=i=d.length;i--;)c=d[i],!o&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(i,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,p,v.handle)||m.removeEvent(e,h,v.handle),delete u[h])}else for(h in u)m.event.remove(e,h+t[l],n,r,!0);m.isEmptyObject(u)&&R.remove(e,"handle events")}},dispatch:function(e){e=m.event.fix(e);var t,n,r,o,i,a=[],s=u.call(arguments),l=(R.get(this,"events")||{})[e.type]||[],c=m.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,e)){for(a=m.event.handlers.call(this,e,l),t=0;(o=a[t++])&&!e.isPropagationStopped();)for(e.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(i.namespace)||(e.handleObj=i,e.data=i.data,void 0!==(r=((m.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,s))&&!1===(e.result=r)&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,o,i,a=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&(!0!==u.disabled||"click"!==e.type)){for(r=[],n=0;n<s;n++)i=t[n],o=i.selector+" ",void 0===r[o]&&(r[o]=i.needsContext?m(o,this).index(u)>-1:m.find(o,this,null,[u]).length),r[o]&&r.push(i);r.length&&a.push({elem:u,handlers:r})}return s<t.length&&a.push({elem:this,handlers:t.slice(s)}),a},props:"altKey bubbles cancelable ctrlKey currentTarget detail 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,o,i=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||s,r=n.documentElement,o=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||o&&o.scrollLeft||0)-(r&&r.clientLeft||o&&o.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||o&&o.scrollTop||0)-(r&&r.clientTop||o&&o.clientTop||0)),e.which||void 0===i||(e.which=1&i?1:2&i?3:4&i?2:0),e}},fix:function(e){if(e[m.expando])return e;var t,n,r,o=e.type,i=e,a=this.fixHooks[o];for(a||(this.fixHooks[o]=a=K.test(o)?this.mouseHooks:Y.test(o)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new m.Event(i),t=r.length;t--;)n=r[t],e[n]=i[n];return e.target||(e.target=s),3===e.target.nodeType&&(e.target=e.target.parentNode),a.filter?a.filter(e,i):e},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&m.nodeName(this,"input"))return this.click(),!1},_default:function(e){return m.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},m.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},m.Event=function(e,t){if(!(this instanceof m.Event))return new m.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?returnTrue:returnFalse):this.type=e,t&&m.extend(this,t),this.timeStamp=e&&e.timeStamp||m.now(),this[m.expando]=!0},m.Event.prototype={constructor:m.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){m.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,o=e.relatedTarget,i=e.handleObj;return o&&(o===r||m.contains(r,o))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),m.fn.extend({on:function(e,t,n,r){return on(this,e,t,n,r)},one:function(e,t,n,r){return on(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,m(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(o in e)this.off(o,t,e[o]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=returnFalse),this.each(function(){m.event.remove(this,e,n,t)})}});var Q=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,J=/<script|<style|<link/i,Z=/checked\s*(?:[^=]|=\s*.checked.)/i,ee=/^true\/(.*)/,te=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;m.extend({htmlPrefilter:function(e){return e.replace(Q,"<$1></$2>")},clone:function(e,t,n){var r,o,i,a,s=e.cloneNode(!0),u=m.contains(e.ownerDocument,e);if(!(g.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||m.isXMLDoc(e)))for(a=getAll(s),i=getAll(e),r=0,o=i.length;r<o;r++)fixInput(i[r],a[r]);if(t)if(n)for(i=i||getAll(e),a=a||getAll(s),r=0,o=i.length;r<o;r++)cloneCopyEvent(i[r],a[r]);else cloneCopyEvent(e,s);return a=getAll(s,"script"),a.length>0&&setGlobalEval(a,!u&&getAll(e,"script")),s},cleanData:function(e){for(var t,n,r,o=m.event.special,i=0;void 0!==(n=e[i]);i++)if(M(n)){if(t=n[R.expando]){if(t.events)for(r in t.events)o[r]?m.event.remove(n,r):m.removeEvent(n,r,t.handle);n[R.expando]=void 0}n[j.expando]&&(n[j.expando]=void 0)}}}),m.fn.extend({domManip:domManip,detach:function(e){return remove(this,e,!0)},remove:function(e){return remove(this,e)},text:function(e){return L(this,function(e){return void 0===e?m.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return domManip(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){manipulationTarget(this,e).appendChild(e)}})},prepend:function(){return domManip(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=manipulationTarget(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return domManip(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return domManip(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(m.cleanData(getAll(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return m.clone(this,e,t)})},html:function(e){return L(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!J.test(e)&&!X[(U.exec(e)||["",""])[1].toLowerCase()]){e=m.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(m.cleanData(getAll(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return domManip(this,arguments,function(t){var n=this.parentNode;m.inArray(this,e)<0&&(m.cleanData(getAll(this)),n&&n.replaceChild(t,this))},e)}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){m.fn[e]=function(e){for(var n,r=[],o=m(e),i=o.length-1,a=0;a<=i;a++)n=a===i?this:this.clone(!0),m(o[a])[t](n),c.apply(r,n.get());return this.pushStack(r)}});var ne,re={HTML:"block",BODY:"block"},oe=/^margin/,ie=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),ae=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=n),t.getComputedStyle(e)},se=function(e,t,n,r){var o,i,a={};for(i in t)a[i]=e.style[i],e.style[i]=t[i];o=n.apply(e,r||[]);for(i in t)e.style[i]=a[i];return o},ue=s.documentElement;!function(){function computeStyleTests(){a.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",ue.appendChild(i);var s=n.getComputedStyle(a);e="1%"!==s.top,o="2px"===s.marginLeft,t="4px"===s.width,a.style.marginRight="50%",r="4px"===s.marginRight,ue.removeChild(i)}var e,t,r,o,i=s.createElement("div"),a=s.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",g.clearCloneStyle="content-box"===a.style.backgroundClip,i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",i.appendChild(a),m.extend(g,{pixelPosition:function(){return computeStyleTests(),e},boxSizingReliable:function(){return null==t&&computeStyleTests(),t},pixelMarginRight:function(){return null==t&&computeStyleTests(),r},reliableMarginLeft:function(){return null==t&&computeStyleTests(),o},reliableMarginRight:function(){var e,t=a.appendChild(s.createElement("div"));return t.style.cssText=a.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",t.style.marginRight=t.style.width="0",a.style.width="1px",ue.appendChild(i),e=!parseFloat(n.getComputedStyle(t).marginRight),ue.removeChild(i),a.removeChild(t),e}}))}();var le=/^(none|table(?!-c[ea]).+)/,ce={position:"absolute",visibility:"hidden",display:"block"},fe={letterSpacing:"0",fontWeight:"400"},de=["Webkit","O","Moz","ms"],he=s.createElement("div").style;m.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=curCSS(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,a,s=m.camelCase(t),u=e.style;if(t=m.cssProps[s]||(m.cssProps[s]=vendorPropName(s)||s),a=m.cssHooks[t]||m.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(o=a.get(e,!1,r))?o:u[t];i=typeof n,"string"===i&&(o=B.exec(n))&&o[1]&&(n=adjustCSS(e,t,o),i="number"),null!=n&&n===n&&("number"===i&&(n+=o&&o[3]||(m.cssNumber[s]?"":"px")),g.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u[t]=n))}},css:function(e,t,n,r){var o,i,a,s=m.camelCase(t);return t=m.cssProps[s]||(m.cssProps[s]=vendorPropName(s)||s),a=m.cssHooks[t]||m.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=curCSS(e,t,r)),"normal"===o&&t in fe&&(o=fe[t]),""===n||n?(i=parseFloat(o),!0===n||isFinite(i)?i||0:o):o}}),m.each(["height","width"],function(e,t){m.cssHooks[t]={get:function(e,n,r){if(n)return le.test(m.css(e,"display"))&&0===e.offsetWidth?se(e,ce,function(){return getWidthOrHeight(e,t,r)}):getWidthOrHeight(e,t,r)},set:function(e,n,r){var o,i=r&&ae(e),a=r&&augmentWidthOrHeight(e,t,r,"border-box"===m.css(e,"boxSizing",!1,i),i);return a&&(o=B.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=m.css(e,t)),setPositiveNumber(e,n,a)}}}),m.cssHooks.marginLeft=addGetHookIf(g.reliableMarginLeft,function(e,t){if(t)return(parseFloat(curCSS(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),m.cssHooks.marginRight=addGetHookIf(g.reliableMarginRight,function(e,t){if(t)return se(e,{display:"inline-block"},curCSS,[e,"marginRight"])}),m.each({margin:"",padding:"",border:"Width"},function(e,t){m.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];r<4;r++)o[e+z[r]+t]=i[r]||i[r-2]||i[0];return o}},oe.test(e)||(m.cssHooks[e+t].set=setPositiveNumber)}),m.fn.extend({css:function(e,t){return L(this,function(e,t,n){var r,o,i={},a=0;if(m.isArray(t)){for(r=ae(e),o=t.length;a<o;a++)i[t[a]]=m.css(e,t[a],!1,r);return i}return void 0!==n?m.style(e,t,n):m.css(e,t)},e,t,arguments.length>1)},show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){I(this)?m(this).show():m(this).hide()})}}),m.Tween=Tween,Tween.prototype={constructor:Tween,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||m.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(m.cssNumber[n]?"":"px")},cur:function(){var e=Tween.propHooks[this.prop];return e&&e.get?e.get(this):Tween.propHooks._default.get(this)},run:function(e){var t,n=Tween.propHooks[this.prop];return this.options.duration?this.pos=t=m.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=m.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){m.fx.step[e.prop]?m.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[m.cssProps[e.prop]]&&!m.cssHooks[e.prop]?e.elem[e.prop]=e.now:m.style(e.elem,e.prop,e.now+e.unit)}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},m.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},m.fx=Tween.prototype.init,m.fx.step={};var pe,ge,me=/^(?:toggle|show|hide)$/,ve=/queueHooks$/;m.Animation=m.extend(Animation,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return adjustCSS(n.elem,e,B.exec(t),n),n}]},tweener:function(e,t){m.isFunction(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,o=e.length;r<o;r++)n=e[r],Animation.tweeners[n]=Animation.tweeners[n]||[],Animation.tweeners[n].unshift(t)},prefilters:[defaultPrefilter],prefilter:function(e,t){t?Animation.prefilters.unshift(e):Animation.prefilters.push(e)}}),m.speed=function(e,t,n){var r=e&&"object"==typeof e?m.extend({},e):{complete:n||!n&&t||m.isFunction(e)&&e,duration:e,easing:n&&t||t&&!m.isFunction(t)&&t};return r.duration=m.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in m.fx.speeds?m.fx.speeds[r.duration]:m.fx.speeds._default,null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m.isFunction(r.old)&&r.old.call(this),r.queue&&m.dequeue(this,r.queue)},r},m.fn.extend({fadeTo:function(e,t,n,r){return this.filter(I).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var o=m.isEmptyObject(e),i=m.speed(t,n,r),a=function(){var t=Animation(this,m.extend({},e),i);(o||R.get(this,"finish"))&&t.stop(!0)};return a.finish=a,o||!1===i.queue?this.each(a):this.queue(i.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",i=m.timers,a=R.get(this);if(o)a[o]&&a[o].stop&&r(a[o]);else for(o in a)a[o]&&a[o].stop&&ve.test(o)&&r(a[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||m.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=R.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=m.timers,a=r?r.length:0;for(n.finish=!0,m.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),m.each(["toggle","show","hide"],function(e,t){var n=m.fn[t];m.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(genFx(t,!0),e,r,o)}}),m.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){m.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),m.timers=[],m.fx.tick=function(){var e,t=0,n=m.timers;for(pe=m.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||m.fx.stop(),pe=void 0},m.fx.timer=function(e){m.timers.push(e),e()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){ge||(ge=n.setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){n.clearInterval(ge),ge=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(e,t){return e=m.fx?m.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,r){var o=n.setTimeout(t,e);r.stop=function(){n.clearTimeout(o)}})},function(){var e=s.createElement("input"),t=s.createElement("select"),n=t.appendChild(s.createElement("option"));e.type="checkbox",g.checkOn=""!==e.value,g.optSelected=n.selected,t.disabled=!0,g.optDisabled=!n.disabled,e=s.createElement("input"),e.value="t",e.type="radio",g.radioValue="t"===e.value}();var ye,we=m.expr.attrHandle;m.fn.extend({attr:function(e,t){return L(this,m.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){m.removeAttr(this,e)})}}),m.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return void 0===e.getAttribute?m.prop(e,t,n):(1===i&&m.isXMLDoc(e)||(t=t.toLowerCase(),o=m.attrHooks[t]||(m.expr.match.bool.test(t)?ye:void 0)),void 0!==n?null===n?void m.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=m.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!g.radioValue&&"radio"===t&&m.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,o=0,i=t&&t.match(P);if(i&&1===e.nodeType)for(;n=i[o++];)r=m.propFix[n]||n,m.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)}}),ye={set:function(e,t,n){return!1===t?m.removeAttr(e,n):e.setAttribute(n,n),n}},m.each(m.expr.match.bool.source.match(/\w+/g),function(e,t){var n=we[t]||m.find.attr;we[t]=function(e,t,r){var o,i;return r||(i=we[t],we[t]=o,o=null!=n(e,t,r)?t.toLowerCase():null,we[t]=i),o}});var be=/^(?:input|select|textarea|button)$/i,xe=/^(?:a|area)$/i;m.fn.extend({prop:function(e,t){return L(this,m.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[m.propFix[e]||e]})}}),m.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&m.isXMLDoc(e)||(t=m.propFix[t]||t,o=m.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=m.find.attr(e,"tabindex");return t?parseInt(t,10):be.test(e.nodeName)||xe.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),g.optSelected||(m.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this});var Te=/[\t\r\n\f]/g;m.fn.extend({addClass:function(e){var t,n,r,o,i,a,s,u=0;if(m.isFunction(e))return this.each(function(t){m(this).addClass(e.call(this,t,getClass(this)))});if("string"==typeof e&&e)for(t=e.match(P)||[];n=this[u++];)if(o=getClass(n),r=1===n.nodeType&&(" "+o+" ").replace(Te," ")){for(a=0;i=t[a++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");s=m.trim(r),o!==s&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,o,i,a,s,u=0;if(m.isFunction(e))return this.each(function(t){m(this).removeClass(e.call(this,t,getClass(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(P)||[];n=this[u++];)if(o=getClass(n),r=1===n.nodeType&&(" "+o+" ").replace(Te," ")){for(a=0;i=t[a++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");s=m.trim(r),o!==s&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):m.isFunction(e)?this.each(function(n){m(this).toggleClass(e.call(this,n,getClass(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=m(this),i=e.match(P)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=getClass(this),t&&R.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":R.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+getClass(n)+" ").replace(Te," ").indexOf(t)>-1)return!0;return!1}});var Ce=/\r/g,_e=/[\x20\t\r\n\f]+/g;m.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=m.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,m(this).val()):e,null==o?o="":"number"==typeof o?o+="":m.isArray(o)&&(o=m.map(o,function(e){return null==e?"":e+""})),(t=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return(t=m.valHooks[o.type]||m.valHooks[o.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(Ce,""):null==n?"":n)}}}),m.extend({valHooks:{option:{get:function(e){var t=m.find.attr(e,"value");return null!=t?t:m.trim(m.text(e)).replace(_e," ")}},select:{get:function(e){for(var t,n,r=e.options,o=e.selectedIndex,i="select-one"===e.type||o<0,a=i?null:[],s=i?o+1:r.length,u=o<0?s:i?o:0;u<s;u++)if(n=r[u],(n.selected||u===o)&&(g.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!m.nodeName(n.parentNode,"optgroup"))){if(t=m(n).val(),i)return t;a.push(t)}return a},set:function(e,t){for(var n,r,o=e.options,i=m.makeArray(t),a=o.length;a--;)r=o[a],(r.selected=m.inArray(m.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(e,t){if(m.isArray(t))return e.checked=m.inArray(m(e).val(),t)>-1}},g.checkOn||(m.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Ee=/^(?:focusinfocus|focusoutblur)$/;m.extend(m.event,{trigger:function(e,t,r,o){var i,a,u,l,c,f,d,h=[r||s],g=p.call(e,"type")?e.type:e,v=p.call(e,"namespace")?e.namespace.split("."):[];if(a=u=r=r||s,3!==r.nodeType&&8!==r.nodeType&&!Ee.test(g+m.event.triggered)&&(g.indexOf(".")>-1&&(v=g.split("."),g=v.shift(),v.sort()),c=g.indexOf(":")<0&&"on"+g,e=e[m.expando]?e:new m.Event(g,"object"==typeof e&&e),e.isTrigger=o?2:3,e.namespace=v.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:m.makeArray(t,[e]),d=m.event.special[g]||{},o||!d.trigger||!1!==d.trigger.apply(r,t))){if(!o&&!d.noBubble&&!m.isWindow(r)){for(l=d.delegateType||g,Ee.test(l+g)||(a=a.parentNode);a;a=a.parentNode)h.push(a),u=a;u===(r.ownerDocument||s)&&h.push(u.defaultView||u.parentWindow||n)}for(i=0;(a=h[i++])&&!e.isPropagationStopped();)e.type=i>1?l:d.bindType||g,f=(R.get(a,"events")||{})[e.type]&&R.get(a,"handle"),f&&f.apply(a,t),(f=c&&a[c])&&f.apply&&M(a)&&(e.result=f.apply(a,t),!1===e.result&&e.preventDefault());return e.type=g,o||e.isDefaultPrevented()||d._default&&!1!==d._default.apply(h.pop(),t)||!M(r)||c&&m.isFunction(r[g])&&!m.isWindow(r)&&(u=r[c],u&&(r[c]=null),m.event.triggered=g,r[g](),m.event.triggered=void 0,u&&(r[c]=u)),e.result}},simulate:function(e,t,n){var r=m.extend(new m.Event,n,{type:e,isSimulated:!0});m.event.trigger(r,null,t)}}),m.fn.extend({trigger:function(e,t){return this.each(function(){m.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return m.event.trigger(e,t,n,!0)}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){m.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),m.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),g.focusin="onfocusin"in n,g.focusin||m.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){m.event.simulate(t,e.target,m.event.fix(e))};m.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=R.access(r,t);o||r.addEventListener(e,n,!0),R.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=R.access(r,t)-1;o?R.access(r,t,o):(r.removeEventListener(e,n,!0),R.remove(r,t))}}});var ke=n.location,Se=m.now(),Ae=/\?/;m.parseJSON=function(e){return JSON.parse(e+"")},m.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+e),t};var Ne=/#.*$/,De=/([?&])_=[^&]*/,Pe=/^(.*?):[ \t]*([^\r\n]*)$/gm,Oe=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Le=/^(?:GET|HEAD)$/,Me=/^\/\//,Re={},je={},Fe="*/".concat("*"),He=s.createElement("a");He.href=ke.href,m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ke.href,type:"GET",isLocal:Oe.test(ke.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Fe,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?ajaxExtend(ajaxExtend(e,m.ajaxSettings),t):ajaxExtend(m.ajaxSettings,e)},ajaxPrefilter:addToPrefiltersOrTransports(Re),ajaxTransport:addToPrefiltersOrTransports(je),ajax:function(e,t){function done(e,t,a,s){var l,f,w,b,T,_=t;2!==x&&(x=2,u&&n.clearTimeout(u),r=void 0,i=s||"",C.readyState=e>0?4:0,l=e>=200&&e<300||304===e,a&&(b=ajaxHandleResponses(d,C,a)),b=ajaxConvert(d,b,C,l),l?(d.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(m.lastModified[o]=T),(T=C.getResponseHeader("etag"))&&(m.etag[o]=T)),204===e||"HEAD"===d.type?_="nocontent":304===e?_="notmodified":(_=b.state,f=b.data,w=b.error,l=!w)):(w=_,!e&&_||(_="error",e<0&&(e=0))),C.status=e,C.statusText=(t||_)+"",l?g.resolveWith(h,[f,_,C]):g.rejectWith(h,[C,_,w]),C.statusCode(y),y=void 0,c&&p.trigger(l?"ajaxSuccess":"ajaxError",[C,d,l?f:w]),v.fireWith(h,[C,_]),c&&(p.trigger("ajaxComplete",[C,d]),--m.active||m.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,o,i,a,u,l,c,f,d=m.ajaxSetup({},t),h=d.context||d,p=d.context&&(h.nodeType||h.jquery)?m(h):m.event,g=m.Deferred(),v=m.Callbacks("once memory"),y=d.statusCode||{},w={},b={},x=0,T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!a)for(a={};t=Pe.exec(i);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?i:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=b[n]=b[n]||e,w[e]=t),this},overrideMimeType:function(e){return x||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(x<2)for(t in e)y[t]=[y[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||T;return r&&r.abort(t),done(0,t),this}};if(g.promise(C).complete=v.add,C.success=C.done,C.error=C.fail,d.url=((e||d.url||ke.href)+"").replace(Ne,"").replace(Me,ke.protocol+"//"),d.type=t.method||t.type||d.method||d.type,d.dataTypes=m.trim(d.dataType||"*").toLowerCase().match(P)||[""],null==d.crossDomain){l=s.createElement("a");try{l.href=d.url,l.href=l.href,d.crossDomain=He.protocol+"//"+He.host!=l.protocol+"//"+l.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=m.param(d.data,d.traditional)),inspectPrefiltersOrTransports(Re,d,t,C),2===x)return C;c=m.event&&d.global,c&&0==m.active++&&m.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Le.test(d.type),o=d.url,d.hasContent||(d.data&&(o=d.url+=(Ae.test(o)?"&":"?")+d.data,delete d.data),!1===d.cache&&(d.url=De.test(o)?o.replace(De,"$1_="+Se++):o+(Ae.test(o)?"&":"?")+"_="+Se++)),d.ifModified&&(m.lastModified[o]&&C.setRequestHeader("If-Modified-Since",m.lastModified[o]),m.etag[o]&&C.setRequestHeader("If-None-Match",m.etag[o])),(d.data&&d.hasContent&&!1!==d.contentType||t.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Fe+"; q=0.01":""):d.accepts["*"]);for(f in d.headers)C.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,C,d)||2===x))return C.abort();T="abort";for(f in{success:1,error:1,complete:1})C[f](d[f]);if(r=inspectPrefiltersOrTransports(je,d,t,C)){if(C.readyState=1,c&&p.trigger("ajaxSend",[C,d]),2===x)return C;d.async&&d.timeout>0&&(u=n.setTimeout(function(){C.abort("timeout")},d.timeout));try{x=1,r.send(w,done)}catch(e){if(!(x<2))throw e;done(-1,e)}}else done(-1,"No Transport");return C},getJSON:function(e,t,n){return m.get(e,t,n,"json")},getScript:function(e,t){return m.get(e,void 0,t,"script")}}),m.each(["get","post"],function(e,t){m[t]=function(e,n,r,o){return m.isFunction(n)&&(o=o||r,r=n,n=void 0),m.ajax(m.extend({url:e,type:t,dataType:o,data:n,success:r},m.isPlainObject(e)&&e))}}),m._evalUrl=function(e){return m.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},m.fn.extend({wrapAll:function(e){var t;return m.isFunction(e)?this.each(function(t){m(this).wrapAll(e.call(this,t))}):(this[0]&&(t=m(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return m.isFunction(e)?this.each(function(t){m(this).wrapInner(e.call(this,t))}):this.each(function(){var t=m(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=m.isFunction(e);return this.each(function(n){m(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(e){return!m.expr.filters.visible(e)},m.expr.filters.visible=function(e){return e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0};var qe=/%20/g,Be=/\[\]$/,ze=/\r?\n/g,Ie=/^(?:submit|button|image|reset|file)$/i,We=/^(?:input|select|textarea|keygen)/i;m.param=function(e,t){var n,r=[],o=function(e,t){t=m.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(e)||e.jquery&&!m.isPlainObject(e))m.each(e,function(){o(this.name,this.value)});else for(n in e)buildParams(n,e[n],t,o);return r.join("&").replace(qe,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=m.prop(this,"elements");return e?m.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!m(this).is(":disabled")&&We.test(this.nodeName)&&!Ie.test(e)&&(this.checked||!W.test(e))}).map(function(e,t){var n=m(this).val();return null==n?null:m.isArray(n)?m.map(n,function(e){return{name:t.name,value:e.replace(ze,"\r\n")}}):{name:t.name,value:n.replace(ze,"\r\n")}}).get()}}),m.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Ue={0:200,1223:204},$e=m.ajaxSettings.xhr();g.cors=!!$e&&"withCredentials"in $e,g.ajax=$e=!!$e,m.ajaxTransport(function(e){var t,r;if(g.cors||$e&&!e.crossDomain)return{send:function(o,i){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(a in o)s.setRequestHeader(a,o[a]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i(Ue[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){t&&r()})},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return m.globalEval(e),e}}}),m.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),m.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=m("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),s.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Xe=[],Ve=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xe.pop()||m.expando+"_"+Se++;return this[e]=!0,e}}),m.ajaxPrefilter("json jsonp",function(e,t,r){var o,i,a,s=!1!==e.jsonp&&(Ve.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ve.test(e.data)&&"data");if(s||"jsonp"===e.dataTypes[0])return o=e.jsonpCallback=m.isFunction(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,s?e[s]=e[s].replace(Ve,"$1"+o):!1!==e.jsonp&&(e.url+=(Ae.test(e.url)?"&":"?")+e.jsonp+"="+o),e.converters["script json"]=function(){return a||m.error(o+" was not called"),a[0]},e.dataTypes[0]="json",i=n[o],n[o]=function(){a=arguments},r.always(function(){void 0===i?m(n).removeProp(o):n[o]=i,e[o]&&(e.jsonpCallback=t.jsonpCallback,Xe.push(o)),a&&m.isFunction(i)&&i(a[0]),a=i=void 0}),"script"}),m.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||s;var r=E.exec(e),o=!n&&[];return r?[t.createElement(r[1])]:(r=buildFragment([e],t,o),o&&o.length&&m(o).remove(),m.merge([],r.childNodes))};var Ye=m.fn.load;m.fn.load=function(e,t,n){if("string"!=typeof e&&Ye)return Ye.apply(this,arguments);var r,o,i,a=this,s=e.indexOf(" ");return s>-1&&(r=m.trim(e.slice(s)),e=e.slice(0,s)),m.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(o="POST"),a.length>0&&m.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done(function(e){i=arguments,a.html(r?m("<div>").append(m.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){m.fn[t]=function(e){return this.on(t,e)}}),m.expr.filters.animated=function(e){return m.grep(m.timers,function(t){return e===t.elem}).length},m.offset={setOffset:function(e,t,n){var r,o,i,a,s,u,l,c=m.css(e,"position"),f=m(e),d={};"static"===c&&(e.style.position="relative"),s=f.offset(),i=m.css(e,"top"),u=m.css(e,"left"),l=("absolute"===c||"fixed"===c)&&(i+u).indexOf("auto")>-1,l?(r=f.position(),a=r.top,o=r.left):(a=parseFloat(i)||0,o=parseFloat(u)||0),m.isFunction(t)&&(t=t.call(e,n,m.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+o),"using"in t?t.using.call(e,d):f.css(d)}},m.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){m.offset.setOffset(this,e,t)});var t,n,r=this[0],o={top:0,left:0},i=r&&r.ownerDocument;if(i)return t=i.documentElement,m.contains(t,r)?(o=r.getBoundingClientRect(),n=getWindow(i),{top:o.top+n.pageYOffset-t.clientTop,left:o.left+n.pageXOffset-t.clientLeft}):o},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===m.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),m.nodeName(e[0],"html")||(r=e.offset()),r.top+=m.css(e[0],"borderTopWidth",!0),r.left+=m.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-m.css(n,"marginTop",!0),left:t.left-r.left-m.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===m.css(e,"position");)e=e.offsetParent;return e||ue})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;m.fn[e]=function(r){return L(this,function(e,r,o){var i=getWindow(e);if(void 0===o)return i?i[t]:e[r];i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o},e,r,arguments.length)}}),m.each(["top","left"],function(e,t){m.cssHooks[t]=addGetHookIf(g.pixelPosition,function(e,n){if(n)return n=curCSS(e,t),ie.test(n)?m(e).position()[t]+"px":n})}),m.each({Height:"height",Width:"width"},function(e,t){m.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){m.fn[r]=function(r,o){var i=arguments.length&&(n||"boolean"!=typeof r),a=n||(!0===r||!0===o?"margin":"border");return L(this,function(t,n,r){var o;return m.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===r?m.css(t,n,a):m.style(t,n,r,a)},t,i?r:void 0,i,null)}})}),m.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},size:function(){return this.length}}),m.fn.andSelf=m.fn.addBack,r=[],void 0!==(o=function(){return m}.apply(t,r))&&(e.exports=o);var Ke=n.jQuery,Ge=n.$;return m.noConflict=function(e){return n.$===m&&(n.$=Ge),e&&n.jQuery===m&&(n.jQuery=Ke),m},i||(n.jQuery=n.$=m),m})},function(e,t,n){"use strict";(function(e){function escapeHtml(e){return String(e).replace(/[&<>"'\/]/g,function(e){return i[e]})}function mousePosition(t){var n=e.document.body,o={top:0,left:0};return"static"!==r(n).css("position")&&(o=r(n).offset()),{top:t.pageY-o.top,left:t.pageX-o.left}}var r=n(0),o=n(17).Promise,i={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"},a=function(){if("function"==typeof e.Gettext){var t=new e.Gettext({domain:"annotator"});return function(e){return t.gettext(e)}}return function(e){return e}}();t.$=r,t.Promise=o,t.gettext=a,t.escapeHtml=escapeHtml,t.mousePosition=mousePosition}).call(t,n(2))},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";(function(e){function Widget(e){this.element=i(this.constructor.template),this.classes=i.extend({},Widget.classes,this.constructor.classes),this.options=i.extend({},Widget.options,this.constructor.options,e),this.extensionsInstalled=!1}var r=n(16),o=n(1),i=o.$;Widget.prototype.destroy=function(){this.element.remove()},Widget.prototype.installExtensions=function(){if(this.options.extensions)for(var e=0,t=this.options.extensions.length;e<t;e++){var n=this.options.extensions[e];n(this)}},Widget.prototype._maybeInstallExtensions=function(){this.extensionsInstalled||(this.extensionsInstalled=!0,this.installExtensions())},Widget.prototype.attach=function(){this.element.appendTo(this.options.appendTo),this._maybeInstallExtensions()},Widget.prototype.show=function(){this.element.removeClass(this.classes.hide),this.checkOrientation()},Widget.prototype.hide=function(){i(this.element).addClass(this.classes.hide)},Widget.prototype.isShown=function(){return!i(this.element).hasClass(this.classes.hide)},Widget.prototype.checkOrientation=function(){this.resetOrientation();var t=i(e),n=this.element.children(":first"),r=n.offset(),o={top:t.scrollTop(),right:t.width()+t.scrollLeft()},a={top:r.top,right:r.left+n.width()};return a.top-o.top<0&&this.invertY(),a.right-o.right>0&&this.invertX(),this},Widget.prototype.resetOrientation=function(){return this.element.removeClass(this.classes.invert.x).removeClass(this.classes.invert.y),this},Widget.prototype.invertX=function(){return this.element.addClass(this.classes.invert.x),this},Widget.prototype.invertY=function(){return this.element.addClass(this.classes.invert.y),this},Widget.prototype.isInvertedY=function(){return this.element.hasClass(this.classes.invert.y)},Widget.prototype.isInvertedX=function(){return this.element.hasClass(this.classes.invert.x)},Widget.classes={hide:"annotator-hide",invert:{x:"annotator-invert-x",y:"annotator-invert-y"}},Widget.template="<div></div>",Widget.options={appendTo:"body"},Widget.extend=r,t.Widget=Widget}).call(t,n(2))},function(e,t,n){var r;!function(o,i,a){function _addEvent(e,t,n){if(e.addEventListener)return void e.addEventListener(t,n,!1);e.attachEvent("on"+t,n)}function _characterFromEvent(e){if("keypress"==e.type){var t=String.fromCharCode(e.which);return e.shiftKey||(t=t.toLowerCase()),t}return u[e.which]?u[e.which]:l[e.which]?l[e.which]:String.fromCharCode(e.which).toLowerCase()}function _modifiersMatch(e,t){return e.sort().join(",")===t.sort().join(",")}function _eventModifiers(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function _preventDefault(e){if(e.preventDefault)return void e.preventDefault();e.returnValue=!1}function _stopPropagation(e){if(e.stopPropagation)return void e.stopPropagation();e.cancelBubble=!0}function _isModifier(e){return"shift"==e||"ctrl"==e||"alt"==e||"meta"==e}function _getReverseMap(){if(!s){s={};for(var e in u)e>95&&e<112||u.hasOwnProperty(e)&&(s[u[e]]=e)}return s}function _pickBestAction(e,t,n){return n||(n=_getReverseMap()[e]?"keydown":"keypress"),"keypress"==n&&t.length&&(n="keydown"),n}function _keysFromString(e){return"+"===e?["+"]:(e=e.replace(/\+{2}/g,"+plus"),e.split("+"))}function _getKeyInfo(e,t){var n,r,o,i=[];for(n=_keysFromString(e),o=0;o<n.length;++o)r=n[o],f[r]&&(r=f[r]),t&&"keypress"!=t&&c[r]&&(r=c[r],i.push("shift")),_isModifier(r)&&i.push(r);return t=_pickBestAction(r,i,t),{key:r,modifiers:i,action:t}}function _belongsTo(e,t){return null!==e&&e!==i&&(e===t||_belongsTo(e.parentNode,t))}function Mousetrap(e){function _resetSequences(e){e=e||{};var t,n=!1;for(t in r)e[t]?n=!0:r[t]=0;n||(s=!1)}function _getMatches(e,n,o,i,a,s){var u,l,c=[],f=o.type;if(!t._callbacks[e])return[];for("keyup"==f&&_isModifier(e)&&(n=[e]),u=0;u<t._callbacks[e].length;++u)if(l=t._callbacks[e][u],(i||!l.seq||r[l.seq]==l.level)&&f==l.action&&("keypress"==f&&!o.metaKey&&!o.ctrlKey||_modifiersMatch(n,l.modifiers))){var d=!i&&l.combo==a,h=i&&l.seq==i&&l.level==s;(d||h)&&t._callbacks[e].splice(u,1),c.push(l)}return c}function _fireCallback(e,n,r,o){t.stopCallback(n,n.target||n.srcElement,r,o)||!1===e(n,r)&&(_preventDefault(n),_stopPropagation(n))}function _handleKeyEvent(e){"number"!=typeof e.which&&(e.which=e.keyCode);var n=_characterFromEvent(e);if(n)return"keyup"==e.type&&o===n?void(o=!1):void t.handleKey(n,_eventModifiers(e),e)}function _resetSequenceTimer(){clearTimeout(n),n=setTimeout(_resetSequences,1e3)}function _bindSequence(e,t,n,i){function _callbackAndReset(t){_fireCallback(n,t,e),"keyup"!==i&&(o=_characterFromEvent(t)),setTimeout(_resetSequences,10)}r[e]=0;for(var a=0;a<t.length;++a){var u=a+1===t.length,l=u?_callbackAndReset:function(t){return function(){s=t,++r[e],_resetSequenceTimer()}}(i||_getKeyInfo(t[a+1]).action);_bindSingle(t[a],l,i,e,a)}}function _bindSingle(e,n,r,o,i){t._directMap[e+":"+r]=n,e=e.replace(/\s+/g," ");var a,s=e.split(" ");if(s.length>1)return void _bindSequence(e,s,n,r);a=_getKeyInfo(e,r),t._callbacks[a.key]=t._callbacks[a.key]||[],_getMatches(a.key,a.modifiers,{type:a.action},o,e,i),t._callbacks[a.key][o?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:o,level:i,combo:e})}var t=this;if(e=e||i,!(t instanceof Mousetrap))return new Mousetrap(e);t.target=e,t._callbacks={},t._directMap={};var n,r={},o=!1,a=!1,s=!1;t._handleKey=function(e,t,n){var r,o=_getMatches(e,t,n),i={},u=0,l=!1;for(r=0;r<o.length;++r)o[r].seq&&(u=Math.max(u,o[r].level));for(r=0;r<o.length;++r)if(o[r].seq){if(o[r].level!=u)continue;l=!0,i[o[r].seq]=1,_fireCallback(o[r].callback,n,o[r].combo,o[r].seq)}else l||_fireCallback(o[r].callback,n,o[r].combo);var c="keypress"==n.type&&a;n.type!=s||_isModifier(e)||c||_resetSequences(i),a=l&&"keydown"==n.type},t._bindMultiple=function(e,t,n){for(var r=0;r<e.length;++r)_bindSingle(e[r],t,n)},_addEvent(e,"keypress",_handleKeyEvent),_addEvent(e,"keydown",_handleKeyEvent),_addEvent(e,"keyup",_handleKeyEvent)}if(o){for(var s,u={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},l={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},c={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},f={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},d=1;d<20;++d)u[111+d]="f"+d;for(d=0;d<=9;++d)u[d+96]=d.toString();Mousetrap.prototype.bind=function(e,t,n){var r=this;return e=e instanceof Array?e:[e],r._bindMultiple.call(r,e,t,n),r},Mousetrap.prototype.unbind=function(e,t){var n=this;return n.bind.call(n,e,function(){},t)},Mousetrap.prototype.trigger=function(e,t){var n=this;return n._directMap[e+":"+t]&&n._directMap[e+":"+t]({},e),n},Mousetrap.prototype.reset=function(){var e=this;return e._callbacks={},e._directMap={},e},Mousetrap.prototype.stopCallback=function(e,t){var n=this;return!((" "+t.className+" ").indexOf(" mousetrap ")>-1)&&(!_belongsTo(t,n.target)&&("INPUT"==t.tagName||"SELECT"==t.tagName||"TEXTAREA"==t.tagName||t.isContentEditable))},Mousetrap.prototype.handleKey=function(){var e=this;return e._handleKey.apply(e,arguments)},Mousetrap.addKeycodes=function(e){for(var t in e)e.hasOwnProperty(t)&&(u[t]=e[t]);s=null},Mousetrap.init=function(){var e=Mousetrap(i);for(var t in e)"_"!==t.charAt(0)&&(Mousetrap[t]=function(t){return function(){return e[t].apply(e,arguments)}}(t))},Mousetrap.init(),o.Mousetrap=Mousetrap,void 0!==e&&e.exports&&(e.exports=Mousetrap),void 0!==(r=function(){return Mousetrap}.call(t,n,t,e))&&(e.exports=r)}}("undefined"!=typeof window?window:null,"undefined"!=typeof window?document:null)},function(e,t,n){"use strict";var r;t.acl=function(){var e=new r;return{configure:function(t){t.registerUtility(e,"authorizationPolicy")}}},r=t.AclAuthzPolicy=function(){},r.prototype.permits=function(e,t,n){var r=this.authorizedUserId(n),o=t.permissions;if(o){var i=o[e];if(void 0===i||null===i)return!0;for(var a=0,s=i.length;a<s;a++)if(r===i[a])return!0;return!1}return!t.user||r===t.user},r.prototype.authorizedUserId=function(e){return e}},function(e,t,n){"use strict";var r;t.simple=function(){var e=new r;return{configure:function(t){t.registerUtility(e,"identityPolicy")},beforeAnnotationCreated:function(t){t.user=e.who()}}},r=function(){this.identity=null},t.SimpleIdentityPolicy=r,r.prototype.who=function(){return this.identity}},function(e,t,n){"use strict";(function(e){function banner(t,n){void 0!==n&&null!==n||(n=i);var u=o(a)[0],l=!1,c=function(){l||(l=!0,o(u).removeClass(s.show).removeClass(s[n]),setTimeout(function(){o(u).remove()},500))};return o(u).addClass(s.show).addClass(s[n]).html(r.escapeHtml(t||"")).appendTo(e.document.body),o(u).on("click",c),setTimeout(c,5e3),{close:c}}var r=n(1),o=r.$,i="info",a="<div class='annotator-notice'></div>",s={show:"annotator-notice-show",info:"annotator-notice-info",success:"annotator-notice-success",error:"annotator-notice-error"};t.banner=banner,t.defaultNotifier=banner,t.INFO=i,t.SUCCESS="success",t.ERROR="error"}).call(t,n(2))},function(e,t,n){"use strict";function StorageAdapter(e,t){this.store=e,this.runHook=t}var r=n(1),o=r.$,i=r.gettext,a=r.Promise,s=function(){var e;return e=-1,function(){return e+=1}}();t.debug=function(){function trace(e,t){var n=JSON.parse(JSON.stringify(t));console.debug("annotator.storage.debug: "+e,n)}return{create:function(e){return e.id=s(),trace("create",e),e},update:function(e){return trace("update",e),e},delete:function(e){return trace("destroy",e),e},query:function(e){return trace("query",e),{results:[],meta:{total:0}}},configure:function(e){e.registerUtility(this,"storage")}}},t.noop=function(){return{create:function(e){return void 0!==e.id&&null!==e.id||(e.id=s()),e},update:function(e){return e},delete:function(e){return e},query:function(){return{results:[]}},configure:function(e){e.registerUtility(this,"storage")}}};var u;t.http=function(e){var t=function(){};void 0!==e&&null!==e||(e={}),e.onError=e.onError||function(e,n){console.error(e,n),t(e,"error")};var n=new u(e);return{configure:function(e){e.registerUtility(n,"storage")},start:function(e){t=e.notify}}},u=t.HttpStorage=function HttpStorage(e){this.options=o.extend(!0,{},HttpStorage.options,e),this.onError=this.options.onError},u.prototype.create=function(e){return this._apiRequest("create",e)},u.prototype.update=function(e){return this._apiRequest("update",e)},u.prototype.delete=function(e){return this._apiRequest("destroy",e)},u.prototype.query=function(e){return this._apiRequest("search",e).then(function(e){var t=e.rows;return delete e.rows,{results:t,meta:e}})},u.prototype.setHeader=function(e,t){this.options.headers[e]=t},u.prototype._apiRequest=function(e,t){var n=t&&t.id,r=this._urlFor(e,n),i=this._apiRequestOptions(e,t),a=o.ajax(r,i);return a._id=n,a._action=e,a},u.prototype._apiRequestOptions=function(e,t){var n=this._methodFor(e),r=this,i={type:n,dataType:"json",error:function(){r._onError.apply(r,arguments)},headers:this.options.headers};if(!this.options.emulateHTTP||"PUT"!==n&&"DELETE"!==n||(i.headers=o.extend(i.headers,{"X-HTTP-Method-Override":n}),i.type="POST"),"search"===e)return i=o.extend(i,{data:t});var a=t&&JSON.stringify(t);return this.options.emulateJSON?(i.data={json:a},this.options.emulateHTTP&&(i.data._method=n),i):i=o.extend(i,{data:a,contentType:"application/json; charset=utf-8"})},u.prototype._urlFor=function(e,t){void 0!==t&&null!==t||(t="");var n="";return void 0!==this.options.prefix&&null!==this.options.prefix&&(n=this.options.prefix),n+=this.options.urls[e],n=n.replace(/idAnnotation/,t)},u.prototype._methodFor=function(e){return{create:"POST",update:"PUT",destroy:"DELETE",search:"GET"}[e]},u.prototype._onError=function(e){if("function"==typeof this.onError){var t;t=i(400===e.status?"The annotation store did not understand the request! (Error 400)":401===e.status?"You must be logged in to perform this operation! (Error 401)":403===e.status?"You don't have permission to perform this operation! (Error 403)":404===e.status?"Could not connect to the annotation store! (Error 404)":500===e.status?"Internal error in annotation store! (Error 500)":"Unknown error while speaking to annotation store!"),this.onError(t,e)}},u.options={emulateHTTP:!1,emulateJSON:!1,headers:{},onError:function(e){console.error("API request failed: "+e)},prefix:"/store",urls:{create:"/annotations",update:"/annotations/idAnnotation",destroy:"/annotations/idAnnotation",search:"/search"}},StorageAdapter.prototype.create=function(e){return void 0!==e&&null!==e||(e={}),this._cycle(e,"create","beforeAnnotationCreated","annotationCreated")},StorageAdapter.prototype.update=function(e){if(void 0===e.id||null===e.id)throw new TypeError("annotation must have an id for update()");return this._cycle(e,"update","beforeAnnotationUpdated","annotationUpdated")},StorageAdapter.prototype.delete=function(e){if(void 0===e.id||null===e.id)throw new TypeError("annotation must have an id for delete()");return this._cycle(e,"delete","beforeAnnotationDeleted","annotationDeleted")},StorageAdapter.prototype.query=function(e){return a.resolve(this.store.query(e))},StorageAdapter.prototype.load=function(e){var t=this;return this.query(e).then(function(e){t.runHook("annotationsLoaded",[e.results])})},StorageAdapter.prototype._cycle=function(e,t,n,r){var i=this;return this.runHook(n,[e]).then(function(){var n=o.extend(!0,{},e);delete n._local;var r=i.store[t](n);return a.resolve(r)}).then(function(t){for(var n in e)e.hasOwnProperty(n)&&"_local"!==n&&delete e[n];return o.extend(e,t),i.runHook(r,[e]),e})},t.StorageAdapter=StorageAdapter},function(e,t,n){"use strict";var r=n(3).Widget,o=n(1),i=o.$,a=o.gettext,s="annotator-adder",u=r.extend({constructor:function(e){r.call(this,e),this.ignoreMouseup=!1,this.annotation=null,this.onCreate=this.options.onCreate;var t=this;this.element.on("click."+s,"button",function(e){t._onClick(e)}).on("mousedown."+s,"button",function(e){t._onMousedown(e)}),this.document=this.element[0].ownerDocument,i(this.document.body).on("mouseup."+s,function(e){t._onMouseup(e)})},destroy:function(){this.element.off("."+s),i(this.document.body).off("."+s),r.prototype.destroy.call(this)},load:function(e,t){this.annotation=e,this.show(t)},show:function(e){void 0!==e&&null!==e&&this.element.css({top:e.top,left:e.left}),r.prototype.show.call(this)},_onMousedown:function(e){e.which>1||(e.preventDefault(),this.ignoreMouseup=!0)},_onMouseup:function(e){e.which>1||this.ignoreMouseup&&e.stopImmediatePropagation()},_onClick:function(e){e.which>1||(e.preventDefault(),this.hide(),this.ignoreMouseup=!1,null!==this.annotation&&"function"==typeof this.onCreate&&this.onCreate(this.annotation,e))}});u.template=['<div class="annotator-adder annotator-hide">',' <button type="button">'+a("Annotate")+"</button>","</div>"].join("\n"),u.options={onCreate:null},t.Adder=u},function(e,t,n){"use strict";function preventEventDefault(e){void 0!==e&&null!==e&&"function"==typeof e.preventDefault&&e.preventDefault()}var r=n(3).Widget,o=n(1),i=o.$,a=o.gettext,s=o.Promise,u="annotator-editor",l=function(){var e;return e=-1,function(){return e+=1}}(),c=t.dragTracker=function(e,t){function mouseMove(e){if(!r&&null!==n){var o={y:e.pageY-n.top,x:e.pageX-n.left},i=!0;"function"==typeof t&&(i=t(o)),!1!==i&&(n={top:e.pageY,left:e.pageX}),r=!0,setTimeout(function(){r=!1},1e3/60)}}function mouseUp(){n=null,i(e.ownerDocument).off("mouseup",mouseUp).off("mousemove",mouseMove)}function mouseDown(t){t.target===e&&(n={top:t.pageY,left:t.pageX},i(e.ownerDocument).on("mouseup",mouseUp).on("mousemove",mouseMove),t.preventDefault())}function destroy(){i(e).off("mousedown",mouseDown)}var n=null,r=!1;return i(e).on("mousedown",mouseDown),{destroy:destroy}},f=t.resizer=function(e,t,n){function translate(e){var t=1,r=-1;return"function"==typeof n.invertedX&&n.invertedX()&&(t=-1),"function"==typeof n.invertedY&&n.invertedY()&&(r=1),{x:e.x*t,y:e.y*r}}function resize(e){var t=r.height(),n=r.width(),o=translate(e);return Math.abs(o.x)>0&&r.width(n+o.x),Math.abs(o.y)>0&&r.height(t+o.y),r.height()!==t||r.width()!==n}var r=i(e);return void 0!==n&&null!==n||(n={}),c(t,resize)},d=t.mover=function(e,t){function move(t){i(e).css({top:parseInt(i(e).css("top"),10)+t.y,left:parseInt(i(e).css("left"),10)+t.x})}return c(t,move)},h=t.Editor=r.extend({constructor:function(e){r.call(this,e),this.fields=[],this.annotation={},this.options.defaultFields&&this.addField({type:"textarea",label:a("Comments")+"…",load:function(e,t){i(e).find("textarea").val(t.text||"")},submit:function(e,t){t.text=i(e).find("textarea").val()}});var t=this;this.element.on("submit."+u,"form",function(e){t._onFormSubmit(e)}).on("click."+u,".annotator-save",function(e){t._onSaveClick(e)}).on("click."+u,".annotator-cancel",function(e){t._onCancelClick(e)}).on("mouseover."+u,".annotator-cancel",function(e){t._onCancelMouseover(e)}).on("keydown."+u,"textarea",function(e){t._onTextareaKeydown(e)})},destroy:function(){this.element.off("."+u),r.prototype.destroy.call(this)},show:function(e){void 0!==e&&null!==e&&this.element.css({top:e.top,left:e.left}),this.element.find(".annotator-save").addClass(this.classes.focus),r.prototype.show.call(this),this.element.find(":input:first").focus(),this._setupDraggables()},load:function(e,t){this.annotation=e;for(var n=0,r=this.fields.length;n<r;n++){var o=this.fields[n];o.load(o.element,this.annotation)}var i=this;return new s(function(e,n){i.dfd={resolve:e,reject:n},i.show(t)})},submit:function(){for(var e=0,t=this.fields.length;e<t;e++){var n=this.fields[e];n.submit(n.element,this.annotation)}void 0!==this.dfd&&null!==this.dfd&&this.dfd.resolve(),this.hide()},cancel:function(){void 0!==this.dfd&&null!==this.dfd&&this.dfd.reject("editing cancelled"),this.hide()},addField:function(e){var t=i.extend({id:"annotator-field-"+l(),type:"input",label:"",load:function(){},submit:function(){}},e),n=null,r=i('<li class="annotator-item" />');return t.element=r[0],"textarea"===t.type?n=i("<textarea />"):"checkbox"===t.type?n=i('<input type="checkbox" />'):"input"===t.type?n=i("<input />"):"select"===t.type&&(n=i("<select />")),r.append(n),n.attr({id:t.id,placeholder:t.label}),"checkbox"===t.type&&(r.addClass("annotator-checkbox"),r.append(i("<label />",{for:t.id,html:t.label}))),this.element.find("ul:first").append(r),this.fields.push(t),t.element},checkOrientation:function(){r.prototype.checkOrientation.call(this);var e=this.element.find("ul").first(),t=this.element.find(".annotator-controls");return this.element.hasClass(this.classes.invert.y)?t.insertBefore(e):t.is(":first-child")&&t.insertAfter(e),this},_onFormSubmit:function(e){preventEventDefault(e),this.submit()},_onSaveClick:function(e){preventEventDefault(e),this.submit()},_onCancelClick:function(e){preventEventDefault(e),this.cancel()},_onCancelMouseover:function(){this.element.find("."+this.classes.focus).removeClass(this.classes.focus)},_onTextareaKeydown:function(e){27===e.which?this.cancel():13!==e.which||e.shiftKey||this.submit()},_setupDraggables:function(){void 0!==this._resizer&&null!==this._resizer&&this._resizer.destroy(),void 0!==this._mover&&null!==this._mover&&this._mover.destroy(),this.element.find(".annotator-resize").remove();var e;(e=this.element.hasClass(this.classes.invert.y)?this.element.find(".annotator-item:last"):this.element.find(".annotator-item:first"))&&i('<span class="annotator-resize"></span>').appendTo(e);var t=this.element.find(".annotator-controls")[0],n=this.element.find("textarea:first")[0],r=this.element.find(".annotator-resize")[0],o=this;this._resizer=f(n,r,{invertedX:function(){return o.element.hasClass(o.classes.invert.x)},invertedY:function(){return o.element.hasClass(o.classes.invert.y)}}),this._mover=d(this.element[0],t)}});h.classes={hide:"annotator-hide",focus:"annotator-focus"},h.template=['<div class="annotator-outer annotator-editor annotator-hide">',' <form class="annotator-widget">',' <ul class="annotator-listing"></ul>',' <div class="annotator-controls">',' <a href="#cancel" class="annotator-cancel">'+a("Cancel")+"</a>",' <a href="#save"',' class="annotator-save annotator-focus">'+a("Save")+"</a>"," </div>"," </form>","</div>"].join("\n"),h.options={defaultFields:!0},t.standalone=function(e){var n=new t.Editor(e);return{destroy:function(){n.destroy()},beforeAnnotationCreated:function(e){return n.load(e)},beforeAnnotationUpdated:function(e){return n.load(e)}}}},function(e,t,n){"use strict";(function(e){function highlightRange(t,n){void 0!==n&&null!==n||(n="annotator-hl");for(var r=/^\s*$/,o=t.textNodes(),i=[],a=0,s=o.length;a<s;a++){var u=o[a];if(!r.test(u.nodeValue)){var l=e.document.createElement("span");l.className=n,u.parentNode.replaceChild(l,u),l.appendChild(u),i.push(l)}}return i}function reanchorRange(e,t){try{return r.Range.sniff(e).normalize(t)}catch(e){if(!(e instanceof r.Range.RangeError))throw e}return null}var r=n(18),o=n(1),i=o.$,a=o.Promise,s=t.Highlighter=function Highlighter(e,t){this.element=e,this.options=i.extend(!0,{},Highlighter.options,t)};s.prototype.destroy=function(){i(this.element).find("."+this.options.highlightClass).each(function(e,t){i(t).contents().insertBefore(t),i(t).remove()})},s.prototype.drawAll=function(e){var t=this;return new a(function(n){function loader(e){void 0!==e&&null!==e||(e=[]);for(var o=e.splice(0,t.options.chunkSize),i=0,a=o.length;i<a;i++)r=r.concat(t.draw(o[i]));e.length>0?setTimeout(function(){loader(e)},t.options.chunkDelay):n(r)}var r=[];loader(e.slice())})},s.prototype.draw=function(e){for(var t=[],n=0,r=e.ranges.length;n<r;n++){var o=reanchorRange(e.ranges[n],this.element);null!==o&&t.push(o)}void 0!==e._local&&null!==e._local||(e._local={}),void 0!==e._local.highlights&&null===e._local.highlights||(e._local.highlights=[]);for(var a=0,s=t.length;a<s;a++){var u=t[a];i.merge(e._local.highlights,highlightRange(u,this.options.highlightClass))}return i(e._local.highlights).data("annotation",e),void 0!==e.id&&null!==e.id&&i(e._local.highlights).attr("data-annotation-id",e.id),e._local.highlights},s.prototype.undraw=function(e){if(void 0!==e._local&&null!==e._local&&void 0!==e._local.highlights&&null!==e._local.highlights){for(var t=0,n=e._local.highlights.length;t<n;t++){var r=e._local.highlights[t];null!==r.parentNode&&i(r).replaceWith(r.childNodes)}delete e._local.highlights}},s.prototype.redraw=function(e){return this.undraw(e),this.draw(e)},s.options={highlightClass:"annotator-hl",chunkSize:10,chunkDelay:10},t.standalone=function(e,n){var r=t.Highlighter(e,n);return{destroy:function(){r.destroy()},annotationsLoaded:function(e){r.drawAll(e)},annotationCreated:function(e){r.draw(e)},annotationDeleted:function(e){r.undraw(e)},annotationUpdated:function(e){r.redraw(e)}}}}).call(t,n(2))},function(e,t,n){"use strict";(function(e){function isAnnotator(e){return 0!==i(e).parents().addBack().filter("[class^=annotator-]").length}function TextSelector(e,t){if(this.element=e,this.options=i.extend(!0,{},TextSelector.options,t),this.onSelection=this.options.onSelection,void 0!==this.element.ownerDocument&&null!==this.element.ownerDocument){var n=this;this.document=this.element.ownerDocument,i(this.document.body).on("mouseup."+a,function(e){n._checkForEndSelection(e)})}else console.warn("You created an instance of the TextSelector on an element that doesn't have an ownerDocument. This won't work! Please ensure the element is added to the DOM before the plugin is configured:",this.element)}var r=n(18),o=n(1),i=o.$,a="annotator-textselector";TextSelector.prototype.destroy=function(){this.document&&i(this.document.body).off("."+a)},TextSelector.prototype.captureDocumentSelection=function(){var t,n,o=[],i=[],a=e.getSelection();if(a.isCollapsed)return[];for(t=0;t<a.rangeCount;t++){var s=a.getRangeAt(t),u=new r.Range.BrowserRange(s),l=u.normalize().limit(this.element);null===l?i.push(s):o.push(l)}for(a.removeAllRanges(),t=0,n=i.length;t<n;t++)a.addRange(i[t]);for(t=0,n=o.length;t<n;t++){var c=o[t],f=this.document.createRange();f.setStartBefore(c.start),f.setEndAfter(c.end),a.addRange(f)}return o},TextSelector.prototype._checkForEndSelection=function(e){var t=this,n=function(){"function"==typeof t.onSelection&&t.onSelection([],e)},r=this.captureDocumentSelection();if(0===r.length)return void n();for(var o=0,a=r.length;o<a;o++){var s=r[o].commonAncestor;if(i(s).hasClass("annotator-hl")&&(s=i(s).parents("[class!=annotator-hl]")[0]),isAnnotator(s))return void n()}"function"==typeof this.onSelection&&this.onSelection(r,e)},TextSelector.options={onSelection:null},t.TextSelector=TextSelector}).call(t,n(2))},function(e,t,n){"use strict";function parseLinks(e,t,n){n=i.extend({},n,{rel:t});for(var r=[],o=0,a=e.length;o<a;o++){var s=e[o],u=!0;for(var l in n)if(n.hasOwnProperty(l)&&s[l]!==n[l]){u=!1;break}u&&r.push(s)}return r}var r=n(3).Widget,o=n(1),i=o.$,a=o.gettext,s="annotator-viewer",u=t.Viewer=r.extend({constructor:function(e){r.call(this,e),this.itemTemplate=u.itemTemplate,this.fields=[],this.annotations=[],this.hideTimer=null,this.hideTimerDfd=null,this.hideTimerActivity=null,this.mouseDown=!1,this.render=function(e){return e.text?o.escapeHtml(e.text):"<i>"+a("No comment")+"</i>"};var t=this;if(this.options.defaultFields&&this.addField({load:function(e,n){i(e).html(t.render(n))}}),"function"!=typeof this.options.onEdit)throw new TypeError("onEdit callback must be a function");if("function"!=typeof this.options.onDelete)throw new TypeError("onDelete callback must be a function");if("function"!=typeof this.options.permitEdit)throw new TypeError("permitEdit callback must be a function");if("function"!=typeof this.options.permitDelete)throw new TypeError("permitDelete callback must be a function");this.options.autoViewHighlights&&(this.document=this.options.autoViewHighlights.ownerDocument,i(this.options.autoViewHighlights).on("mouseover."+s,".annotator-hl",function(e){e.target===this&&t._onHighlightMouseover(e)}).on("mouseleave."+s,".annotator-hl",function(){t._startHideTimer()}),i(this.document.body).on("mousedown."+s,function(e){1===e.which&&(t.mouseDown=!0)}).on("mouseup."+s,function(e){1===e.which&&(t.mouseDown=!1)})),this.element.on("click."+s,".annotator-edit",function(e){t._onEditClick(e)}).on("click."+s,".annotator-delete",function(e){t._onDeleteClick(e)}).on("mouseenter."+s,function(){t._clearHideTimer()}).on("mouseleave."+s,function(){t._startHideTimer()})},destroy:function(){this.options.autoViewHighlights&&(i(this.options.autoViewHighlights).off("."+s),i(this.document.body).off("."+s)),this.element.off("."+s),r.prototype.destroy.call(this)},show:function(e){void 0!==e&&null!==e&&this.element.css({top:e.top,left:e.left});var t=this.element.find(".annotator-controls").addClass(this.classes.showControls),n=this;setTimeout(function(){t.removeClass(n.classes.showControls)},500),r.prototype.show.call(this)},load:function(e,t){this.annotations=e||[];for(var n=this.element.find("ul:first").empty(),r=0,o=this.annotations.length;r<o;r++){var i=this.annotations[r];this._annotationItem(i).appendTo(n).data("annotation",i)}this.show(t)},setRenderer:function(e){this.render=e},_annotationItem:function(e){var t=i(this.itemTemplate).clone(),n=t.find(".annotator-controls"),r=n.find(".annotator-link"),o=n.find(".annotator-edit"),a=n.find(".annotator-delete"),s=parseLinks(e.links||[],"alternate",{type:"text/html"});s.length>0&&void 0!==s[0].href&&null!==s[0].href?r.attr("href",s[0].href):r.remove();var u={};this.options.permitEdit(e)?(u.showEdit=function(){o.removeAttr("disabled")},u.hideEdit=function(){o.attr("disabled","disabled")}):o.remove(),this.options.permitDelete(e)?(u.showDelete=function(){a.removeAttr("disabled")},u.hideDelete=function(){a.attr("disabled","disabled")}):a.remove();for(var l=0,c=this.fields.length;l<c;l++){var f=this.fields[l],d=i(f.element).clone().appendTo(t)[0];f.load(d,e,u)}return t},addField:function(e){var t=i.extend({load:function(){}},e);return t.element=i("<div />")[0],this.fields.push(t),this},_onEditClick:function(e){var t=i(e.target).parents(".annotator-annotation").data("annotation");this.hide(),this.options.onEdit(t)},_onDeleteClick:function(e){if(window.confirm(a("Delete this annotation?"))){var t=i(e.target).parents(".annotator-annotation").data("annotation");this.hide(),this.options.onDelete(t)}},_onHighlightMouseover:function(e){if(!this.mouseDown){var t=this;this._startHideTimer(!0).done(function(){var n=i(e.target).parents(".annotator-hl").addBack().map(function(e,t){return i(t).data("annotation")}).toArray();t.load(n,o.mousePosition(e))})}},_startHideTimer:function(e){if(void 0!==e&&null!==e||(e=!1),this.hideTimer){if(!1===e||this.hideTimerActivity===e)return this.hideTimerDfd;this._clearHideTimer()}var t;if(t=e?this.options.activityDelay:this.options.inactivityDelay,this.hideTimerDfd=i.Deferred(),this.isShown()){var n=this;this.hideTimer=setTimeout(function(){n.hide(),n.hideTimerDfd.resolve(),n.hideTimer=null},t),this.hideTimerActivity=Boolean(e)}else this.hideTimer=null,this.hideTimerDfd.resolve(),this.hideTimerActivity=null;return this.hideTimerDfd.promise()},_clearHideTimer:function(){clearTimeout(this.hideTimer),this.hideTimer=null,this.hideTimerDfd.reject(),this.hideTimerActivity=null}});u.classes={showControls:"annotator-visible"},u.template=['<div class="annotator-outer annotator-viewer annotator-hide">',' <ul class="annotator-widget annotator-listing"></ul>',"</div>"].join("\n"),u.itemTemplate=['<li class="annotator-annotation annotator-item">',' <span class="annotator-controls">',' <a href="#"',' title="'+a("View as webpage")+'"',' class="annotator-link">'+a("View as webpage")+"</a>",' <button type="button"',' title="'+a("Edit")+'"',' class="annotator-edit">'+a("Edit")+"</button>",' <button type="button"',' title="'+a("Delete")+'"',' class="annotator-delete">'+a("Delete")+"</button>"," </span>","</li>"].join("\n"),u.options={defaultFields:!0,inactivityDelay:500,activityDelay:100,permitEdit:function(){return!1},permitDelete:function(){return!1},autoViewHighlights:null,onEdit:function(){},onDelete:function(){}},t.standalone=function(e){var n;return void 0!==e&&null!==e||(e={}),{start:function(r){var o=r.registry.getUtility("identityPolicy"),i=r.registry.getUtility("authorizationPolicy");void 0===e.onEdit&&(e.onEdit=function(e){r.annotations.update(e)}),void 0===e.onDelete&&(e.onDelete=function(e){r.annotations.delete(e)}),void 0===e.permitEdit&&(e.permitEdit=function(e){return i.permits("update",e,o.who())}),void 0===e.permitDelete&&(e.permitDelete=function(e){return i.permits("delete",e,o.who())}),n=new t.Viewer(e)},destroy:function(){n.destroy()}}}},function(e,t,n){"use strict"},function(e,t,n){"use strict";var r=n(4),o=function(e){return e&&e.__esModule?e:{default:e}}(r);o.default.bind("g u",function(){window.location.href=Routing.generate("homepage")}),o.default.bind("g s",function(){window.location.href=Routing.generate("starred")}),o.default.bind("g r",function(){window.location.href=Routing.generate("archive")}),o.default.bind("g a",function(){window.location.href=Routing.generate("all")}),o.default.bind("g t",function(){window.location.href=Routing.generate("tag")}),o.default.bind("g c",function(){window.location.href=Routing.generate("config")}),o.default.bind("g i",function(){window.location.href=Routing.generate("import")}),o.default.bind("g d",function(){window.location.href=Routing.generate("developer")}),o.default.bind("?",function(){window.location.href=Routing.generate("howto")}),o.default.bind("g l",function(){window.location.href=Routing.generate("fos_user_security_logout")})},function(e,t,n){!function(t){e.exports=t()}(function(){"use strict";var e={has:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},extend:function(e){for(var t=1;t<arguments.length;++t){var n=arguments[t];if(n)for(var r in n)e[r]=n[r]}return e}};return function(t,n){var r,o=this;r=t&&e.has(t,"constructor")?t.constructor:function(){return o.apply(this,arguments)},e.extend(r,o,n);var i=function(){this.constructor=r};return i.prototype=o.prototype,r.prototype=new i,t&&e.extend(r.prototype,t),r.__super__=o.prototype,r}})},function(e,t,n){(function(t,r){!function(t,n){e.exports=n()}(0,function(){"use strict";function objectOrFunction(e){return"function"==typeof e||"object"==typeof e&&null!==e}function isFunction(e){return"function"==typeof e}function setScheduler(e){s=e}function setAsap(e){u=e}function useVertxTimer(){return function(){a(flush)}}function useSetTimeout(){var e=setTimeout;return function(){return e(flush,1)}}function flush(){for(var e=0;e<i;e+=2){(0,p[e])(p[e+1]),p[e]=void 0,p[e+1]=void 0}i=0}function then(e,t){var n=arguments,r=this,o=new this.constructor(noop);void 0===o[m]&&makePromise(o);var i=r._state;return i?function(){var e=n[i-1];u(function(){return invokeCallback(i,o,e,r._result)})}():subscribe(r,o,e,t),o}function resolve(e){var t=this;if(e&&"object"==typeof e&&e.constructor===t)return e;var n=new t(noop);return _resolve(n,e),n}function noop(){}function selfFulfillment(){return new TypeError("You cannot resolve a promise with itself")}function cannotReturnOwn(){return new TypeError("A promises callback cannot return that same promise.")}function getThen(e){try{return e.then}catch(e){return b.error=e,b}}function tryThen(e,t,n,r){try{e.call(t,n,r)}catch(e){return e}}function handleForeignThenable(e,t,n){u(function(e){var r=!1,o=tryThen(n,t,function(n){r||(r=!0,t!==n?_resolve(e,n):fulfill(e,n))},function(t){r||(r=!0,_reject(e,t))},"Settle: "+(e._label||" unknown promise"));!r&&o&&(r=!0,_reject(e,o))},e)}function handleOwnThenable(e,t){t._state===y?fulfill(e,t._result):t._state===w?_reject(e,t._result):subscribe(t,void 0,function(t){return _resolve(e,t)},function(t){return _reject(e,t)})}function handleMaybeThenable(e,t,n){t.constructor===e.constructor&&n===then&&t.constructor.resolve===resolve?handleOwnThenable(e,t):n===b?_reject(e,b.error):void 0===n?fulfill(e,t):isFunction(n)?handleForeignThenable(e,t,n):fulfill(e,t)}function _resolve(e,t){e===t?_reject(e,selfFulfillment()):objectOrFunction(t)?handleMaybeThenable(e,t,getThen(t)):fulfill(e,t)}function publishRejection(e){e._onerror&&e._onerror(e._result),publish(e)}function fulfill(e,t){e._state===v&&(e._result=t,e._state=y,0!==e._subscribers.length&&u(publish,e))}function _reject(e,t){e._state===v&&(e._state=w,e._result=t,u(publishRejection,e))}function subscribe(e,t,n,r){var o=e._subscribers,i=o.length;e._onerror=null,o[i]=t,o[i+y]=n,o[i+w]=r,0===i&&e._state&&u(publish,e)}function publish(e){var t=e._subscribers,n=e._state;if(0!==t.length){for(var r=void 0,o=void 0,i=e._result,a=0;a<t.length;a+=3)r=t[a],o=t[a+n],r?invokeCallback(n,r,o,i):o(i);e._subscribers.length=0}}function ErrorObject(){this.error=null}function tryCatch(e,t){try{return e(t)}catch(e){return x.error=e,x}}function invokeCallback(e,t,n,r){var o=isFunction(n),i=void 0,a=void 0,s=void 0,u=void 0;if(o){if(i=tryCatch(n,r),i===x?(u=!0,a=i.error,i=null):s=!0,t===i)return void _reject(t,cannotReturnOwn())}else i=r,s=!0;t._state!==v||(o&&s?_resolve(t,i):u?_reject(t,a):e===y?fulfill(t,i):e===w&&_reject(t,i))}function initializePromise(e,t){try{t(function(t){_resolve(e,t)},function(t){_reject(e,t)})}catch(t){_reject(e,t)}}function nextId(){return T++}function makePromise(e){e[m]=T++,e._state=void 0,e._result=void 0,e._subscribers=[]}function Enumerator(e,t){this._instanceConstructor=e,this.promise=new e(noop),this.promise[m]||makePromise(this.promise),o(t)?(this._input=t,this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?fulfill(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&fulfill(this.promise,this._result))):_reject(this.promise,validationError())}function validationError(){return new Error("Array Methods must be provided an Array")}function all(e){return new Enumerator(this,e).promise}function race(e){var t=this;return new t(o(e)?function(n,r){for(var o=e.length,i=0;i<o;i++)t.resolve(e[i]).then(n,r)}:function(e,t){return t(new TypeError("You must pass an array to race."))})}function reject(e){var t=this,n=new t(noop);return _reject(n,e),n}function needsResolver(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function needsNew(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function Promise(e){this[m]=nextId(),this._result=this._state=void 0,this._subscribers=[],noop!==e&&("function"!=typeof e&&needsResolver(),this instanceof Promise?initializePromise(this,e):needsNew())}function polyfill(){var e=void 0;if(void 0!==r)e=r;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;if(t){var n=null;try{n=Object.prototype.toString.call(t.resolve())}catch(e){}if("[object Promise]"===n&&!t.cast)return}e.Promise=Promise}var e=void 0;e=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var o=e,i=0,a=void 0,s=void 0,u=function(e,t){p[i]=e,p[i+1]=t,2===(i+=2)&&(s?s(flush):g())},l="undefined"!=typeof window?window:void 0,c=l||{},f=c.MutationObserver||c.WebKitMutationObserver,d="undefined"==typeof self&&void 0!==t&&"[object process]"==={}.toString.call(t),h="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,p=new Array(1e3),g=void 0;g=d?function(){return function(){return t.nextTick(flush)}}():f?function(){var e=0,t=new f(flush),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}():h?function(){var e=new MessageChannel;return e.port1.onmessage=flush,function(){return e.port2.postMessage(0)}}():void 0===l?function(){try{var e=n(39);return a=e.runOnLoop||e.runOnContext,useVertxTimer()}catch(e){return useSetTimeout()}}():useSetTimeout();var m=Math.random().toString(36).substring(16),v=void 0,y=1,w=2,b=new ErrorObject,x=new ErrorObject,T=0;return Enumerator.prototype._enumerate=function(){for(var e=this.length,t=this._input,n=0;this._state===v&&n<e;n++)this._eachEntry(t[n],n)},Enumerator.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,r=n.resolve;if(r===resolve){var o=getThen(e);if(o===then&&e._state!==v)this._settledAt(e._state,t,e._result);else if("function"!=typeof o)this._remaining--,this._result[t]=e;else if(n===Promise){var i=new n(noop);handleMaybeThenable(i,e,o),this._willSettleAt(i,t)}else this._willSettleAt(new n(function(t){return t(e)}),t)}else this._willSettleAt(r(e),t)},Enumerator.prototype._settledAt=function(e,t,n){var r=this.promise;r._state===v&&(this._remaining--,e===w?_reject(r,n):this._result[t]=n),0===this._remaining&&fulfill(r,this._result)},Enumerator.prototype._willSettleAt=function(e,t){var n=this;subscribe(e,void 0,function(e){return n._settledAt(y,t,e)},function(e){return n._settledAt(w,t,e)})},Promise.all=all,Promise.race=race,Promise.resolve=resolve,Promise.reject=reject,Promise._setScheduler=setScheduler,Promise._setAsap=setAsap,Promise._asap=u,Promise.prototype={constructor:Promise,then:then,catch:function(e){return this.then(null,e)}},polyfill(),Promise.polyfill=polyfill,Promise.Promise=Promise,Promise})}).call(t,n(37),n(2))},function(e,t,n){(function(){e.exports={xpath:n(20),Range:n(38)}}).call(this)},function(e,t,n){(function(){var t,r;t=n(0),r={},r.NodeTypes={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12},r.getFirstTextNodeNotBefore=function(e){var t;switch(e.nodeType){case r.NodeTypes.TEXT_NODE:return e;case r.NodeTypes.ELEMENT_NODE:if(null!=e.firstChild&&null!=(t=r.getFirstTextNodeNotBefore(e.firstChild)))return t}return e=e.nextSibling,null!=e?r.getFirstTextNodeNotBefore(e):null},r.getLastTextNodeUpTo=function(e){var t;switch(e.nodeType){case r.NodeTypes.TEXT_NODE:return e;case r.NodeTypes.ELEMENT_NODE:if(null!=e.lastChild&&null!=(t=r.getLastTextNodeUpTo(e.lastChild)))return t}return e=e.previousSibling,null!=e?r.getLastTextNodeUpTo(e):null},r.getTextNodes=function(e){var t;return t=function(e){var n;if(e&&e.nodeType!==r.NodeTypes.TEXT_NODE){if(n=[],e.nodeType!==r.NodeTypes.COMMENT_NODE)for(e=e.lastChild;e;)n.push(t(e)),e=e.previousSibling;return n.reverse()}return e},e.map(function(){return r.flatten(t(this))})},r.getGlobal=function(){return function(){return this}()},r.contains=function(e,t){var n;for(n=t;null!=n;){if(n===e)return!0;n=n.parentNode}return!1},r.flatten=function(e){var n;return(n=function(e){var r,o,i,a;for(o=[],i=0,a=e.length;i<a;i++)r=e[i],o=o.concat(r&&t.isArray(r)?n(r):r);return o})(e)},e.exports=r}).call(this)},function(e,t,n){(function(){var t,r,o,i,a,s,u,l,c,f;t=n(0),r=n(19),o=function(e,t,n){var r,o,a,s,u,l,c,f;null==t&&(t=document),null==n&&(n=null);try{return document.evaluate("."+e,t,n,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}catch(n){for(n,console.log("XPath evaluation failed."),console.log("Trying fallback..."),u=e.substring(1).split("/"),a=t,l=0,c=u.length;l<c;l++)s=u[l],f=s.split("["),o=f[0],r=f[1],r=null!=r?parseInt((null!=r?r.split("]"):void 0)[0]):1,a=i(a,o.toLowerCase(),r);return a}},l=function(e,n){var o;return o=e.map(function(){var e,o,i,a;for(i="",e=this;(null!=e?e.nodeType:void 0)===r.NodeTypes.ELEMENT_NODE&&e!==n;)a=e.tagName.replace(":","\\:"),o=t(e.parentNode).children(a).index(e)+1,o="["+o+"]",i="/"+e.tagName.toLowerCase()+o+i,e=e.parentNode;return i}),o.get()},c=function(e,t){var n,r,o,i;return n=function(e){var t,n;return t=s(e),n=u(e),t+"["+n+"]"},i=t,r=function(e){var t;for(t="";e!==i;){if(null==e)throw new Error("Called getPathTo on a node which was not a descendant of @rootNode. "+i);t=n(e)+"/"+t,e=e.parentNode}return t="/"+t,t=t.replace(/\/$/,"")},o=e.map(function(){return r(this)}),o.get()},i=function(e,t,n){var r,o,i,a,u;if(!e.hasChildNodes())throw new Error("XPath error: node has no children!");for(o=e.childNodes,i=0,a=0,u=o.length;a<u;a++)if(r=o[a],s(r)===t&&(i+=1)===n)return r;throw new Error("XPath error: wanted child not found.")},s=function(e){var t;switch(t=e.nodeName.toLowerCase()){case"#text":return"text()";case"#comment":return"comment()";case"#cdata-section":return"cdata-section()";default:return t}},u=function(e){var t,n;for(t=0,n=e;n;)n.nodeName===e.nodeName&&(t+=1),n=n.previousSibling;return t},a=function(e,t){var n;try{n=l(e,t)}catch(r){r,console.log("jQuery-based XPath construction failed! Falling back to manual."),n=c(e,t)}return n},f=function(e,n){var r,i,a,s;return null==n&&(n=document),t.isXMLDoc(document.documentElement)?(r=document.createNSResolver(null===document.ownerDocument?document.documentElement:document.ownerDocument.documentElement),a=o(e,n,r),a||(e=function(){var t,n,r,o;for(r=e.split("/"),o=[],t=0,n=r.length;t<n;t++)s=r[t],s&&-1===s.indexOf(":")?o.push(s.replace(/^([a-z]+)/,"xhtml:$1")):o.push(s);return o}().join("/"),i=document.lookupNamespaceURI(null),r=function(e){return"xhtml"===e?i:document.documentElement.getAttribute("xmlns:"+e)},a=o(e,n,r)),a):o(e,n)},e.exports={fromNode:a,toNode:f}}).call(this)},function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var r=n(0),o=_interopRequireDefault(r),i=n(22),a=_interopRequireDefault(i);n(34),n(33),n(31),n(14),n(15);var s=n(30);(0,o.default)(document).ready(function(){if((0,o.default)("article").length){var e=new a.default.App;e.include(a.default.ui.main,{element:document.querySelector("article")});var t={permits:function(){return!0}};e.registry.registerUtility(t,"authorizationPolicy");var n=JSON.parse((0,o.default)("#annotationroutes").html());e.include(a.default.storage.http,o.default.extend({},n,{onError:function(e,t){if(!Object.prototype.hasOwnProperty.call(t,"responseJSON"))return void a.default.notification.banner("An error occurred","error");o.default.each(t.responseJSON.children,function(e,t){t.errors&&o.default.each(t.errors,function(e,t){a.default.notification.banner(t,"error")})})}})),e.start().then(function(){e.annotations.load({entry:n.entryId})}),(0,o.default)(window).scroll(function(){var e=(0,o.default)(window).scrollTop(),t=(0,o.default)(document).height(),r=e/t,i=Math.round(100*r)/100;(0,s.savePercent)(n.entryId,i)}),(0,s.retrievePercent)(n.entryId),(0,o.default)(window).resize(function(){(0,s.retrievePercent)(n.entryId,!0)})}})},function(e,t,n){"use strict";(function(e){n(35)(n(32));var r=n(23),o=n(1);t.App=r.App,t.authz=n(5),t.identity=n(6),t.notification=n(7),t.storage=n(8),t.ui=n(25),t.util=o,t.ext={};var i=e.wgxpath;void 0!==i&&null!==i&&"function"==typeof i.install&&i.install();var a=e.annotator;t.noConflict=function(){return e.annotator=a,this}}).call(t,n(2))},function(e,t,n){"use strict";function App(){this.modules=[],this.registry=new u.Registry,this._started=!1,this.registry.registerUtility(s.defaultNotifier,"notifier"),this.include(i.acl),this.include(a.simple),this.include(l.noop)}var r=n(16),o=n(17).Promise,i=n(5),a=n(6),s=n(7),u=n(24),l=n(8);App.prototype.include=function(e,t){var n=e(t);return"function"==typeof n.configure&&n.configure(this.registry),this.modules.push(n),this},App.prototype.start=function(){if(!this._started){this._started=!0;var e=this,t=this.registry;return this.authz=t.getUtility("authorizationPolicy"),this.ident=t.getUtility("identityPolicy"),this.notify=t.getUtility("notifier"),this.annotations=new l.StorageAdapter(t.getUtility("storage"),function(){return e.runHook.apply(e,arguments)}),this.runHook("start",[this])}},App.prototype.destroy=function(){return this.runHook("destroy")},App.prototype.runHook=function(e,t){for(var n=[],r=0,i=this.modules.length;r<i;r++){var a=this.modules[r];"function"==typeof a[e]&&n.push(a[e].apply(a,t))}return o.all(n)},App.extend=r,t.App=App},function(e,t,n){"use strict";function Registry(){this.utilities={}}function LookupError(e){this.name="LookupError",this.message='No utility registered for interface "'+e+'".'}Registry.prototype.registerUtility=function(e,t){this.utilities[t]=e},Registry.prototype.getUtility=function(e){var t=this.queryUtility(e);if(null===t)throw new LookupError(e);return t},Registry.prototype.queryUtility=function(e){var t=this.utilities[e];return void 0===t||null===t?null:t},LookupError.prototype=Object.create(Error.prototype),LookupError.prototype.constructor=LookupError,t.LookupError=LookupError,t.Registry=Registry},function(e,t,n){t.main=n(27).main,t.adder=n(9),t.editor=n(10),t.filter=n(26),t.highlighter=n(11),t.markdown=n(28),t.tags=n(29),t.textselector=n(12),t.viewer=n(13),t.widget=n(3)},function(e,t,n){"use strict";var r=n(1),o=r.$,i=r.gettext,a="annotator-filter",s=t.Filter=function Filter(e){this.options=o.extend(!0,{},Filter.options,e),this.classes=o.extend(!0,{},Filter.classes),this.element=o(Filter.html.element).appendTo(this.options.appendTo),this.filter=o(Filter.html.filter),this.filters=[],this.current=0;for(var t=0,n=this.options.filters.length;t<n;t++){var r=this.options.filters[t];this.addFilter(r)}this.updateHighlights();var s=".annotator-filter-property input",u=this;this.element.on("focus."+a,s,function(e){u._onFilterFocus(e)}).on("blur."+a,s,function(e){u._onFilterBlur(e)}).on("keyup."+a,s,function(e){u._onFilterKeyup(e)}).on("click."+a,".annotator-filter-previous",function(e){u._onPreviousClick(e)}).on("click."+a,".annotator-filter-next",function(e){u._onNextClick(e)}).on("click."+a,".annotator-filter-clear",function(e){u._onClearClick(e)}),this._insertSpacer(),this.options.addAnnotationFilter&&this.addFilter({label:i("Annotation"),property:"text"})};s.prototype.destroy=function(){var e=o("html"),t=parseInt(e.css("padding-top"),10)||0;e.css("padding-top",t-this.element.outerHeight()),this.element.off("."+a),this.element.remove()},s.prototype._insertSpacer=function(){var e=o("html"),t=parseInt(e.css("padding-top"),10)||0;return e.css("padding-top",t+this.element.outerHeight()),this},s.prototype.addFilter=function(e){for(var t=o.extend({label:"",property:"",isFiltered:this.options.isFiltered},e),n=!1,r=0,a=this.filters.length;r<a;r++){if(this.filters[r].property===t.property){n=!0;break}}return n||(t.id="annotator-filter-"+t.property,t.annotations=[],t.element=this.filter.clone().appendTo(this.element),t.element.find("label").html(t.label).attr("for",t.id),t.element.find("input").attr({id:t.id,placeholder:i("Filter by ")+t.label+"…"}),t.element.find("button").hide(),t.element.data("filter",t),this.filters.push(t)),this},s.prototype.updateFilter=function(e){e.annotations=[],this.updateHighlights(),this.resetHighlights();var t=o.trim(e.element.find("input").val());if(t){var n=this.highlights.map(function(){return o(this).data("annotation")});n=o.makeArray(n);for(var r=0,i=n.length;r<i;r++){var a=n[r],s=a[e.property];e.isFiltered(t,s)&&e.annotations.push(a)}this.filterHighlights()}},s.prototype.updateHighlights=function(){this.highlights=o(this.options.filterElement).find(".annotator-hl:visible"),this.filtered=this.highlights.not(this.classes.hl.hide)},s.prototype.filterHighlights=function(){var e=o.grep(this.filters,function(e){return Boolean(e.annotations.length)}),t=[];if(e.length>0&&(t=e[0].annotations),e.length>1){var n=[];o.each(e,function(){o.merge(n,this.annotations)});var r=[];t=[],o.each(n,function(){-1===o.inArray(this,r)?r.push(this):t.push(this)})}for(var i=this.highlights,a=0,s=t.length;a<s;a++)i=i.not(t[a]._local.highlights);return i.addClass(this.classes.hl.hide),this.filtered=this.highlights.not(this.classes.hl.hide),this},s.prototype.resetHighlights=function(){return this.highlights.removeClass(this.classes.hl.hide),this.filtered=this.highlights,this},s.prototype._onFilterFocus=function(e){var t=o(e.target);t.parent().addClass(this.classes.active),t.next("button").show()},s.prototype._onFilterBlur=function(e){if(!e.target.value){var t=o(e.target);t.parent().removeClass(this.classes.active),t.next("button").hide()}},s.prototype._onFilterKeyup=function(e){var t=o(e.target).parent().data("filter");t&&this.updateFilter(t)},s.prototype._findNextHighlight=function(e){if(0===this.highlights.length)return this;var t=-1,n=0,r="gt";e&&(t=0,n=-1,r="lt");var o=this.highlights.not("."+this.classes.hl.hide),i=o.filter("."+this.classes.hl.active);0===i.length&&(i=o.eq(t));var a=i.data("annotation"),s=o.index(i[0]),u=o.filter(":"+r+"("+s+")").not(a._local.highlights).eq(n);0===u.length&&(u=o.eq(n)),this._scrollToHighlight(u.data("annotation")._local.highlights)},s.prototype._onNextClick=function(){this._findNextHighlight()},s.prototype._onPreviousClick=function(){this._findNextHighlight(!0)},s.prototype._scrollToHighlight=function(e){e=o(e),this.highlights.removeClass(this.classes.hl.active),e.addClass(this.classes.hl.active),o("html, body").animate({scrollTop:e.offset().top-(this.element.height()+20)},150)},s.prototype._onClearClick=function(e){o(e.target).prev("input").val("").keyup().blur()},s.classes={active:"annotator-filter-active",hl:{hide:"annotator-hl-filtered",active:"annotator-hl-active"}},s.html={element:['<div class="annotator-filter">'," <strong>"+i("Navigate:")+"</strong>",' <span class="annotator-filter-navigation">',' <button type="button"',' class="annotator-filter-previous">'+i("Previous")+"</button>",' <button type="button"',' class="annotator-filter-next">'+i("Next")+"</button>"," </span>"," <strong>"+i("Filter by:")+"</strong>","</div>"].join("\n"),filter:['<span class="annotator-filter-property">'," <label></label>"," <input/>",' <button type="button"',' class="annotator-filter-clear">'+i("Clear")+"</button>","</span>"].join("\n")},s.options={appendTo:"body",filterElement:"body",filters:[],addAnnotationFilter:!0,isFiltered:function(e,t){if(!e||!t)return!1;for(var n=e.split(/\s+/),r=0,o=n.length;r<o;r++)if(-1===t.indexOf(n[r]))return!1;return!0}},t.standalone=function(e){var n=new t.Filter(e);return{destroy:function(){n.destroy()},annotationsLoaded:function(){n.updateHighlights()},annotationCreated:function(){n.updateHighlights()},annotationUpdated:function(){n.updateHighlights()},annotationDeleted:function(){n.updateHighlights()}}}},function(e,t,n){"use strict";(function(e){function trim(e){return"function"==typeof String.prototype.trim?String.prototype.trim.call(e):e.replace(/^[\s\xA0]+|[\s\xA0]+$/g,"")}function annotationFactory(e,t){return function(n){for(var r=[],o=[],i=0,a=n.length;i<a;i++){var s=n[i];r.push(trim(s.text())),o.push(s.serialize(e,t))}return{quote:r.join(" / "),ranges:o}}}function maxZIndex(e){for(var t=-1,n=0,o=e.length;n<o;n++){var i=r.$(e[n]);if("static"!==i.css("position")){var a=parseFloat(i.css("z-index"));a>t&&(t=a)}}return t}function injectDynamicStyle(){r.$("#annotator-dynamic-style").remove();var t=maxZIndex(r.$(e.document.body).find("*:not(annotator-adder):not(annotator-outer):not(annotator-notice):not(annotator-filter)").get());t=Math.max(t,1e3);var n=[".annotator-adder, .annotator-outer, .annotator-notice {"," z-index: "+(t+20)+";","}",".annotator-filter {"," z-index: "+(t+10)+";","}"].join("\n");r.$("<style>"+n+"</style>").attr("id","annotator-dynamic-style").attr("type","text/css").appendTo("head")}function removeDynamicStyle(){r.$("#annotator-dynamic-style").remove()}function addPermissionsCheckboxes(e,t,n){function createLoadCallback(e){return function(o,i){o=r.$(o).show();var a=t.who(),s=o.find("input");void 0!==a&&null!==a||o.hide(),n.permits("admin",i,a)||o.hide(),n.permits(e,i,null)?s.attr("checked","checked"):s.removeAttr("checked")}}function createSubmitCallback(e){return function(o,i){var a=t.who();void 0!==a&&null!==a&&(i.permissions||(i.permissions={}),r.$(o).find("input").is(":checked")?delete i.permissions[e]:i.permissions[e]=[n.authorizedUserId(a)])}}e.addField({type:"checkbox",label:l("Allow anyone to <strong>view</strong> this annotation"),load:createLoadCallback("read"),submit:createSubmitCallback("read")}),e.addField({type:"checkbox",label:l("Allow anyone to <strong>edit</strong> this annotation"),load:createLoadCallback("update"),submit:createSubmitCallback("update")})}function main(t){function start(e){var c=e.registry.getUtility("identityPolicy"),f=e.registry.getUtility("authorizationPolicy");l.adder=new o.Adder({onCreate:function(t){e.annotations.create(t)}}),l.adder.attach(),l.editor=new i.Editor({extensions:t.editorExtensions}),l.editor.attach(),addPermissionsCheckboxes(l.editor,c,f),l.highlighter=new a.Highlighter(t.element),l.textselector=new s.TextSelector(t.element,{onSelection:function(e,t){if(e.length>0){var o=n(e);l.interactionPoint=r.mousePosition(t),l.adder.load(o,l.interactionPoint)}else l.adder.hide()}}),l.viewer=new u.Viewer({onEdit:function(t){l.interactionPoint=r.$(l.viewer.element).css(["top","left"]),e.annotations.update(t)},onDelete:function(t){e.annotations.delete(t)},permitEdit:function(e){return f.permits("update",e,c.who())},permitDelete:function(e){return f.permits("delete",e,c.who())},autoViewHighlights:t.element,extensions:t.viewerExtensions}),l.viewer.attach(),injectDynamicStyle()}void 0!==t&&null!==t||(t={}),t.element=t.element||e.document.body,t.editorExtensions=t.editorExtensions||[],t.viewerExtensions=t.viewerExtensions||[];var n=annotationFactory(t.element,".annotator-hl"),l={interactionPoint:null};return{start:start,destroy:function(){l.adder.destroy(),l.editor.destroy(),l.highlighter.destroy(),l.textselector.destroy(),l.viewer.destroy(),removeDynamicStyle()},annotationsLoaded:function(e){l.highlighter.drawAll(e)},annotationCreated:function(e){l.highlighter.draw(e)},annotationDeleted:function(e){l.highlighter.undraw(e)},annotationUpdated:function(e){l.highlighter.redraw(e)},beforeAnnotationCreated:function(e){return l.editor.load(e,l.interactionPoint)},beforeAnnotationUpdated:function(e){return l.editor.load(e,l.interactionPoint)}}}var r=n(1),o=n(9),i=n(10),a=n(11),s=n(12),u=n(13),l=r.gettext;t.main=main}).call(t,n(2))},function(e,t,n){"use strict";(function(e){var r=n(1),o=r.gettext,i=t.render=function(t){var n=r.escapeHtml;return e.showdown&&"function"==typeof e.showdown.Converter&&(n=(new e.showdown.Converter).makeHtml),t.text?n(t.text):"<i>"+o("No comment")+"</i>"};t.viewerExtension=function(t){e.showdown&&"function"==typeof e.showdown.Converter||console.warn(o("To use the Markdown plugin, you must include Showdown into the page first.")),t.setRenderer(i)}}).call(t,n(2))},function(e,t,n){"use strict";function stringifyTags(e){return e.join(" ")}function parseTags(e){e=o.trim(e);var t=[];return e&&(t=e.split(/\s+/)),t}var r=n(1),o=r.$,i=r.gettext;t.viewerExtension=function(e){function updateViewer(e,t){e=o(e),t.tags&&o.isArray(t.tags)&&t.tags.length?e.addClass("annotator-tags").html(function(){return o.map(t.tags,function(e){return'<span class="annotator-tag">'+r.escapeHtml(e)+"</span>"}).join(" ")}):e.remove()}e.addField({load:updateViewer})},t.editorExtension=function(e){function updateField(e,t){var r="";t.tags&&(r=stringifyTags(t.tags)),n.val(r)}function setAnnotationTags(e,t){t.tags=parseTags(n.val())}var t=null,n=null;t=e.addField({label:i("Add some tags here")+"…",load:updateField,submit:setAnnotationTags}),n=o(t).find(":input")}},function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function supportsLocalStorage(){try{return"localStorage"in window&&null!==window.localStorage}catch(e){return!1}}function savePercent(e,t){return!!supportsLocalStorage()&&(localStorage["wallabag.article."+e+".percent"]=t,!0)}function retrievePercent(e,t){if(!supportsLocalStorage())return!1;var n=(0,o.default)(document).height(),r=localStorage["wallabag.article."+e+".percent"],i=n*r;return t||(0,o.default)("html,body").animate({scrollTop:i},"fast"),!0}Object.defineProperty(t,"__esModule",{value:!0}),t.retrievePercent=t.savePercent=void 0;var r=n(0),o=_interopRequireDefault(r);n(15),n(14);var i=n(36);_interopRequireDefault(i);t.savePercent=savePercent,t.retrievePercent=retrievePercent},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){var n={};e.exports=function(e,t){if(!n[e]){n[e]=!0;var r=document.createElement("style");r.setAttribute("type","text/css"),"textContent"in r?r.textContent=e:r.styleSheet.cssText=e;var o=document.getElementsByTagName("head")[0];t&&t.prepend?o.insertBefore(r,o.childNodes[0]):o.appendChild(r)}}},function(e,t,n){!function(t,n){e.exports=n()}(0,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(e,t,n){"use strict";e.exports=n(3)},function(e,t){"use strict";!function(){Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert first argument to object");for(var t=Object(e),n=1;n<arguments.length;n++){var r=arguments[n];if(void 0!==r&&null!==r){r=Object(r);for(var o=Object.keys(Object(r)),i=0,a=o.length;i<a;i++){var s=o[i],u=Object.getOwnPropertyDescriptor(r,s);void 0!==u&&u.enumerable&&(t[s]=r[s])}}}return t}})}()},function(e,t){"use strict";e.exports=function(){var e={};return e.utf16to8=function(e){var t,n,r,o;for(t="",r=e.length,n=0;n<r;n++)o=e.charCodeAt(n),o>=1&&o<=127?t+=e.charAt(n):o>2047?(t+=String.fromCharCode(224|o>>12&15),t+=String.fromCharCode(128|o>>6&63),t+=String.fromCharCode(128|o>>0&63)):(t+=String.fromCharCode(192|o>>6&31),t+=String.fromCharCode(128|o>>0&63));return t},e.utf8to16=function(e){var t,n,r,o,i,a;for(t="",r=e.length,n=0;n<r;)switch((o=e.charCodeAt(n++))>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=e.charAt(n-1);break;case 12:case 13:i=e.charCodeAt(n++),t+=String.fromCharCode((31&o)<<6|63&i);break;case 14:i=e.charCodeAt(n++),a=e.charCodeAt(n++),t+=String.fromCharCode((15&o)<<12|(63&i)<<6|(63&a)<<0)}return t},e}()},function(e,n,r){"use strict";r(1),r(4);var o=r(2),i=function(){function t(e){var t=new QRCode(e.typeNumber,e.correctLevel);t.addData(e.text),t.make();var n=document.createElement("canvas");n.width=e.width,n.height=e.height;var r=n.getContext("2d"),o=(e.width-2*e.padding)/t.getModuleCount(),i=(e.height-2*e.padding)/t.getModuleCount();if(e.reverse){var a="rgba(0, 0, 0, 0)";r.fillStyle=a,e.foreground=a}else r.fillStyle=e.background;r.fillRect(0,0,n.width,n.height);for(var s=0;s<t.getModuleCount();s++)for(var u=0;u<t.getModuleCount();u++){r.fillStyle=t.isDark(s,u)?e.foreground:e.background;var l=Math.ceil((u+1)*o)-Math.floor(u*o),c=Math.ceil((s+1)*o)-Math.floor(s*o);r.fillRect(Math.round(u*o)+e.padding,Math.round(s*i)+e.padding,l,c)}return n}var e={};return e.getQrBase64=function(e,n){"string"!=typeof e&&(e=""),"string"==typeof n?n={text:n}:"object"!=typeof n&&(n={}),n=Object.assign({padding:10,width:256,height:256,typeNumber:-1,correctLevel:QRErrorCorrectLevel.H,reverse:!1,background:"#ffffff",foreground:"#000000"},n);try{n.text=o.utf16to8(e)}catch(e){n.text=""+e}return t(n).toDataURL()},e.QRErrorCorrectLevel=QRErrorCorrectLevel,e}();!window.jrQrcode&&(window.jrQrcode=i),e.exports=i},function(e,t){function r(e){this.mode=s.MODE_8BIT_BYTE,this.data=e}function o(e,t){this.typeNumber=e,this.errorCorrectLevel=t,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=new Array}function n(e,t){if(void 0==e.length)throw new Error(e.length+"/"+t);for(var n=0;n<e.length&&0==e[n];)n++;this.num=new Array(e.length-n+t);for(var r=0;r<e.length-n;r++)this.num[r]=e[r+n]}function i(e,t){this.totalCount=e,this.dataCount=t}function a(){this.buffer=new Array,this.length=0}r.prototype={getLength:function(e){return this.data.length},write:function(e){for(var t=0;t<this.data.length;t++)e.put(this.data.charCodeAt(t),8)}},o.prototype={addData:function(e){var t=new r(e);this.dataList.push(t),this.dataCache=null},isDark:function(e,t){if(e<0||this.moduleCount<=e||t<0||this.moduleCount<=t)throw new Error(e+","+t);return this.modules[e][t]},getModuleCount:function(){return this.moduleCount},make:function(){if(this.typeNumber<1){var e=1;for(e=1;e<40;e++){for(var t=i.getRSBlocks(e,this.errorCorrectLevel),n=new a,r=0,o=0;o<t.length;o++)r+=t[o].dataCount;for(var o=0;o<this.dataList.length;o++){var s=this.dataList[o];n.put(s.mode,4),n.put(s.getLength(),c.getLengthInBits(s.mode,e)),s.write(n)}if(n.getLengthInBits()<=8*r)break}this.typeNumber=e}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(e,t){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var n=0;n<this.moduleCount;n++){this.modules[n]=new Array(this.moduleCount);for(var r=0;r<this.moduleCount;r++)this.modules[n][r]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(e,t),this.typeNumber>=7&&this.setupTypeNumber(e),null==this.dataCache&&(this.dataCache=o.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,t)},setupPositionProbePattern:function(e,t){for(var n=-1;n<=7;n++)if(!(e+n<=-1||this.moduleCount<=e+n))for(var r=-1;r<=7;r++)t+r<=-1||this.moduleCount<=t+r||(this.modules[e+n][t+r]=0<=n&&n<=6&&(0==r||6==r)||0<=r&&r<=6&&(0==n||6==n)||2<=n&&n<=4&&2<=r&&r<=4)},getBestMaskPattern:function(){for(var e=0,t=0,n=0;n<8;n++){this.makeImpl(!0,n);var r=c.getLostPoint(this);(0==n||e>r)&&(e=r,t=n)}return t},createMovieClip:function(e,t,n){var r=e.createEmptyMovieClip(t,n);this.make();for(var o=0;o<this.modules.length;o++)for(var i=1*o,a=0;a<this.modules[o].length;a++){var s=1*a,u=this.modules[o][a];u&&(r.beginFill(0,100),r.moveTo(s,i),r.lineTo(s+1,i),r.lineTo(s+1,i+1),r.lineTo(s,i+1),r.endFill())}return r},setupTimingPattern:function(){for(var e=8;e<this.moduleCount-8;e++)null==this.modules[e][6]&&(this.modules[e][6]=e%2==0);for(var t=8;t<this.moduleCount-8;t++)null==this.modules[6][t]&&(this.modules[6][t]=t%2==0)},setupPositionAdjustPattern:function(){for(var e=c.getPatternPosition(this.typeNumber),t=0;t<e.length;t++)for(var n=0;n<e.length;n++){var r=e[t],o=e[n];if(null==this.modules[r][o])for(var i=-2;i<=2;i++)for(var a=-2;a<=2;a++)this.modules[r+i][o+a]=-2==i||2==i||-2==a||2==a||0==i&&0==a}},setupTypeNumber:function(e){for(var t=c.getBCHTypeNumber(this.typeNumber),n=0;n<18;n++){var r=!e&&1==(t>>n&1);this.modules[Math.floor(n/3)][n%3+this.moduleCount-8-3]=r}for(var n=0;n<18;n++){var r=!e&&1==(t>>n&1);this.modules[n%3+this.moduleCount-8-3][Math.floor(n/3)]=r}},setupTypeInfo:function(e,t){for(var n=this.errorCorrectLevel<<3|t,r=c.getBCHTypeInfo(n),o=0;o<15;o++){var i=!e&&1==(r>>o&1);o<6?this.modules[o][8]=i:o<8?this.modules[o+1][8]=i:this.modules[this.moduleCount-15+o][8]=i}for(var o=0;o<15;o++){var i=!e&&1==(r>>o&1);o<8?this.modules[8][this.moduleCount-o-1]=i:o<9?this.modules[8][15-o-1+1]=i:this.modules[8][15-o-1]=i}this.modules[this.moduleCount-8][8]=!e},mapData:function(e,t){for(var n=-1,r=this.moduleCount-1,o=7,i=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var s=0;s<2;s++)if(null==this.modules[r][a-s]){var u=!1;i<e.length&&(u=1==(e[i]>>>o&1));var l=c.getMask(t,r,a-s);l&&(u=!u),this.modules[r][a-s]=u,-1==--o&&(i++,o=7)}if((r+=n)<0||this.moduleCount<=r){r-=n,n=-n;break}}}},o.PAD0=236,o.PAD1=17,o.createData=function(e,t,n){for(var r=i.getRSBlocks(e,t),s=new a,u=0;u<n.length;u++){var l=n[u];s.put(l.mode,4),s.put(l.getLength(),c.getLengthInBits(l.mode,e)),l.write(s)}for(var f=0,u=0;u<r.length;u++)f+=r[u].dataCount;if(s.getLengthInBits()>8*f)throw new Error("code length overflow. ("+s.getLengthInBits()+">"+8*f+")");for(s.getLengthInBits()+4<=8*f&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(!1);for(;!(s.getLengthInBits()>=8*f)&&(s.put(o.PAD0,8),!(s.getLengthInBits()>=8*f));)s.put(o.PAD1,8);return o.createBytes(s,r)},o.createBytes=function(e,t){for(var r=0,o=0,i=0,a=new Array(t.length),s=new Array(t.length),u=0;u<t.length;u++){var l=t[u].dataCount,f=t[u].totalCount-l;o=Math.max(o,l),i=Math.max(i,f),a[u]=new Array(l);for(var d=0;d<a[u].length;d++)a[u][d]=255&e.buffer[d+r];r+=l;var h=c.getErrorCorrectPolynomial(f),p=new n(a[u],h.getLength()-1),g=p.mod(h);s[u]=new Array(h.getLength()-1);for(var d=0;d<s[u].length;d++){var m=d+g.getLength()-s[u].length;s[u][d]=m>=0?g.get(m):0}}for(var v=0,d=0;d<t.length;d++)v+=t[d].totalCount;for(var y=new Array(v),w=0,d=0;d<o;d++)for(var u=0;u<t.length;u++)d<a[u].length&&(y[w++]=a[u][d]);for(var d=0;d<i;d++)for(var u=0;u<t.length;u++)d<s[u].length&&(y[w++]=s[u][d]);return y};for(var s={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},u={L:1,M:0,Q:3,H:2},l={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},c={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(e){for(var t=e<<10;c.getBCHDigit(t)-c.getBCHDigit(c.G15)>=0;)t^=c.G15<<c.getBCHDigit(t)-c.getBCHDigit(c.G15);return(e<<10|t)^c.G15_MASK},getBCHTypeNumber:function(e){for(var t=e<<12;c.getBCHDigit(t)-c.getBCHDigit(c.G18)>=0;)t^=c.G18<<c.getBCHDigit(t)-c.getBCHDigit(c.G18);return e<<12|t},getBCHDigit:function(e){for(var t=0;0!=e;)t++,e>>>=1;return t},getPatternPosition:function(e){return c.PATTERN_POSITION_TABLE[e-1]},getMask:function(e,t,n){switch(e){case l.PATTERN000:return(t+n)%2==0;case l.PATTERN001:return t%2==0;case l.PATTERN010:return n%3==0;case l.PATTERN011:return(t+n)%3==0;case l.PATTERN100:return(Math.floor(t/2)+Math.floor(n/3))%2==0;case l.PATTERN101:return t*n%2+t*n%3==0;case l.PATTERN110:return(t*n%2+t*n%3)%2==0;case l.PATTERN111:return(t*n%3+(t+n)%2)%2==0;default:throw new Error("bad maskPattern:"+e)}},getErrorCorrectPolynomial:function(e){for(var t=new n([1],0),r=0;r<e;r++)t=t.multiply(new n([1,f.gexp(r)],0));return t},getLengthInBits:function(e,t){if(1<=t&&t<10)switch(e){case s.MODE_NUMBER:return 10;case s.MODE_ALPHA_NUM:return 9;case s.MODE_8BIT_BYTE:case s.MODE_KANJI:return 8;default:throw new Error("mode:"+e)}else if(t<27)switch(e){case s.MODE_NUMBER:return 12;case s.MODE_ALPHA_NUM:return 11;case s.MODE_8BIT_BYTE:return 16;case s.MODE_KANJI:return 10;default:throw new Error("mode:"+e)}else{if(!(t<41))throw new Error("type:"+t);switch(e){case s.MODE_NUMBER:return 14;case s.MODE_ALPHA_NUM:return 13;case s.MODE_8BIT_BYTE:return 16;case s.MODE_KANJI:return 12;default:throw new Error("mode:"+e)}}},getLostPoint:function(e){for(var t=e.getModuleCount(),n=0,r=0;r<t;r++)for(var o=0;o<t;o++){for(var i=0,a=e.isDark(r,o),s=-1;s<=1;s++)if(!(r+s<0||t<=r+s))for(var u=-1;u<=1;u++)o+u<0||t<=o+u||0==s&&0==u||a==e.isDark(r+s,o+u)&&i++;i>5&&(n+=3+i-5)}for(var r=0;r<t-1;r++)for(var o=0;o<t-1;o++){var l=0;e.isDark(r,o)&&l++,e.isDark(r+1,o)&&l++,e.isDark(r,o+1)&&l++,e.isDark(r+1,o+1)&&l++,0!=l&&4!=l||(n+=3)}for(var r=0;r<t;r++)for(var o=0;o<t-6;o++)e.isDark(r,o)&&!e.isDark(r,o+1)&&e.isDark(r,o+2)&&e.isDark(r,o+3)&&e.isDark(r,o+4)&&!e.isDark(r,o+5)&&e.isDark(r,o+6)&&(n+=40);for(var o=0;o<t;o++)for(var r=0;r<t-6;r++)e.isDark(r,o)&&!e.isDark(r+1,o)&&e.isDark(r+2,o)&&e.isDark(r+3,o)&&e.isDark(r+4,o)&&!e.isDark(r+5,o)&&e.isDark(r+6,o)&&(n+=40);for(var c=0,o=0;o<t;o++)for(var r=0;r<t;r++)e.isDark(r,o)&&c++;return n+=Math.abs(100*c/t/t-50)/5*10}},f={glog:function(e){if(e<1)throw new Error("glog("+e+")");return f.LOG_TABLE[e]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return f.EXP_TABLE[e]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},d=0;d<8;d++)f.EXP_TABLE[d]=1<<d;for(var d=8;d<256;d++)f.EXP_TABLE[d]=f.EXP_TABLE[d-4]^f.EXP_TABLE[d-5]^f.EXP_TABLE[d-6]^f.EXP_TABLE[d-8];for(var d=0;d<255;d++)f.LOG_TABLE[f.EXP_TABLE[d]]=d;n.prototype={get:function(e){return this.num[e]},getLength:function(){return this.num.length},multiply:function(e){for(var t=new Array(this.getLength()+e.getLength()-1),r=0;r<this.getLength();r++)for(var o=0;o<e.getLength();o++)t[r+o]^=f.gexp(f.glog(this.get(r))+f.glog(e.get(o)));return new n(t,0)},mod:function(e){if(this.getLength()-e.getLength()<0)return this;for(var t=f.glog(this.get(0))-f.glog(e.get(0)),r=new Array(this.getLength()),o=0;o<this.getLength();o++)r[o]=this.get(o);for(var o=0;o<e.getLength();o++)r[o]^=f.gexp(f.glog(e.get(o))+t);return new n(r,0).mod(e)}},i.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],i.getRSBlocks=function(e,t){var n=i.getRsBlockTable(e,t);if(void 0==n)throw new Error("bad rs block @ typeNumber:"+e+"/errorCorrectLevel:"+t);for(var r=n.length/3,o=new Array,a=0;a<r;a++)for(var s=n[3*a+0],u=n[3*a+1],l=n[3*a+2],c=0;c<s;c++)o.push(new i(u,l));return o},i.getRsBlockTable=function(e,t){switch(t){case u.L:return i.RS_BLOCK_TABLE[4*(e-1)+0];case u.M:return i.RS_BLOCK_TABLE[4*(e-1)+1];case u.Q:return i.RS_BLOCK_TABLE[4*(e-1)+2];case u.H:return i.RS_BLOCK_TABLE[4*(e-1)+3];default:return}},a.prototype={get:function(e){var t=Math.floor(e/8);return 1==(this.buffer[t]>>>7-e%8&1)},put:function(e,t){for(var n=0;n<t;n++)this.putBit(1==(e>>>t-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){var t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},window.QRCode=o,window.QRErrorCorrectLevel=u;try{e.exports={QRCode:o,QRErrorCorrectLevel:u}}catch(e){}}])})},function(e,t){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(n===setTimeout)return setTimeout(e,0);if((n===defaultSetTimout||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}function runClearTimeout(e){if(r===clearTimeout)return clearTimeout(e);if((r===defaultClearTimeout||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{return r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}function cleanUpNextTick(){s&&i&&(s=!1,i.length?a=i.concat(a):u=-1,a.length&&drainQueue())}function drainQueue(){if(!s){var e=runTimeout(cleanUpNextTick);s=!0;for(var t=a.length;t;){for(i=a,a=[];++u<t;)i&&i[u].run();u=-1,t=a.length}i=null,s=!1,runClearTimeout(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}var n,r,o=e.exports={};!function(){try{n="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){n=defaultSetTimout}try{r="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){r=defaultClearTimeout}}();var i,a=[],s=!1,u=-1;o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];a.push(new Item(e,t)),1!==a.length||s||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=noop,o.addListener=noop,o.once=noop,o.off=noop,o.removeListener=noop,o.removeAllListeners=noop,o.emit=noop,o.prependListener=noop,o.prependOnceListener=noop,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,n){(function(){var t,r,o,i,a={}.hasOwnProperty,s=function(e,t){function ctor(){this.constructor=e}for(var n in t)a.call(t,n)&&(e[n]=t[n]);return ctor.prototype=t.prototype,e.prototype=new ctor,e.__super__=t.prototype,e};i=n(20),o=n(19),t=n(0),r={},r.sniff=function(e){return null!=e.commonAncestorContainer?new r.BrowserRange(e):"string"==typeof e.start?new r.SerializedRange(e):e.start&&"object"==typeof e.start?new r.NormalizedRange(e):(console.error("Could not sniff range type"),!1)},r.RangeError=function(e){function RangeError(e,t,n){this.type=e,this.message=t,this.parent=null!=n?n:null,RangeError.__super__.constructor.call(this,this.message)}return s(RangeError,e),RangeError}(Error),r.BrowserRange=function(){function BrowserRange(e){this.commonAncestorContainer=e.commonAncestorContainer,this.startContainer=e.startContainer,this.startOffset=e.startOffset,this.endContainer=e.endContainer,this.endOffset=e.endOffset}return BrowserRange.prototype.normalize=function(e){var t,n;if(this.tainted)return console.error("You may only call normalize() once on a BrowserRange!"),!1;for(this.tainted=!0,n={},this._normalizeStart(n),this._normalizeEnd(n),t={},n.startOffset>0?n.start.nodeValue.length>n.startOffset?t.start=n.start.splitText(n.startOffset):t.start=n.start.nextSibling:t.start=n.start,n.start===n.end?(t.start.nodeValue.length>n.endOffset-n.startOffset&&t.start.splitText(n.endOffset-n.startOffset),t.end=t.start):(n.end.nodeValue.length>n.endOffset&&n.end.splitText(n.endOffset),t.end=n.end),t.commonAncestor=this.commonAncestorContainer;t.commonAncestor.nodeType!==o.NodeTypes.ELEMENT_NODE;)t.commonAncestor=t.commonAncestor.parentNode;return new r.NormalizedRange(t)},BrowserRange.prototype._normalizeStart=function(e){return this.startContainer.nodeType===o.NodeTypes.ELEMENT_NODE?(e.start=o.getFirstTextNodeNotBefore(this.startContainer.childNodes[this.startOffset]),e.startOffset=0):(e.start=this.startContainer,e.startOffset=this.startOffset)},BrowserRange.prototype._normalizeEnd=function(e){var t,n;if(this.endContainer.nodeType!==o.NodeTypes.ELEMENT_NODE)return e.end=this.endContainer,e.endOffset=this.endOffset;if(null!=(n=this.endContainer.childNodes[this.endOffset])){for(t=n;null!=t&&t.nodeType!==o.NodeTypes.TEXT_NODE;)t=t.firstChild;null!=t&&(e.end=t,e.endOffset=0)}return null==e.end?(n=this.endOffset?this.endContainer.childNodes[this.endOffset-1]:this.endContainer.previousSibling,e.end=o.getLastTextNodeUpTo(n),e.endOffset=e.end.nodeValue.length):void 0},BrowserRange.prototype.serialize=function(e,t){return this.normalize(e).serialize(e,t)},BrowserRange}(),r.NormalizedRange=function(){function NormalizedRange(e){this.commonAncestor=e.commonAncestor,this.start=e.start,this.end=e.end}return NormalizedRange.prototype.normalize=function(e){return this},NormalizedRange.prototype.limit=function(e){var n,r,o,i,a,s;if(n=t.grep(this.textNodes(),function(n){return n.parentNode===e||t.contains(e,n.parentNode)}),!n.length)return null;for(this.start=n[0],this.end=n[n.length-1],o=t(this.start).parents(),s=t(this.end).parents(),i=0,a=s.length;i<a;i++)if(r=s[i],-1!==o.index(r)){this.commonAncestor=r;break}return this},NormalizedRange.prototype.serialize=function(e,n){var a,s,u;return s=function(r,a){var s,u,l,c,f,d,h,p;for(c=n?t(r).parents(":not("+n+")").eq(0):t(r).parent(),f=i.fromNode(c,e)[0],d=o.getTextNodes(c),u=d.slice(0,d.index(r)),l=0,h=0,p=u.length;h<p;h++)s=u[h],l+=s.nodeValue.length;return a?[f,l+r.nodeValue.length]:[f,l]},u=s(this.start),a=s(this.end,!0),new r.SerializedRange({start:u[0],end:a[0],startOffset:u[1],endOffset:a[1]})},NormalizedRange.prototype.text=function(){var e;return function(){var t,n,r,o;for(r=this.textNodes(),o=[],t=0,n=r.length;t<n;t++)e=r[t],o.push(e.nodeValue);return o}.call(this).join("")},NormalizedRange.prototype.textNodes=function(){var e,n,r,i;return r=o.getTextNodes(t(this.commonAncestor)),i=[r.index(this.start),r.index(this.end)],n=i[0],e=i[1],t.makeArray(r.slice(n,+e+1||9e9))},NormalizedRange}(),r.SerializedRange=function(){function SerializedRange(e){this.start=e.start,this.startOffset=e.startOffset,this.end=e.end,this.endOffset=e.endOffset}return SerializedRange.prototype.normalize=function(e){var n,a,s,u,l,c,f,d,h,p,g,m,v,y;for(c={},v=["start","end"],h=0,g=v.length;h<g;h++){l=v[h];try{u=i.toNode(this[l],e)}catch(e){throw a=e,new r.RangeError(l,"Error while finding "+l+" node: "+this[l]+": "+a,a)}if(!u)throw new r.RangeError(l,"Couldn't find "+l+" node: "+this[l]);for(s=0,f=this[l+"Offset"],"end"===l&&(f-=1),y=o.getTextNodes(t(u)),p=0,m=y.length;p<m;p++){if(d=y[p],s+d.nodeValue.length>f){c[l+"Container"]=d,c[l+"Offset"]=this[l+"Offset"]-s;break}s+=d.nodeValue.length}if(null==c[l+"Offset"])throw new r.RangeError(l+"offset","Couldn't find offset "+this[l+"Offset"]+" in element "+this[l])}return n=null!=document.compareDocumentPosition?function(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY}:function(e,t){return e.contains(t)},t(c.startContainer).parents().each(function(){var e;if(e=c.endContainer.nodeType===o.NodeTypes.TEXT_NODE?c.endContainer.parentNode:c.endContainer,n(this,e))return c.commonAncestorContainer=this,!1}),new r.BrowserRange(c).normalize(e)},SerializedRange.prototype.serialize=function(e,t){return this.normalize(e).serialize(e,t)},SerializedRange.prototype.toObject=function(){return{start:this.start,startOffset:this.startOffset,end:this.end,endOffset:this.endOffset}},SerializedRange}(),e.exports=r}).call(this)},function(e,t){},,function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var r=n(4),o=_interopRequireDefault(r),i=n(0),a=_interopRequireDefault(i);(0,a.default)(document).ready(function(){(0,a.default)("#article").length>0&&(o.default.bind("o",function(){(0,a.default)("div#article_toolbar ul.links a.original")[0].click()}),o.default.bind("f",function(){(0,a.default)("div#article_toolbar ul.links a.favorite")[0].click()}),o.default.bind("a",function(){(0,a.default)("div#article_toolbar ul.links a.markasread")[0].click()}),o.default.bind("del",function(){(0,a.default)("div#article_toolbar ul.links a.delete")[0].click()}))})},function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var r=n(0),o=_interopRequireDefault(r),i=n(4),a=_interopRequireDefault(i);(0,o.default)(document).ready(function(){a.default.bind("s",function(){return(0,o.default)("#search").trigger("click"),(0,o.default)("#search_entry_term").focus(),!1})})},function(e,t,n){"use strict";function toggleSaveLinkForm(e,t){(0,o.default)("#add-link-result").empty();var n=(0,o.default)("#bagit"),r=(0,o.default)("#bagit-form");n.toggleClass("active-current"),0===n.length&&("undefined"!==t&&t?r.css({position:"absolute",top:t.pageY,left:t.pageX-200}):r.css({position:"relative",top:"auto",left:"auto"}));var i=(0,o.default)("#search-form"),a=(0,o.default)("#plainurl");0!==i.length&&((0,o.default)("#search").removeClass("current"),(0,o.default)("#search-arrow").removeClass("arrow-down"),i.hide()),r.toggle(),(0,o.default)("#content").toggleClass("opacity03"),"undefined"!==e&&e&&a.val(e),a.focus()}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=toggleSaveLinkForm},,,,,function(e,t){},,,,,function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var r=n(0),o=_interopRequireDefault(r);n(21),n(42),n(41);var i=n(43),a=_interopRequireDefault(i);n(48),(0,o.default)(document).ready(function(){function toggleSearch(){(0,o.default)("#search-form").toggle(),(0,o.default)("#search").toggleClass("current"),(0,o.default)("#search").toggleClass("active-current"),(0,o.default)("#search-arrow").toggleClass("arrow-down"),(0,o.default)("#search").hasClass("current")?(0,o.default)("#content").addClass("opacity03"):(0,o.default)("#content").removeClass("opacity03")}function toggleFilter(){(0,o.default)("#filters").toggle()}function toggleDownload(){(0,o.default)("#download-form").toggle()}function toggleBagit(){(0,o.default)("#bagit-form").toggle(),(0,o.default)("#bagit").toggleClass("current"),(0,o.default)("#bagit").toggleClass("active-current"),(0,o.default)("#bagit-arrow").toggleClass("arrow-down"),(0,o.default)("#bagit").hasClass("current")?(0,o.default)("#content").addClass("opacity03"):(0,o.default)("#content").removeClass("opacity03")}function closePopups(){(0,o.default)("#links .messages").hide(),(0,o.default)("#links > li > a").removeClass("active-current"),(0,o.default)("#links > li > a").removeClass("current"),(0,o.default)("[id$=-arrow]").removeClass("arrow-down"),(0,o.default)("#content").removeClass("opacity03")}(0,o.default)("#menu").click(function(){(0,o.default)("#links").toggleClass("menu--open");var e=(0,o.default)("#content");e.hasClass("opacity03")&&e.removeClass("opacity03")}),(0,o.default)("#nav-btn-add-tag").on("click",function(){return(0,o.default)(".baggy-add-tag").toggle(100),(0,o.default)(".nav-panel-menu").addClass("hidden"),(0,o.default)("#tag_label").focus(),!1}),(0,o.default)("div").is("#filters")&&((0,o.default)("#button_filters").show(),(0,o.default)("#clear_form_filters").on("click",function(){return(0,o.default)("#filters input").val(""),(0,o.default)("#filters :checked").removeAttr("checked"),!1})),window.location.href.match("&closewin=true")&&window.close(),(0,o.default)("a.closeMessage").on("click",function(){return(0,o.default)(void 0).parents("div.messages").slideUp(300,function(){(0,o.default)(void 0).remove()}),!1}),(0,o.default)("#search-form").hide(),(0,o.default)("#bagit-form").hide(),(0,o.default)("#filters").hide(),(0,o.default)("#download-form").hide(),(0,o.default)("#search").click(function(){closePopups(),toggleSearch(),(0,o.default)("#searchfield").focus()}),(0,o.default)(".filter-btn").click(function(){closePopups(),toggleFilter()}),(0,o.default)(".download-btn").click(function(){closePopups(),toggleDownload()}),(0,o.default)("#bagit").click(function(){closePopups(),toggleBagit(),(0,o.default)("#plainurl").focus()}),(0,o.default)("#search-form-close").click(function(){toggleSearch()}),(0,o.default)("#filter-form-close").click(function(){toggleFilter()}),(0,o.default)("#download-form-close").click(function(){toggleDownload()}),(0,o.default)("#bagit-form-close").click(function(){toggleBagit()});var e=(0,o.default)("#bagit-form-form");e.submit(function(t){(0,o.default)("body").css("cursor","wait"),(0,o.default)("#add-link-result").empty(),o.default.ajax({type:e.attr("method"),url:e.attr("action"),data:e.serialize(),success:function(){(0,o.default)("#add-link-result").html("Done!"),(0,o.default)("#plainurl").val("").blur(""),(0,o.default)("body").css("cursor","auto")},error:function(){(0,o.default)("#add-link-result").html("Failed!"),(0,o.default)("body").css("cursor","auto")}}),t.preventDefault()}),(0,o.default)('article a[href^="http"]').after(function(){return'<a href="'+(0,o.default)(void 0).attr("href")+'" class="add-to-wallabag-link-after" title="add to wallabag"></a>'}),(0,o.default)(".add-to-wallabag-link-after").click(function(e){(0,a.default)((0,o.default)(void 0).attr("href"),e),e.preventDefault()})})}]); \ No newline at end of file
diff --git a/web/wallassets/material.css b/web/wallassets/material.css
index 8f229b0a..4a5f9b54 100644
--- a/web/wallassets/material.css
+++ b/web/wallassets/material.css
@@ -1,2 +1,2 @@
1.materialize-red{background-color:#e51c23!important}.materialize-red-text{color:#e51c23!important}.materialize-red.lighten-5{background-color:#fdeaeb!important}.materialize-red-text.text-lighten-5{color:#fdeaeb!important}.materialize-red.lighten-4{background-color:#f8c1c3!important}.materialize-red-text.text-lighten-4{color:#f8c1c3!important}.materialize-red.lighten-3{background-color:#f3989b!important}.materialize-red-text.text-lighten-3{color:#f3989b!important}.materialize-red.lighten-2{background-color:#ee6e73!important}.materialize-red-text.text-lighten-2{color:#ee6e73!important}.materialize-red.lighten-1{background-color:#ea454b!important}.materialize-red-text.text-lighten-1{color:#ea454b!important}.materialize-red.darken-1{background-color:#d0181e!important}.materialize-red-text.text-darken-1{color:#d0181e!important}.materialize-red.darken-2{background-color:#b9151b!important}.materialize-red-text.text-darken-2{color:#b9151b!important}.materialize-red.darken-3{background-color:#a21318!important}.materialize-red-text.text-darken-3{color:#a21318!important}.materialize-red.darken-4{background-color:#8b1014!important}.materialize-red-text.text-darken-4{color:#8b1014!important}.red{background-color:#f44336!important}.red-text{color:#f44336!important}.red.lighten-5{background-color:#ffebee!important}.red-text.text-lighten-5{color:#ffebee!important}.red.lighten-4{background-color:#ffcdd2!important}.red-text.text-lighten-4{color:#ffcdd2!important}.red.lighten-3{background-color:#ef9a9a!important}.red-text.text-lighten-3{color:#ef9a9a!important}.red.lighten-2{background-color:#e57373!important}.red-text.text-lighten-2{color:#e57373!important}.red.lighten-1{background-color:#ef5350!important}.red-text.text-lighten-1{color:#ef5350!important}.red.darken-1{background-color:#e53935!important}.red-text.text-darken-1{color:#e53935!important}.red.darken-2{background-color:#d32f2f!important}.red-text.text-darken-2{color:#d32f2f!important}.red.darken-3{background-color:#c62828!important}.red-text.text-darken-3{color:#c62828!important}.red.darken-4{background-color:#b71c1c!important}.red-text.text-darken-4{color:#b71c1c!important}.red.accent-1{background-color:#ff8a80!important}.red-text.text-accent-1{color:#ff8a80!important}.red.accent-2{background-color:#ff5252!important}.red-text.text-accent-2{color:#ff5252!important}.red.accent-3{background-color:#ff1744!important}.red-text.text-accent-3{color:#ff1744!important}.red.accent-4{background-color:#d50000!important}.red-text.text-accent-4{color:#d50000!important}.pink{background-color:#e91e63!important}.pink-text{color:#e91e63!important}.pink.lighten-5{background-color:#fce4ec!important}.pink-text.text-lighten-5{color:#fce4ec!important}.pink.lighten-4{background-color:#f8bbd0!important}.pink-text.text-lighten-4{color:#f8bbd0!important}.pink.lighten-3{background-color:#f48fb1!important}.pink-text.text-lighten-3{color:#f48fb1!important}.pink.lighten-2{background-color:#f06292!important}.pink-text.text-lighten-2{color:#f06292!important}.pink.lighten-1{background-color:#ec407a!important}.pink-text.text-lighten-1{color:#ec407a!important}.pink.darken-1{background-color:#d81b60!important}.pink-text.text-darken-1{color:#d81b60!important}.pink.darken-2{background-color:#c2185b!important}.pink-text.text-darken-2{color:#c2185b!important}.pink.darken-3{background-color:#ad1457!important}.pink-text.text-darken-3{color:#ad1457!important}.pink.darken-4{background-color:#880e4f!important}.pink-text.text-darken-4{color:#880e4f!important}.pink.accent-1{background-color:#ff80ab!important}.pink-text.text-accent-1{color:#ff80ab!important}.pink.accent-2{background-color:#ff4081!important}.pink-text.text-accent-2{color:#ff4081!important}.pink.accent-3{background-color:#f50057!important}.pink-text.text-accent-3{color:#f50057!important}.pink.accent-4{background-color:#c51162!important}.pink-text.text-accent-4{color:#c51162!important}.purple{background-color:#9c27b0!important}.purple-text{color:#9c27b0!important}.purple.lighten-5{background-color:#f3e5f5!important}.purple-text.text-lighten-5{color:#f3e5f5!important}.purple.lighten-4{background-color:#e1bee7!important}.purple-text.text-lighten-4{color:#e1bee7!important}.purple.lighten-3{background-color:#ce93d8!important}.purple-text.text-lighten-3{color:#ce93d8!important}.purple.lighten-2{background-color:#ba68c8!important}.purple-text.text-lighten-2{color:#ba68c8!important}.purple.lighten-1{background-color:#ab47bc!important}.purple-text.text-lighten-1{color:#ab47bc!important}.purple.darken-1{background-color:#8e24aa!important}.purple-text.text-darken-1{color:#8e24aa!important}.purple.darken-2{background-color:#7b1fa2!important}.purple-text.text-darken-2{color:#7b1fa2!important}.purple.darken-3{background-color:#6a1b9a!important}.purple-text.text-darken-3{color:#6a1b9a!important}.purple.darken-4{background-color:#4a148c!important}.purple-text.text-darken-4{color:#4a148c!important}.purple.accent-1{background-color:#ea80fc!important}.purple-text.text-accent-1{color:#ea80fc!important}.purple.accent-2{background-color:#e040fb!important}.purple-text.text-accent-2{color:#e040fb!important}.purple.accent-3{background-color:#d500f9!important}.purple-text.text-accent-3{color:#d500f9!important}.purple.accent-4{background-color:#a0f!important}.purple-text.text-accent-4{color:#a0f!important}.deep-purple{background-color:#673ab7!important}.deep-purple-text{color:#673ab7!important}.deep-purple.lighten-5{background-color:#ede7f6!important}.deep-purple-text.text-lighten-5{color:#ede7f6!important}.deep-purple.lighten-4{background-color:#d1c4e9!important}.deep-purple-text.text-lighten-4{color:#d1c4e9!important}.deep-purple.lighten-3{background-color:#b39ddb!important}.deep-purple-text.text-lighten-3{color:#b39ddb!important}.deep-purple.lighten-2{background-color:#9575cd!important}.deep-purple-text.text-lighten-2{color:#9575cd!important}.deep-purple.lighten-1{background-color:#7e57c2!important}.deep-purple-text.text-lighten-1{color:#7e57c2!important}.deep-purple.darken-1{background-color:#5e35b1!important}.deep-purple-text.text-darken-1{color:#5e35b1!important}.deep-purple.darken-2{background-color:#512da8!important}.deep-purple-text.text-darken-2{color:#512da8!important}.deep-purple.darken-3{background-color:#4527a0!important}.deep-purple-text.text-darken-3{color:#4527a0!important}.deep-purple.darken-4{background-color:#311b92!important}.deep-purple-text.text-darken-4{color:#311b92!important}.deep-purple.accent-1{background-color:#b388ff!important}.deep-purple-text.text-accent-1{color:#b388ff!important}.deep-purple.accent-2{background-color:#7c4dff!important}.deep-purple-text.text-accent-2{color:#7c4dff!important}.deep-purple.accent-3{background-color:#651fff!important}.deep-purple-text.text-accent-3{color:#651fff!important}.deep-purple.accent-4{background-color:#6200ea!important}.deep-purple-text.text-accent-4{color:#6200ea!important}.indigo{background-color:#3f51b5!important}.indigo-text{color:#3f51b5!important}.indigo.lighten-5{background-color:#e8eaf6!important}.indigo-text.text-lighten-5{color:#e8eaf6!important}.indigo.lighten-4{background-color:#c5cae9!important}.indigo-text.text-lighten-4{color:#c5cae9!important}.indigo.lighten-3{background-color:#9fa8da!important}.indigo-text.text-lighten-3{color:#9fa8da!important}.indigo.lighten-2{background-color:#7986cb!important}.indigo-text.text-lighten-2{color:#7986cb!important}.indigo.lighten-1{background-color:#5c6bc0!important}.indigo-text.text-lighten-1{color:#5c6bc0!important}.indigo.darken-1{background-color:#3949ab!important}.indigo-text.text-darken-1{color:#3949ab!important}.indigo.darken-2{background-color:#303f9f!important}.indigo-text.text-darken-2{color:#303f9f!important}.indigo.darken-3{background-color:#283593!important}.indigo-text.text-darken-3{color:#283593!important}.indigo.darken-4{background-color:#1a237e!important}.indigo-text.text-darken-4{color:#1a237e!important}.indigo.accent-1{background-color:#8c9eff!important}.indigo-text.text-accent-1{color:#8c9eff!important}.indigo.accent-2{background-color:#536dfe!important}.indigo-text.text-accent-2{color:#536dfe!important}.indigo.accent-3{background-color:#3d5afe!important}.indigo-text.text-accent-3{color:#3d5afe!important}.indigo.accent-4{background-color:#304ffe!important}.indigo-text.text-accent-4{color:#304ffe!important}.blue{background-color:#2196f3!important}.blue-text{color:#2196f3!important}.blue.lighten-5{background-color:#e3f2fd!important}.blue-text.text-lighten-5{color:#e3f2fd!important}.blue.lighten-4{background-color:#bbdefb!important}.blue-text.text-lighten-4{color:#bbdefb!important}.blue.lighten-3{background-color:#90caf9!important}.blue-text.text-lighten-3{color:#90caf9!important}.blue.lighten-2{background-color:#64b5f6!important}.blue-text.text-lighten-2{color:#64b5f6!important}.blue.lighten-1{background-color:#42a5f5!important}.blue-text.text-lighten-1{color:#42a5f5!important}.blue.darken-1{background-color:#1e88e5!important}.blue-text.text-darken-1{color:#1e88e5!important}.blue.darken-2{background-color:#1976d2!important}.blue-text.text-darken-2{color:#1976d2!important}.blue.darken-3{background-color:#1565c0!important}.blue-text.text-darken-3{color:#1565c0!important}.blue.darken-4{background-color:#0d47a1!important}.blue-text.text-darken-4{color:#0d47a1!important}.blue.accent-1{background-color:#82b1ff!important}.blue-text.text-accent-1{color:#82b1ff!important}.blue.accent-2{background-color:#448aff!important}.blue-text.text-accent-2{color:#448aff!important}.blue.accent-3{background-color:#2979ff!important}.blue-text.text-accent-3{color:#2979ff!important}.blue.accent-4{background-color:#2962ff!important}.blue-text.text-accent-4{color:#2962ff!important}.light-blue{background-color:#03a9f4!important}.light-blue-text{color:#03a9f4!important}.light-blue.lighten-5{background-color:#e1f5fe!important}.light-blue-text.text-lighten-5{color:#e1f5fe!important}.light-blue.lighten-4{background-color:#b3e5fc!important}.light-blue-text.text-lighten-4{color:#b3e5fc!important}.light-blue.lighten-3{background-color:#81d4fa!important}.light-blue-text.text-lighten-3{color:#81d4fa!important}.light-blue.lighten-2{background-color:#4fc3f7!important}.light-blue-text.text-lighten-2{color:#4fc3f7!important}.light-blue.lighten-1{background-color:#29b6f6!important}.light-blue-text.text-lighten-1{color:#29b6f6!important}.light-blue.darken-1{background-color:#039be5!important}.light-blue-text.text-darken-1{color:#039be5!important}.light-blue.darken-2{background-color:#0288d1!important}.light-blue-text.text-darken-2{color:#0288d1!important}.light-blue.darken-3{background-color:#0277bd!important}.light-blue-text.text-darken-3{color:#0277bd!important}.light-blue.darken-4{background-color:#01579b!important}.light-blue-text.text-darken-4{color:#01579b!important}.light-blue.accent-1{background-color:#80d8ff!important}.light-blue-text.text-accent-1{color:#80d8ff!important}.light-blue.accent-2{background-color:#40c4ff!important}.light-blue-text.text-accent-2{color:#40c4ff!important}.light-blue.accent-3{background-color:#00b0ff!important}.light-blue-text.text-accent-3{color:#00b0ff!important}.light-blue.accent-4{background-color:#0091ea!important}.light-blue-text.text-accent-4{color:#0091ea!important}.cyan{background-color:#00bcd4!important}.cyan-text{color:#00bcd4!important}.cyan.lighten-5{background-color:#e0f7fa!important}.cyan-text.text-lighten-5{color:#e0f7fa!important}.cyan.lighten-4{background-color:#b2ebf2!important}.cyan-text.text-lighten-4{color:#b2ebf2!important}.cyan.lighten-3{background-color:#80deea!important}.cyan-text.text-lighten-3{color:#80deea!important}.cyan.lighten-2{background-color:#4dd0e1!important}.cyan-text.text-lighten-2{color:#4dd0e1!important}.cyan.lighten-1{background-color:#26c6da!important}.cyan-text.text-lighten-1{color:#26c6da!important}.cyan.darken-1{background-color:#00acc1!important}.cyan-text.text-darken-1{color:#00acc1!important}.cyan.darken-2{background-color:#0097a7!important}.cyan-text.text-darken-2{color:#0097a7!important}.cyan.darken-3{background-color:#00838f!important}.cyan-text.text-darken-3{color:#00838f!important}.cyan.darken-4{background-color:#006064!important}.cyan-text.text-darken-4{color:#006064!important}.cyan.accent-1{background-color:#84ffff!important}.cyan-text.text-accent-1{color:#84ffff!important}.cyan.accent-2{background-color:#18ffff!important}.cyan-text.text-accent-2{color:#18ffff!important}.cyan.accent-3{background-color:#00e5ff!important}.cyan-text.text-accent-3{color:#00e5ff!important}.cyan.accent-4{background-color:#00b8d4!important}.cyan-text.text-accent-4{color:#00b8d4!important}.teal{background-color:#009688!important}.teal-text{color:#009688!important}.teal.lighten-5{background-color:#e0f2f1!important}.teal-text.text-lighten-5{color:#e0f2f1!important}.teal.lighten-4{background-color:#b2dfdb!important}.teal-text.text-lighten-4{color:#b2dfdb!important}.teal.lighten-3{background-color:#80cbc4!important}.teal-text.text-lighten-3{color:#80cbc4!important}.teal.lighten-2{background-color:#4db6ac!important}.teal-text.text-lighten-2{color:#4db6ac!important}.teal.lighten-1{background-color:#26a69a!important}.teal-text.text-lighten-1{color:#26a69a!important}.teal.darken-1{background-color:#00897b!important}.teal-text.text-darken-1{color:#00897b!important}.teal.darken-2{background-color:#00796b!important}.teal-text.text-darken-2{color:#00796b!important}.teal.darken-3{background-color:#00695c!important}.teal-text.text-darken-3{color:#00695c!important}.teal.darken-4{background-color:#004d40!important}.teal-text.text-darken-4{color:#004d40!important}.teal.accent-1{background-color:#a7ffeb!important}.teal-text.text-accent-1{color:#a7ffeb!important}.teal.accent-2{background-color:#64ffda!important}.teal-text.text-accent-2{color:#64ffda!important}.teal.accent-3{background-color:#1de9b6!important}.teal-text.text-accent-3{color:#1de9b6!important}.teal.accent-4{background-color:#00bfa5!important}.teal-text.text-accent-4{color:#00bfa5!important}.green{background-color:#4caf50!important}.green-text{color:#4caf50!important}.green.lighten-5{background-color:#e8f5e9!important}.green-text.text-lighten-5{color:#e8f5e9!important}.green.lighten-4{background-color:#c8e6c9!important}.green-text.text-lighten-4{color:#c8e6c9!important}.green.lighten-3{background-color:#a5d6a7!important}.green-text.text-lighten-3{color:#a5d6a7!important}.green.lighten-2{background-color:#81c784!important}.green-text.text-lighten-2{color:#81c784!important}.green.lighten-1{background-color:#66bb6a!important}.green-text.text-lighten-1{color:#66bb6a!important}.green.darken-1{background-color:#43a047!important}.green-text.text-darken-1{color:#43a047!important}.green.darken-2{background-color:#388e3c!important}.green-text.text-darken-2{color:#388e3c!important}.green.darken-3{background-color:#2e7d32!important}.green-text.text-darken-3{color:#2e7d32!important}.green.darken-4{background-color:#1b5e20!important}.green-text.text-darken-4{color:#1b5e20!important}.green.accent-1{background-color:#b9f6ca!important}.green-text.text-accent-1{color:#b9f6ca!important}.green.accent-2{background-color:#69f0ae!important}.green-text.text-accent-2{color:#69f0ae!important}.green.accent-3{background-color:#00e676!important}.green-text.text-accent-3{color:#00e676!important}.green.accent-4{background-color:#00c853!important}.green-text.text-accent-4{color:#00c853!important}.light-green{background-color:#8bc34a!important}.light-green-text{color:#8bc34a!important}.light-green.lighten-5{background-color:#f1f8e9!important}.light-green-text.text-lighten-5{color:#f1f8e9!important}.light-green.lighten-4{background-color:#dcedc8!important}.light-green-text.text-lighten-4{color:#dcedc8!important}.light-green.lighten-3{background-color:#c5e1a5!important}.light-green-text.text-lighten-3{color:#c5e1a5!important}.light-green.lighten-2{background-color:#aed581!important}.light-green-text.text-lighten-2{color:#aed581!important}.light-green.lighten-1{background-color:#9ccc65!important}.light-green-text.text-lighten-1{color:#9ccc65!important}.light-green.darken-1{background-color:#7cb342!important}.light-green-text.text-darken-1{color:#7cb342!important}.light-green.darken-2{background-color:#689f38!important}.light-green-text.text-darken-2{color:#689f38!important}.light-green.darken-3{background-color:#558b2f!important}.light-green-text.text-darken-3{color:#558b2f!important}.light-green.darken-4{background-color:#33691e!important}.light-green-text.text-darken-4{color:#33691e!important}.light-green.accent-1{background-color:#ccff90!important}.light-green-text.text-accent-1{color:#ccff90!important}.light-green.accent-2{background-color:#b2ff59!important}.light-green-text.text-accent-2{color:#b2ff59!important}.light-green.accent-3{background-color:#76ff03!important}.light-green-text.text-accent-3{color:#76ff03!important}.light-green.accent-4{background-color:#64dd17!important}.light-green-text.text-accent-4{color:#64dd17!important}.lime{background-color:#cddc39!important}.lime-text{color:#cddc39!important}.lime.lighten-5{background-color:#f9fbe7!important}.lime-text.text-lighten-5{color:#f9fbe7!important}.lime.lighten-4{background-color:#f0f4c3!important}.lime-text.text-lighten-4{color:#f0f4c3!important}.lime.lighten-3{background-color:#e6ee9c!important}.lime-text.text-lighten-3{color:#e6ee9c!important}.lime.lighten-2{background-color:#dce775!important}.lime-text.text-lighten-2{color:#dce775!important}.lime.lighten-1{background-color:#d4e157!important}.lime-text.text-lighten-1{color:#d4e157!important}.lime.darken-1{background-color:#c0ca33!important}.lime-text.text-darken-1{color:#c0ca33!important}.lime.darken-2{background-color:#afb42b!important}.lime-text.text-darken-2{color:#afb42b!important}.lime.darken-3{background-color:#9e9d24!important}.lime-text.text-darken-3{color:#9e9d24!important}.lime.darken-4{background-color:#827717!important}.lime-text.text-darken-4{color:#827717!important}.lime.accent-1{background-color:#f4ff81!important}.lime-text.text-accent-1{color:#f4ff81!important}.lime.accent-2{background-color:#eeff41!important}.lime-text.text-accent-2{color:#eeff41!important}.lime.accent-3{background-color:#c6ff00!important}.lime-text.text-accent-3{color:#c6ff00!important}.lime.accent-4{background-color:#aeea00!important}.lime-text.text-accent-4{color:#aeea00!important}.yellow{background-color:#ffeb3b!important}.yellow-text{color:#ffeb3b!important}.yellow.lighten-5{background-color:#fffde7!important}.yellow-text.text-lighten-5{color:#fffde7!important}.yellow.lighten-4{background-color:#fff9c4!important}.yellow-text.text-lighten-4{color:#fff9c4!important}.yellow.lighten-3{background-color:#fff59d!important}.yellow-text.text-lighten-3{color:#fff59d!important}.yellow.lighten-2{background-color:#fff176!important}.yellow-text.text-lighten-2{color:#fff176!important}.yellow.lighten-1{background-color:#ffee58!important}.yellow-text.text-lighten-1{color:#ffee58!important}.yellow.darken-1{background-color:#fdd835!important}.yellow-text.text-darken-1{color:#fdd835!important}.yellow.darken-2{background-color:#fbc02d!important}.yellow-text.text-darken-2{color:#fbc02d!important}.yellow.darken-3{background-color:#f9a825!important}.yellow-text.text-darken-3{color:#f9a825!important}.yellow.darken-4{background-color:#f57f17!important}.yellow-text.text-darken-4{color:#f57f17!important}.yellow.accent-1{background-color:#ffff8d!important}.yellow-text.text-accent-1{color:#ffff8d!important}.yellow.accent-2{background-color:#ff0!important}.yellow-text.text-accent-2{color:#ff0!important}.yellow.accent-3{background-color:#ffea00!important}.yellow-text.text-accent-3{color:#ffea00!important}.yellow.accent-4{background-color:#ffd600!important}.yellow-text.text-accent-4{color:#ffd600!important}.amber{background-color:#ffc107!important}.amber-text{color:#ffc107!important}.amber.lighten-5{background-color:#fff8e1!important}.amber-text.text-lighten-5{color:#fff8e1!important}.amber.lighten-4{background-color:#ffecb3!important}.amber-text.text-lighten-4{color:#ffecb3!important}.amber.lighten-3{background-color:#ffe082!important}.amber-text.text-lighten-3{color:#ffe082!important}.amber.lighten-2{background-color:#ffd54f!important}.amber-text.text-lighten-2{color:#ffd54f!important}.amber.lighten-1{background-color:#ffca28!important}.amber-text.text-lighten-1{color:#ffca28!important}.amber.darken-1{background-color:#ffb300!important}.amber-text.text-darken-1{color:#ffb300!important}.amber.darken-2{background-color:#ffa000!important}.amber-text.text-darken-2{color:#ffa000!important}.amber.darken-3{background-color:#ff8f00!important}.amber-text.text-darken-3{color:#ff8f00!important}.amber.darken-4{background-color:#ff6f00!important}.amber-text.text-darken-4{color:#ff6f00!important}.amber.accent-1{background-color:#ffe57f!important}.amber-text.text-accent-1{color:#ffe57f!important}.amber.accent-2{background-color:#ffd740!important}.amber-text.text-accent-2{color:#ffd740!important}.amber.accent-3{background-color:#ffc400!important}.amber-text.text-accent-3{color:#ffc400!important}.amber.accent-4{background-color:#ffab00!important}.amber-text.text-accent-4{color:#ffab00!important}.orange{background-color:#ff9800!important}.orange-text{color:#ff9800!important}.orange.lighten-5{background-color:#fff3e0!important}.orange-text.text-lighten-5{color:#fff3e0!important}.orange.lighten-4{background-color:#ffe0b2!important}.orange-text.text-lighten-4{color:#ffe0b2!important}.orange.lighten-3{background-color:#ffcc80!important}.orange-text.text-lighten-3{color:#ffcc80!important}.orange.lighten-2{background-color:#ffb74d!important}.orange-text.text-lighten-2{color:#ffb74d!important}.orange.lighten-1{background-color:#ffa726!important}.orange-text.text-lighten-1{color:#ffa726!important}.orange.darken-1{background-color:#fb8c00!important}.orange-text.text-darken-1{color:#fb8c00!important}.orange.darken-2{background-color:#f57c00!important}.orange-text.text-darken-2{color:#f57c00!important}.orange.darken-3{background-color:#ef6c00!important}.orange-text.text-darken-3{color:#ef6c00!important}.orange.darken-4{background-color:#e65100!important}.orange-text.text-darken-4{color:#e65100!important}.orange.accent-1{background-color:#ffd180!important}.orange-text.text-accent-1{color:#ffd180!important}.orange.accent-2{background-color:#ffab40!important}.orange-text.text-accent-2{color:#ffab40!important}.orange.accent-3{background-color:#ff9100!important}.orange-text.text-accent-3{color:#ff9100!important}.orange.accent-4{background-color:#ff6d00!important}.orange-text.text-accent-4{color:#ff6d00!important}.deep-orange{background-color:#ff5722!important}.deep-orange-text{color:#ff5722!important}.deep-orange.lighten-5{background-color:#fbe9e7!important}.deep-orange-text.text-lighten-5{color:#fbe9e7!important}.deep-orange.lighten-4{background-color:#ffccbc!important}.deep-orange-text.text-lighten-4{color:#ffccbc!important}.deep-orange.lighten-3{background-color:#ffab91!important}.deep-orange-text.text-lighten-3{color:#ffab91!important}.deep-orange.lighten-2{background-color:#ff8a65!important}.deep-orange-text.text-lighten-2{color:#ff8a65!important}.deep-orange.lighten-1{background-color:#ff7043!important}.deep-orange-text.text-lighten-1{color:#ff7043!important}.deep-orange.darken-1{background-color:#f4511e!important}.deep-orange-text.text-darken-1{color:#f4511e!important}.deep-orange.darken-2{background-color:#e64a19!important}.deep-orange-text.text-darken-2{color:#e64a19!important}.deep-orange.darken-3{background-color:#d84315!important}.deep-orange-text.text-darken-3{color:#d84315!important}.deep-orange.darken-4{background-color:#bf360c!important}.deep-orange-text.text-darken-4{color:#bf360c!important}.deep-orange.accent-1{background-color:#ff9e80!important}.deep-orange-text.text-accent-1{color:#ff9e80!important}.deep-orange.accent-2{background-color:#ff6e40!important}.deep-orange-text.text-accent-2{color:#ff6e40!important}.deep-orange.accent-3{background-color:#ff3d00!important}.deep-orange-text.text-accent-3{color:#ff3d00!important}.deep-orange.accent-4{background-color:#dd2c00!important}.deep-orange-text.text-accent-4{color:#dd2c00!important}.brown{background-color:#795548!important}.brown-text{color:#795548!important}.brown.lighten-5{background-color:#efebe9!important}.brown-text.text-lighten-5{color:#efebe9!important}.brown.lighten-4{background-color:#d7ccc8!important}.brown-text.text-lighten-4{color:#d7ccc8!important}.brown.lighten-3{background-color:#bcaaa4!important}.brown-text.text-lighten-3{color:#bcaaa4!important}.brown.lighten-2{background-color:#a1887f!important}.brown-text.text-lighten-2{color:#a1887f!important}.brown.lighten-1{background-color:#8d6e63!important}.brown-text.text-lighten-1{color:#8d6e63!important}.brown.darken-1{background-color:#6d4c41!important}.brown-text.text-darken-1{color:#6d4c41!important}.brown.darken-2{background-color:#5d4037!important}.brown-text.text-darken-2{color:#5d4037!important}.brown.darken-3{background-color:#4e342e!important}.brown-text.text-darken-3{color:#4e342e!important}.brown.darken-4{background-color:#3e2723!important}.brown-text.text-darken-4{color:#3e2723!important}.blue-grey{background-color:#607d8b!important}.blue-grey-text{color:#607d8b!important}.blue-grey.lighten-5{background-color:#eceff1!important}.blue-grey-text.text-lighten-5{color:#eceff1!important}.blue-grey.lighten-4{background-color:#cfd8dc!important}.blue-grey-text.text-lighten-4{color:#cfd8dc!important}.blue-grey.lighten-3{background-color:#b0bec5!important}.blue-grey-text.text-lighten-3{color:#b0bec5!important}.blue-grey.lighten-2{background-color:#90a4ae!important}.blue-grey-text.text-lighten-2{color:#90a4ae!important}.blue-grey.lighten-1{background-color:#78909c!important}.blue-grey-text.text-lighten-1{color:#78909c!important}.blue-grey.darken-1{background-color:#546e7a!important}.blue-grey-text.text-darken-1{color:#546e7a!important}.blue-grey.darken-2{background-color:#455a64!important}.blue-grey-text.text-darken-2{color:#455a64!important}.blue-grey.darken-3{background-color:#37474f!important}.blue-grey-text.text-darken-3{color:#37474f!important}.blue-grey.darken-4{background-color:#263238!important}.blue-grey-text.text-darken-4{color:#263238!important}.grey{background-color:#9e9e9e!important}.grey-text{color:#9e9e9e!important}.grey.lighten-5{background-color:#fafafa!important}.grey-text.text-lighten-5{color:#fafafa!important}.grey.lighten-4{background-color:#f5f5f5!important}.grey-text.text-lighten-4{color:#f5f5f5!important}.grey.lighten-3{background-color:#eee!important}.grey-text.text-lighten-3{color:#eee!important}.grey.lighten-2{background-color:#e0e0e0!important}.grey-text.text-lighten-2{color:#e0e0e0!important}.grey.lighten-1{background-color:#bdbdbd!important}.grey-text.text-lighten-1{color:#bdbdbd!important}.grey.darken-1{background-color:#757575!important}.grey-text.text-darken-1{color:#757575!important}.grey.darken-2{background-color:#616161!important}.grey-text.text-darken-2{color:#616161!important}.grey.darken-3{background-color:#424242!important}.grey-text.text-darken-3{color:#424242!important}.grey.darken-4{background-color:#212121!important}.grey-text.text-darken-4{color:#212121!important}.black{background-color:#000!important}.black-text{color:#000!important}.white{background-color:#fff!important}.white-text{color:#fff!important}.transparent{background-color:transparent!important}.transparent-text{color:transparent!important}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default) li{list-style-type:none}a{color:#039be5;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.clearfix{clear:both}.z-depth-0{box-shadow:none!important}.btn,.btn-floating,.btn-large,.card,.card-panel,.collapsible,.dropdown-content,.side-nav,.toast,.z-depth-1,nav{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.btn-floating:hover,.btn-large:hover,.btn:hover,.z-depth-1-half{box-shadow:0 3px 3px 0 rgba(0,0,0,.14),0 1px 7px 0 rgba(0,0,0,.12),0 3px 1px -1px rgba(0,0,0,.2)}.z-depth-2{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.3)}.z-depth-3{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.3)}.modal,.z-depth-4{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.3)}.z-depth-5{box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.3)}.hoverable{transition:box-shadow .25s;box-shadow:0}.hoverable:hover{transition:box-shadow .25s;box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.divider{height:1px;overflow:hidden;background-color:#e0e0e0}blockquote{margin:20px 0;padding-left:1.5rem;border-left:5px solid #ee6e73}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{display:inline-block;border-radius:2px;text-align:center;vertical-align:top;height:30px}.pagination li a{color:#444;display:inline-block;font-size:1.2rem;padding:0 10px;line-height:30px}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{display:inline-block;float:none}@media only screen and (max-width:992px){.pagination{width:100%}.pagination li.next,.pagination li.prev{width:10%}.pagination li.pages{width:80%;overflow:hidden;white-space:nowrap}}.breadcrumb{font-size:18px;color:hsla(0,0%,100%,.7)}.breadcrumb [class*=mdi-],.breadcrumb [class^=mdi-],.breadcrumb i,.breadcrumb i.material-icons{display:inline-block;float:left;font-size:24px}.breadcrumb:before{content:"\E5CC";color:hsla(0,0%,100%,.7);vertical-align:top;display:inline-block;font-family:Material Icons;font-weight:400;font-style:normal;font-size:25px;margin:0 10px 0 8px;-webkit-font-smoothing:antialiased}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{position:relative;overflow:hidden;height:500px}.parallax{top:0;left:0;right:0;z-index:-1}.parallax,.parallax img{position:absolute;bottom:0}.parallax img{display:none;left:50%;min-width:100%;min-height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pin-bottom,.pin-top{position:relative}.pinned{position:fixed!important}.fade-in,ul.staggered-list li{opacity:0}.fade-in{-webkit-transform-origin:0 50%;transform-origin:0 50%}@media only screen and (max-width:600px){.hide-on-small-and-down,.hide-on-small-only{display:none!important}}@media only screen and (max-width:992px){.hide-on-med-and-down{display:none!important}}@media only screen and (min-width:601px){.hide-on-med-and-up{display:none!important}}@media only screen and (min-width:600px) and (max-width:992px){.hide-on-med-only{display:none!important}}@media only screen and (min-width:993px){.hide-on-large-only{display:none!important}}@media only screen and (min-width:993px){.show-on-large{display:block!important}}@media only screen and (min-width:600px) and (max-width:992px){.show-on-medium{display:block!important}}@media only screen and (max-width:600px){.show-on-small{display:block!important}}@media only screen and (min-width:601px){.show-on-medium-and-up{display:block!important}}@media only screen and (max-width:992px){.show-on-medium-and-down{display:block!important}}@media only screen and (max-width:600px){.center-on-small-only{text-align:center}}.page-footer{padding-top:20px;background-color:#ee6e73}.page-footer .footer-copyright{overflow:hidden;min-height:50px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:10px 0;color:hsla(0,0%,100%,.8);background-color:rgba(51,51,51,.08)}table,td,th{border:none}table{width:100%;display:table}table.bordered>tbody>tr,table.bordered>thead>tr{border-bottom:1px solid #d0d0d0}table.striped>tbody>tr:nth-child(odd){background-color:#f2f2f2}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{transition:background-color .25s ease}table.highlight>tbody>tr:hover{background-color:#f2f2f2}table.centered tbody tr td,table.centered thead tr th{text-align:center}thead{border-bottom:1px solid #d0d0d0}td,th{padding:15px 5px;display:table-cell;text-align:left;vertical-align:middle;border-radius:2px}@media only screen and (max-width:992px){table.responsive-table{width:100%;border-collapse:collapse;border-spacing:0;display:block;position:relative}table.responsive-table td:empty:before{content:"\A0"}table.responsive-table td,table.responsive-table th{margin:0;vertical-align:top}table.responsive-table th{text-align:left}table.responsive-table thead{display:block;float:left}table.responsive-table thead tr{display:block;padding:0 10px 0 0}table.responsive-table thead tr th:before{content:"\A0"}table.responsive-table tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}table.responsive-table tbody tr{display:inline-block;vertical-align:top}table.responsive-table th{display:block;text-align:right}table.responsive-table td{display:block;min-height:1.25em;text-align:left}table.responsive-table tr{padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid #d0d0d0}table.responsive-table.bordered th{border-bottom:0;border-left:0}table.responsive-table.bordered td{border-left:0;border-right:0;border-bottom:0}table.responsive-table.bordered tr{border:0}table.responsive-table.bordered tbody tr{border-right:1px solid #d0d0d0}}.collection{margin:.5rem 0 1rem;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;position:relative}.collection .collection-item{background-color:#fff;line-height:1.5rem;padding:10px 20px;margin:0;border-bottom:1px solid #e0e0e0}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar .circle{position:absolute;width:42px;height:42px;overflow:hidden;left:15px;display:inline-block;vertical-align:middle}.collection .collection-item.avatar i.circle{font-size:18px;line-height:42px;color:#fff;background-color:#999;text-align:center}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{background-color:#26a69a;color:#eafaf9}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{display:block;transition:.25s;color:#26a69a}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{margin:0;border:none}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-container embed,.video-container iframe,.video-container object{position:absolute;top:0;left:0;width:100%;height:100%}.progress{position:relative;height:4px;display:block;width:100%;background-color:#acece6;border-radius:2px;margin:.5rem 0 1rem;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;transition:width .3s linear}.progress .determinate,.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{-webkit-animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress .indeterminate:after,.progress .indeterminate:before{content:"";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right}.progress .indeterminate:after{-webkit-animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}.hide{display:none!important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left!important}.right{float:right!important}.no-select,input[type=range],input[type=range]+.thumb{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{display:block;margin-left:auto;margin-right:auto}.truncate{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-padding{padding:0!important}span.badge{min-width:3rem;padding:0 6px;margin-left:14px;text-align:center;font-size:1rem;line-height:22px;height:22px;color:#757575;float:right;box-sizing:border-box}span.badge.new{font-weight:300;font-size:.8rem;color:#fff;background-color:#26a69a;border-radius:2px}span.badge.new:after{content:" new"}span.badge[data-badge-caption]:after{content:" " attr(data-badge-caption)}nav ul a span.badge{display:inline-block;float:none;margin-left:4px;line-height:22px;height:22px}.collection-item span.badge{margin-top:calc(.75rem - 11px)}.collapsible span.badge{margin-top:calc(1.5rem - 11px)}.side-nav span.badge{margin-top:13px}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga";font-feature-settings:"liga"}.container{margin:0 auto;max-width:1280px;width:90%}@media only screen and (min-width:601px){.container{width:85%}}@media only screen and (min-width:993px){.container{width:70%}}.container .row{margin-left:-.75rem;margin-right:-.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-left:auto;margin-right:auto;margin-bottom:20px}.row:after{content:"";display:table;clear:both}.row .col{float:left;box-sizing:border-box;padding:0 .75rem;min-height:1px}.row .col[class*=pull-],.row .col[class*=push-]{position:relative}.row .col.s1{width:8.3333333333%}.row .col.s1,.row .col.s2{margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6666666667%}.row .col.s3{width:25%}.row .col.s3,.row .col.s4{margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333333333%}.row .col.s5{width:41.6666666667%}.row .col.s5,.row .col.s6{margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%}.row .col.s7{width:58.3333333333%}.row .col.s7,.row .col.s8{margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6666666667%}.row .col.s9{width:75%}.row .col.s9,.row .col.s10{margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333333333%}.row .col.s11{width:91.6666666667%}.row .col.s11,.row .col.s12{margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%}.row .col.offset-s1{margin-left:8.3333333333%}.row .col.pull-s1{right:8.3333333333%}.row .col.push-s1{left:8.3333333333%}.row .col.offset-s2{margin-left:16.6666666667%}.row .col.pull-s2{right:16.6666666667%}.row .col.push-s2{left:16.6666666667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333333333%}.row .col.pull-s4{right:33.3333333333%}.row .col.push-s4{left:33.3333333333%}.row .col.offset-s5{margin-left:41.6666666667%}.row .col.pull-s5{right:41.6666666667%}.row .col.push-s5{left:41.6666666667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333333333%}.row .col.pull-s7{right:58.3333333333%}.row .col.push-s7{left:58.3333333333%}.row .col.offset-s8{margin-left:66.6666666667%}.row .col.pull-s8{right:66.6666666667%}.row .col.push-s8{left:66.6666666667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333333333%}.row .col.pull-s10{right:83.3333333333%}.row .col.push-s10{left:83.3333333333%}.row .col.offset-s11{margin-left:91.6666666667%}.row .col.pull-s11{right:91.6666666667%}.row .col.push-s11{left:91.6666666667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width:601px){.row .col.m1{width:8.3333333333%}.row .col.m1,.row .col.m2{margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6666666667%}.row .col.m3{width:25%}.row .col.m3,.row .col.m4{margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333333333%}.row .col.m5{width:41.6666666667%}.row .col.m5,.row .col.m6{margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%}.row .col.m7{width:58.3333333333%}.row .col.m7,.row .col.m8{margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6666666667%}.row .col.m9{width:75%}.row .col.m9,.row .col.m10{margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333333333%}.row .col.m11{width:91.6666666667%}.row .col.m11,.row .col.m12{margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%}.row .col.offset-m1{margin-left:8.3333333333%}.row .col.pull-m1{right:8.3333333333%}.row .col.push-m1{left:8.3333333333%}.row .col.offset-m2{margin-left:16.6666666667%}.row .col.pull-m2{right:16.6666666667%}.row .col.push-m2{left:16.6666666667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333333333%}.row .col.pull-m4{right:33.3333333333%}.row .col.push-m4{left:33.3333333333%}.row .col.offset-m5{margin-left:41.6666666667%}.row .col.pull-m5{right:41.6666666667%}.row .col.push-m5{left:41.6666666667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333333333%}.row .col.pull-m7{right:58.3333333333%}.row .col.push-m7{left:58.3333333333%}.row .col.offset-m8{margin-left:66.6666666667%}.row .col.pull-m8{right:66.6666666667%}.row .col.push-m8{left:66.6666666667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333333333%}.row .col.pull-m10{right:83.3333333333%}.row .col.push-m10{left:83.3333333333%}.row .col.offset-m11{margin-left:91.6666666667%}.row .col.pull-m11{right:91.6666666667%}.row .col.push-m11{left:91.6666666667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width:993px){.row .col.l1{width:8.3333333333%}.row .col.l1,.row .col.l2{margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6666666667%}.row .col.l3{width:25%}.row .col.l3,.row .col.l4{margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333333333%}.row .col.l5{width:41.6666666667%}.row .col.l5,.row .col.l6{margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%}.row .col.l7{width:58.3333333333%}.row .col.l7,.row .col.l8{margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6666666667%}.row .col.l9{width:75%}.row .col.l9,.row .col.l10{margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333333333%}.row .col.l11{width:91.6666666667%}.row .col.l11,.row .col.l12{margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%}.row .col.offset-l1{margin-left:8.3333333333%}.row .col.pull-l1{right:8.3333333333%}.row .col.push-l1{left:8.3333333333%}.row .col.offset-l2{margin-left:16.6666666667%}.row .col.pull-l2{right:16.6666666667%}.row .col.push-l2{left:16.6666666667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333333333%}.row .col.pull-l4{right:33.3333333333%}.row .col.push-l4{left:33.3333333333%}.row .col.offset-l5{margin-left:41.6666666667%}.row .col.pull-l5{right:41.6666666667%}.row .col.push-l5{left:41.6666666667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333333333%}.row .col.pull-l7{right:58.3333333333%}.row .col.push-l7{left:58.3333333333%}.row .col.offset-l8{margin-left:66.6666666667%}.row .col.pull-l8{right:66.6666666667%}.row .col.push-l8{left:66.6666666667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333333333%}.row .col.pull-l10{right:83.3333333333%}.row .col.push-l10{left:83.3333333333%}.row .col.offset-l11{margin-left:91.6666666667%}.row .col.pull-l11{right:91.6666666667%}.row .col.push-l11{left:91.6666666667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}@media only screen and (min-width:1201px){.row .col.xl1{width:8.3333333333%}.row .col.xl1,.row .col.xl2{margin-left:auto;left:auto;right:auto}.row .col.xl2{width:16.6666666667%}.row .col.xl3{width:25%}.row .col.xl3,.row .col.xl4{margin-left:auto;left:auto;right:auto}.row .col.xl4{width:33.3333333333%}.row .col.xl5{width:41.6666666667%}.row .col.xl5,.row .col.xl6{margin-left:auto;left:auto;right:auto}.row .col.xl6{width:50%}.row .col.xl7{width:58.3333333333%}.row .col.xl7,.row .col.xl8{margin-left:auto;left:auto;right:auto}.row .col.xl8{width:66.6666666667%}.row .col.xl9{width:75%}.row .col.xl9,.row .col.xl10{margin-left:auto;left:auto;right:auto}.row .col.xl10{width:83.3333333333%}.row .col.xl11{width:91.6666666667%}.row .col.xl11,.row .col.xl12{margin-left:auto;left:auto;right:auto}.row .col.xl12{width:100%}.row .col.offset-xl1{margin-left:8.3333333333%}.row .col.pull-xl1{right:8.3333333333%}.row .col.push-xl1{left:8.3333333333%}.row .col.offset-xl2{margin-left:16.6666666667%}.row .col.pull-xl2{right:16.6666666667%}.row .col.push-xl2{left:16.6666666667%}.row .col.offset-xl3{margin-left:25%}.row .col.pull-xl3{right:25%}.row .col.push-xl3{left:25%}.row .col.offset-xl4{margin-left:33.3333333333%}.row .col.pull-xl4{right:33.3333333333%}.row .col.push-xl4{left:33.3333333333%}.row .col.offset-xl5{margin-left:41.6666666667%}.row .col.pull-xl5{right:41.6666666667%}.row .col.push-xl5{left:41.6666666667%}.row .col.offset-xl6{margin-left:50%}.row .col.pull-xl6{right:50%}.row .col.push-xl6{left:50%}.row .col.offset-xl7{margin-left:58.3333333333%}.row .col.pull-xl7{right:58.3333333333%}.row .col.push-xl7{left:58.3333333333%}.row .col.offset-xl8{margin-left:66.6666666667%}.row .col.pull-xl8{right:66.6666666667%}.row .col.push-xl8{left:66.6666666667%}.row .col.offset-xl9{margin-left:75%}.row .col.pull-xl9{right:75%}.row .col.push-xl9{left:75%}.row .col.offset-xl10{margin-left:83.3333333333%}.row .col.pull-xl10{right:83.3333333333%}.row .col.push-xl10{left:83.3333333333%}.row .col.offset-xl11{margin-left:91.6666666667%}.row .col.pull-xl11{right:91.6666666667%}.row .col.push-xl11{left:91.6666666667%}.row .col.offset-xl12{margin-left:100%}.row .col.pull-xl12{right:100%}.row .col.push-xl12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{min-height:56px;height:auto}nav.nav-extended .nav-content{position:relative;line-height:normal}nav a{color:#fff}nav [class*=mdi-],nav [class^=mdi-],nav i,nav i.material-icons{display:block;font-size:24px;height:56px;line-height:56px}nav .nav-wrapper{position:relative;height:100%}@media only screen and (min-width:993px){nav a.button-collapse{display:none}}nav .button-collapse{float:left;position:relative;z-index:1;height:56px;margin:0 18px}nav .button-collapse i{height:56px;line-height:56px}nav .brand-logo{position:absolute;color:#fff;display:inline-block;font-size:2.1rem;padding:0;white-space:nowrap}nav .brand-logo.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media only screen and (max-width:992px){nav .brand-logo{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;-webkit-transform:none;transform:none}nav .brand-logo.left{left:.5rem}nav .brand-logo.right{right:.5rem;left:auto}}nav .brand-logo.right{right:.5rem;padding:0}nav .brand-logo [class*=mdi-],nav .brand-logo [class^=mdi-],nav .brand-logo i,nav .brand-logo i.material-icons{float:left;margin-right:15px}nav .nav-title{display:inline-block;font-size:32px;padding:28px 0}nav ul{margin:0}nav ul li{transition:background-color .3s;float:left;padding:0}nav ul li.active{background-color:rgba(0,0,0,.1)}nav ul a{transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}nav ul a.btn,nav ul a.btn-flat,nav ul a.btn-floating,nav ul a.btn-large{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a.btn-flat>.material-icons,nav ul a.btn-floating>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn>.material-icons{height:inherit;line-height:inherit}nav ul a:hover{background-color:rgba(0,0,0,.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{margin:0;height:100%}nav .input-field input{height:100%;font-size:1.2rem;border:none;padding-left:2rem}nav .input-field input:focus,nav .input-field input[type=date]:valid,nav .input-field input[type=email]:valid,nav .input-field input[type=password]:valid,nav .input-field input[type=text]:valid,nav .input-field input[type=url]:valid{border:none;box-shadow:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:hsla(0,0%,100%,.7);transition:color .3s}nav .input-field label.active i{color:#fff}.navbar-fixed{position:relative;height:56px;z-index:997}.navbar-fixed nav{position:fixed}@media only screen and (min-width:601px){nav.nav-extended .nav-wrapper{min-height:64px}nav,nav .nav-wrapper i,nav a.button-collapse,nav a.button-collapse i{height:64px;line-height:64px}.navbar-fixed{height:64px}}@font-face{font-family:Roboto;src:local(Roboto Thin),url(fonts/Roboto-Thin.woff2) format("woff2"),url(fonts/Roboto-Thin.woff) format("woff");font-weight:100}@font-face{font-family:Roboto;src:local(Roboto Light),url(fonts/Roboto-Light.woff2) format("woff2"),url(fonts/Roboto-Light.woff) format("woff");font-weight:300}@font-face{font-family:Roboto;src:local(Roboto Regular),url(fonts/Roboto-Regular.woff2) format("woff2"),url(fonts/Roboto-Regular.woff) format("woff");font-weight:400}@font-face{font-family:Roboto;src:local(Roboto Medium),url(fonts/Roboto-Medium.woff2) format("woff2"),url(fonts/Roboto-Medium.woff) format("woff");font-weight:500}@font-face{font-family:Roboto;src:local(Roboto Bold),url(fonts/Roboto-Bold.woff2) format("woff2"),url(fonts/Roboto-Bold.woff) format("woff");font-weight:700}a{text-decoration:none}html{line-height:1.5;font-family:Roboto,sans-serif;font-weight:400;color:rgba(0,0,0,.87)}@media only screen and (min-width:0){html{font-size:14px}}@media only screen and (min-width:992px){html{font-size:14.5px}}@media only screen and (min-width:1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.1}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{font-size:4.2rem;margin:2.1rem 0 1.68rem}h1,h2{line-height:110%}h2{font-size:3.56rem;margin:1.78rem 0 1.424rem}h3{font-size:2.92rem;margin:1.46rem 0 1.168rem}h3,h4{line-height:110%}h4{font-size:2.28rem;margin:1.14rem 0 .912rem}h5{font-size:1.64rem;margin:.82rem 0 .656rem}h5,h6{line-height:110%}h6{font-size:1rem;margin:.5rem 0 .4rem}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light,.page-footer .footer-copyright{font-weight:300}.thin{font-weight:200}.flow-text{font-weight:300}@media only screen and (min-width:360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width:390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width:420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width:450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width:480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width:510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width:540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width:570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width:600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width:630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width:660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width:690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width:720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width:750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width:780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width:810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width:840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width:870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width:900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width:930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width:960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width:360px){.flow-text{font-size:1.2rem}}.scale-transition{transition:-webkit-transform .3s cubic-bezier(.53,.01,.36,1.63)!important;transition:transform .3s cubic-bezier(.53,.01,.36,1.63)!important;transition:transform .3s cubic-bezier(.53,.01,.36,1.63),-webkit-transform .3s cubic-bezier(.53,.01,.36,1.63)!important}.scale-transition.scale-out{-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .2s!important;transition:transform .2s!important;transition:transform .2s,-webkit-transform .2s!important}.scale-transition.scale-in{-webkit-transform:scale(1);transform:scale(1)}.card-panel{padding:24px}.card,.card-panel{transition:box-shadow .25s;margin:.5rem 0 1rem;border-radius:2px;background-color:#fff}.card{position:relative}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.large,.card.medium,.card.small{position:relative}.card.large .card-image,.card.medium .card-image,.card.small .card-image{max-height:60%;overflow:hidden}.card.large .card-image+.card-content,.card.medium .card-image+.card-content,.card.small .card-image+.card-content{max-height:40%}.card.large .card-content,.card.medium .card-content,.card.small .card-content{max-height:100%;overflow:hidden}.card.large .card-action,.card.medium .card-action,.card.small .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:-webkit-flex;display:-ms-flexbox;display:flex}.card.horizontal.large .card-image,.card.horizontal.medium .card-image,.card.horizontal.small .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.large .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.small .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;max-width:100%;width:auto}.card.horizontal .card-stacked{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.card.horizontal .card-stacked .card-content{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{display:block;border-radius:2px 2px 0 0;position:relative;left:0;right:0;top:0;bottom:0;width:100%}.card .card-image .card-title{color:#fff;position:absolute;bottom:0;left:0;max-width:100%;padding:24px}.card .card-content{padding:24px;border-radius:0 0 2px 2px}.card .card-content p{margin:0;color:inherit}.card .card-content .card-title{display:block;line-height:32px;margin-bottom:8px}.card .card-content .card-title i{line-height:32px}.card .card-action{position:relative;background-color:inherit;border-top:1px solid hsla(0,0%,63%,.2);padding:16px 24px}.card .card-action:last-child{border-radius:0 0 2px 2px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-large):not(.btn-floating){color:#ffab40;margin-right:24px;transition:color .3s ease;text-transform:uppercase}.card .card-action a:not(.btn):not(.btn-large):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{padding:24px;position:absolute;background-color:#fff;width:100%;overflow-y:auto;left:0;top:100%;height:100%;z-index:3;display:none}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{display:block;position:fixed;z-index:10000}@media only screen and (max-width:600px){#toast-container{min-width:100%;bottom:0}}@media only screen and (min-width:601px) and (max-width:992px){#toast-container{left:5%;bottom:7%;max-width:90%}}@media only screen and (min-width:993px){#toast-container{top:10%;right:7%;max-width:86%}}.toast{border-radius:2px;top:35px;width:auto;clear:both;margin-top:10px;position:relative;max-width:100%;height:auto;min-height:48px;line-height:1.5em;word-break:break-all;background-color:#323232;padding:10px 25px;font-size:1.1rem;font-weight:300;color:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.toast .btn,.toast .btn-flat,.toast .btn-large{margin:0;margin-left:3rem}.toast.rounded{border-radius:24px}@media only screen and (max-width:600px){.toast{width:100%;border-radius:0}}@media only screen and (min-width:601px) and (max-width:992px){.toast{float:left}}@media only screen and (min-width:993px){.toast{float:right}}.tabs{position:relative;overflow-x:auto;overflow-y:hidden;height:48px;width:100%;background-color:#fff;margin:0 auto;white-space:nowrap}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover,.tabs.tabs-transparent .tab a{color:hsla(0,0%,100%,.7)}.tabs.tabs-transparent .tab a.active,.tabs.tabs-transparent .tab a:hover{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs.tabs-fixed-width .tab{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab{display:inline-block;text-align:center;line-height:48px;height:48px;padding:0;margin:0;text-transform:uppercase}.tabs .tab a{color:rgba(238,110,115,.7);display:block;width:100%;height:100%;padding:0 24px;font-size:14px;text-overflow:ellipsis;overflow:hidden;transition:color .28s ease}.tabs .tab a.active,.tabs .tab a:hover{background-color:transparent;color:#ee6e73}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,.7);cursor:default}.tabs .indicator{position:absolute;bottom:0;height:2px;background-color:#f6b2b5;will-change:left,right}@media only screen and (max-width:992px){.tabs{display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs .tab{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{padding:10px 8px;font-size:1rem;z-index:2000;background-color:transparent;border-radius:2px;color:#fff;min-height:36px;line-height:120%;text-align:center;max-width:calc(100% - 4px);overflow:hidden;left:0;top:0;pointer-events:none}.backdrop,.material-tooltip{opacity:0;position:absolute;visibility:hidden}.backdrop{height:7px;width:14px;border-radius:0 0 50% 50%;background-color:#323232;z-index:-1;-webkit-transform-origin:50% 0;transform-origin:50% 0}.btn,.btn-flat,.btn-large{border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;padding:0 2rem;text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent}.btn-flat.disabled,.btn-flat:disabled,.btn-flat[disabled],.btn-floating.disabled,.btn-floating:disabled,.btn-floating[disabled],.btn-large.disabled,.btn-large:disabled,.btn-large[disabled],.btn.disabled,.btn:disabled,.btn[disabled],.disabled.btn-large,[disabled].btn-large{pointer-events:none;background-color:#dfdfdf!important;box-shadow:none;color:#9f9f9f!important;cursor:default}.btn-flat.disabled:hover,.btn-flat:disabled:hover,.btn-flat[disabled]:hover,.btn-floating.disabled:hover,.btn-floating:disabled:hover,.btn-floating[disabled]:hover,.btn-large.disabled:hover,.btn-large:disabled:hover,.btn-large[disabled]:hover,.btn.disabled:hover,.btn:disabled:hover,.btn[disabled]:hover,.disabled.btn-large:hover,[disabled].btn-large:hover{background-color:#dfdfdf!important;color:#9f9f9f!important}.btn,.btn-flat,.btn-floating,.btn-large{font-size:1rem;outline:0}.btn-flat i,.btn-floating i,.btn-large i,.btn i{font-size:1.3rem;line-height:inherit}.btn-floating:focus,.btn-large:focus,.btn:focus{background-color:#1d7d74}.btn,.btn-large{text-decoration:none;color:#fff;background-color:#26a69a;text-align:center;letter-spacing:.5px;transition:.2s ease-out;cursor:pointer}.btn-large:hover,.btn:hover{background-color:#2bbbad}.btn-floating{display:inline-block;color:#fff;position:relative;overflow:hidden;z-index:1;width:40px;height:40px;line-height:40px;padding:0;border-radius:50%;transition:.3s;cursor:pointer;vertical-align:middle}.btn-floating,.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px}.btn-floating.btn-large.halfway-fab{bottom:-28px}.btn-floating.btn-large i{line-height:56px}.btn-floating.halfway-fab{position:absolute;right:24px;bottom:-20px}.btn-floating.halfway-fab.left{right:auto;left:24px}.btn-floating i{width:inherit;display:inline-block;text-align:center;color:#fff;font-size:1.6rem;line-height:40px}button.btn-floating{border:none}.fixed-action-btn{position:fixed;right:23px;bottom:23px;padding-top:15px;margin-bottom:0;z-index:998}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.horizontal{padding:0 0 0 15px}.fixed-action-btn.horizontal ul{text-align:right;right:64px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;left:auto;width:500px}.fixed-action-btn.horizontal ul li{display:inline-block;margin:15px 15px 0 0}.fixed-action-btn.toolbar{padding:0;height:56px}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0}.fixed-action-btn.toolbar ul li{-webkit-flex:1;-ms-flex:1;flex:1;display:inline-block;margin:0;height:100%;transition:none}.fixed-action-btn.toolbar ul li a{display:block;overflow:hidden;position:relative;width:100%;height:100%;background-color:transparent;box-shadow:none;color:#fff;line-height:56px;z-index:1}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{left:0;right:0;text-align:center;position:absolute;bottom:64px;margin:0;visibility:hidden}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{position:absolute;top:0;left:0;z-index:-1;width:40px;height:40px;background-color:#26a69a;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}.btn-flat{box-shadow:none;color:#343434;cursor:pointer;transition:background-color .2s}.btn-flat,.btn-flat:active,.btn-flat:focus{background-color:transparent}.btn-flat:focus,.btn-flat:hover{background-color:rgba(0,0,0,.1);box-shadow:none}.btn-flat:active{background-color:rgba(0,0,0,.2)}.btn-flat.disabled{background-color:transparent!important;color:#b3b3b3!important;cursor:default}.btn-large{height:54px;line-height:54px}.btn-large i{font-size:1.6rem}.btn-block{display:block}.dropdown-content{background-color:#fff;margin:0;display:none;min-width:100px;max-height:650px;overflow-y:auto;opacity:0;position:absolute;z-index:999;will-change:width,height}.dropdown-content li{clear:both;color:rgba(0,0,0,.87);cursor:pointer;min-height:50px;line-height:1.5rem;width:100%;text-align:left;text-transform:none}.dropdown-content li.active,.dropdown-content li.selected,.dropdown-content li:hover{background-color:#eee}.dropdown-content li.active.selected{background-color:#e1e1e1}.dropdown-content li.divider{min-height:0;height:1px}.dropdown-content li>a,.dropdown-content li>span{font-size:16px;color:#26a69a;display:block;line-height:22px;padding:14px 16px}.dropdown-content li>span>label{top:1px;left:0;height:18px}.dropdown-content li>a>i{height:inherit;line-height:inherit;float:left;margin:0 24px 0 0;width:24px}.input-field.col .dropdown-content [type=checkbox]+label{top:1px;left:0;height:18px}.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;transition:.3s ease-out}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;opacity:0;background:rgba(0,0,0,.2);transition:all .7s ease-out;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-transform:scale(0);transform:scale(0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background-color:hsla(0,0%,100%,.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,.7)}.waves-effect input[type=button],.waves-effect input[type=reset],.waves-effect input[type=submit]{border:0;font-style:normal;font-size:inherit;text-transform:inherit;background:none}.waves-effect img{position:relative;z-index:-1}.waves-notransition{transition:none!important}.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 0)}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{display:none;position:fixed;left:0;right:0;background-color:#fafafa;padding:0;max-height:70%;width:55%;margin:auto;overflow-y:auto;border-radius:2px;will-change:top,opacity}@media only screen and (max-width:992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{border-radius:0 0 2px 2px;background-color:#fafafa;padding:4px 6px;height:56px;width:100%}.modal .modal-footer .btn,.modal .modal-footer .btn-flat,.modal .modal-footer .btn-large{float:right;margin:6px 0}.modal-overlay{position:fixed;z-index:999;top:-100px;left:0;bottom:0;right:0;height:125%;width:100%;background:#000;display:none;will-change:opacity}.modal.modal-fixed-footer{padding:0;height:70%}.modal.modal-fixed-footer .modal-content{position:absolute;height:calc(100% - 56px);max-height:100%;width:100%;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,.1);position:absolute;bottom:0}.modal.bottom-sheet{top:auto;bottom:-100%;margin:0;width:100%;max-height:45%;border-radius:0;will-change:bottom,opacity}.collapsible{border-top:1px solid #ddd;border-right:1px solid #ddd;border-left:1px solid #ddd;margin:.5rem 0 1rem}.collapsible-header{display:block;cursor:pointer;min-height:3rem;line-height:3rem;padding:0 1rem;background-color:#fff;border-bottom:1px solid #ddd}.collapsible-header i{width:2rem;font-size:1.6rem;line-height:3rem;display:block;float:left;text-align:center;margin-right:1rem}.collapsible-body{display:none;border-bottom:1px solid #ddd;box-sizing:border-box;padding:2rem}.side-nav .collapsible,.side-nav.fixed .collapsible{border:none;box-shadow:none}.side-nav .collapsible li,.side-nav.fixed .collapsible li{padding:0}.side-nav .collapsible-header,.side-nav.fixed .collapsible-header{background-color:transparent;border:none;line-height:inherit;height:inherit;padding:0 16px}.side-nav .collapsible-header:hover,.side-nav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,.05)}.side-nav .collapsible-header i,.side-nav.fixed .collapsible-header i{line-height:inherit}.side-nav .collapsible-body,.side-nav.fixed .collapsible-body{border:0;background-color:#fff}.side-nav .collapsible-body li a,.side-nav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{border:none;box-shadow:none}.collapsible.popout>li{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);margin:0 24px;transition:margin .35s cubic-bezier(.25,.46,.45,.94)}.collapsible.popout>li.active{box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);margin:16px 0}.chip{display:inline-block;height:32px;font-size:13px;font-weight:500;color:rgba(0,0,0,.6);line-height:32px;padding:0 12px;border-radius:16px;background-color:#e4e4e4;margin-bottom:5px;margin-right:5px}.chip>img{float:left;margin:0 8px 0 -12px;height:32px;width:32px;border-radius:50%}.chip .close{cursor:pointer;float:right;font-size:16px;line-height:32px;padding-left:8px}.chips{border:none;border-bottom:1px solid #9e9e9e;box-shadow:none;margin:0 0 20px;min-height:45px;outline:none;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;box-shadow:0 1px 0 0 #26a69a}.chips:hover{cursor:text}.chips .chip.selected{background-color:#26a69a;color:#fff}.chips .input{background:none;border:0;color:rgba(0,0,0,.6);display:inline-block;font-size:1rem;height:3rem;line-height:32px;outline:0;margin:0;padding:0!important;width:120px!important}.chips .input:focus{border:0!important;box-shadow:none!important}.chips .autocomplete-content{margin-top:0}.prefix~.chips{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.chips:empty~label{font-size:.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.materialboxed{display:block;cursor:-webkit-zoom-in;cursor:zoom-in;position:relative;transition:opacity .4s;-webkit-backface-visibility:hidden}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{top:0;right:0;background-color:#292929;will-change:opacity}#materialbox-overlay,.materialbox-caption{position:fixed;bottom:0;left:0;z-index:1000}.materialbox-caption{display:none;color:#fff;line-height:50px;width:100%;text-align:center;padding:0 15%;height:50px;-webkit-font-smoothing:antialiased}select:focus{outline:1px solid #c9f3ef}button:focus{outline:none;background-color:#2ab7a9}label{font-size:.8rem;color:#9e9e9e}::-webkit-input-placeholder{color:#d1d1d1}:-moz-placeholder,::-moz-placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],textarea.materialize-textarea{background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;height:3rem;width:100%;font-size:1rem;margin:0 0 20px;padding:0;box-shadow:none;box-sizing:content-box;transition:all .3s}input:not([type]):disabled,input:not([type])[readonly=readonly],input[type=date]:disabled,input[type=date][readonly=readonly],input[type=datetime-local]:disabled,input[type=datetime-local][readonly=readonly],input[type=datetime]:disabled,input[type=datetime][readonly=readonly],input[type=email]:disabled,input[type=email][readonly=readonly],input[type=number]:disabled,input[type=number][readonly=readonly],input[type=password]:disabled,input[type=password][readonly=readonly],input[type=search]:disabled,input[type=search][readonly=readonly],input[type=tel]:disabled,input[type=tel][readonly=readonly],input[type=text]:disabled,input[type=text][readonly=readonly],input[type=time]:disabled,input[type=time][readonly=readonly],input[type=url]:disabled,input[type=url][readonly=readonly],textarea.materialize-textarea:disabled,textarea.materialize-textarea[readonly=readonly]{color:rgba(0,0,0,.26);border-bottom:1px dotted rgba(0,0,0,.26)}input:not([type]):disabled+label,input:not([type])[readonly=readonly]+label,input[type=date]:disabled+label,input[type=date][readonly=readonly]+label,input[type=datetime-local]:disabled+label,input[type=datetime-local][readonly=readonly]+label,input[type=datetime]:disabled+label,input[type=datetime][readonly=readonly]+label,input[type=email]:disabled+label,input[type=email][readonly=readonly]+label,input[type=number]:disabled+label,input[type=number][readonly=readonly]+label,input[type=password]:disabled+label,input[type=password][readonly=readonly]+label,input[type=search]:disabled+label,input[type=search][readonly=readonly]+label,input[type=tel]:disabled+label,input[type=tel][readonly=readonly]+label,input[type=text]:disabled+label,input[type=text][readonly=readonly]+label,input[type=time]:disabled+label,input[type=time][readonly=readonly]+label,input[type=url]:disabled+label,input[type=url][readonly=readonly]+label,textarea.materialize-textarea:disabled+label,textarea.materialize-textarea[readonly=readonly]+label{color:rgba(0,0,0,.26)}input:not([type]):focus:not([readonly]),input[type=date]:focus:not([readonly]),input[type=datetime-local]:focus:not([readonly]),input[type=datetime]:focus:not([readonly]),input[type=email]:focus:not([readonly]),input[type=number]:focus:not([readonly]),input[type=password]:focus:not([readonly]),input[type=search]:focus:not([readonly]),input[type=tel]:focus:not([readonly]),input[type=text]:focus:not([readonly]),input[type=time]:focus:not([readonly]),input[type=url]:focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px 0 0 #26a69a}input:not([type]):focus:not([readonly])+label,input[type=date]:focus:not([readonly])+label,input[type=datetime-local]:focus:not([readonly])+label,input[type=datetime]:focus:not([readonly])+label,input[type=email]:focus:not([readonly])+label,input[type=number]:focus:not([readonly])+label,input[type=password]:focus:not([readonly])+label,input[type=search]:focus:not([readonly])+label,input[type=tel]:focus:not([readonly])+label,input[type=text]:focus:not([readonly])+label,input[type=time]:focus:not([readonly])+label,input[type=url]:focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input:not([type]).valid,input:not([type]):focus.valid,input[type=date].valid,input[type=date]:focus.valid,input[type=datetime-local].valid,input[type=datetime-local]:focus.valid,input[type=datetime].valid,input[type=datetime]:focus.valid,input[type=email].valid,input[type=email]:focus.valid,input[type=number].valid,input[type=number]:focus.valid,input[type=password].valid,input[type=password]:focus.valid,input[type=search].valid,input[type=search]:focus.valid,input[type=tel].valid,input[type=tel]:focus.valid,input[type=text].valid,input[type=text]:focus.valid,input[type=time].valid,input[type=time]:focus.valid,input[type=url].valid,input[type=url]:focus.valid,textarea.materialize-textarea.valid,textarea.materialize-textarea:focus.valid{border-bottom:1px solid #4caf50;box-shadow:0 1px 0 0 #4caf50}input:not([type]).valid+label:after,input:not([type]):focus.valid+label:after,input[type=date].valid+label:after,input[type=date]:focus.valid+label:after,input[type=datetime-local].valid+label:after,input[type=datetime-local]:focus.valid+label:after,input[type=datetime].valid+label:after,input[type=datetime]:focus.valid+label:after,input[type=email].valid+label:after,input[type=email]:focus.valid+label:after,input[type=number].valid+label:after,input[type=number]:focus.valid+label:after,input[type=password].valid+label:after,input[type=password]:focus.valid+label:after,input[type=search].valid+label:after,input[type=search]:focus.valid+label:after,input[type=tel].valid+label:after,input[type=tel]:focus.valid+label:after,input[type=text].valid+label:after,input[type=text]:focus.valid+label:after,input[type=time].valid+label:after,input[type=time]:focus.valid+label:after,input[type=url].valid+label:after,input[type=url]:focus.valid+label:after,textarea.materialize-textarea.valid+label:after,textarea.materialize-textarea:focus.valid+label:after{content:attr(data-success);color:#4caf50;opacity:1}input:not([type]).invalid,input:not([type]):focus.invalid,input[type=date].invalid,input[type=date]:focus.invalid,input[type=datetime-local].invalid,input[type=datetime-local]:focus.invalid,input[type=datetime].invalid,input[type=datetime]:focus.invalid,input[type=email].invalid,input[type=email]:focus.invalid,input[type=number].invalid,input[type=number]:focus.invalid,input[type=password].invalid,input[type=password]:focus.invalid,input[type=search].invalid,input[type=search]:focus.invalid,input[type=tel].invalid,input[type=tel]:focus.invalid,input[type=text].invalid,input[type=text]:focus.invalid,input[type=time].invalid,input[type=time]:focus.invalid,input[type=url].invalid,input[type=url]:focus.invalid,textarea.materialize-textarea.invalid,textarea.materialize-textarea:focus.invalid{border-bottom:1px solid #f44336;box-shadow:0 1px 0 0 #f44336}input:not([type]).invalid+label:after,input:not([type]):focus.invalid+label:after,input[type=date].invalid+label:after,input[type=date]:focus.invalid+label:after,input[type=datetime-local].invalid+label:after,input[type=datetime-local]:focus.invalid+label:after,input[type=datetime].invalid+label:after,input[type=datetime]:focus.invalid+label:after,input[type=email].invalid+label:after,input[type=email]:focus.invalid+label:after,input[type=number].invalid+label:after,input[type=number]:focus.invalid+label:after,input[type=password].invalid+label:after,input[type=password]:focus.invalid+label:after,input[type=search].invalid+label:after,input[type=search]:focus.invalid+label:after,input[type=tel].invalid+label:after,input[type=tel]:focus.invalid+label:after,input[type=text].invalid+label:after,input[type=text]:focus.invalid+label:after,input[type=time].invalid+label:after,input[type=time]:focus.invalid+label:after,input[type=url].invalid+label:after,input[type=url]:focus.invalid+label:after,textarea.materialize-textarea.invalid+label:after,textarea.materialize-textarea:focus.invalid+label:after{content:attr(data-error);color:#f44336;opacity:1}input:not([type]).validate+label,input[type=date].validate+label,input[type=datetime-local].validate+label,input[type=datetime].validate+label,input[type=email].validate+label,input[type=number].validate+label,input[type=password].validate+label,input[type=search].validate+label,input[type=tel].validate+label,input[type=text].validate+label,input[type=time].validate+label,input[type=url].validate+label,textarea.materialize-textarea.validate+label{width:100%;pointer-events:none}input:not([type])+label:after,input[type=date]+label:after,input[type=datetime-local]+label:after,input[type=datetime]+label:after,input[type=email]+label:after,input[type=number]+label:after,input[type=password]+label:after,input[type=search]+label:after,input[type=tel]+label:after,input[type=text]+label:after,input[type=time]+label:after,input[type=url]+label:after,textarea.materialize-textarea+label:after{display:block;content:"";position:absolute;top:60px;opacity:0;transition:opacity .2s ease-out,color .2s ease-out}.input-field{position:relative;margin-top:1rem}.input-field.inline{display:inline-block;vertical-align:middle;margin-left:5px}.input-field.inline .select-dropdown,.input-field.inline input{margin-bottom:1rem}.input-field.col label{left:.75rem}.input-field.col .prefix~.validate~label,.input-field.col .prefix~label{width:calc(100% - 3rem - 1.5rem)}.input-field label{color:#9e9e9e;position:absolute;top:.8rem;left:0;font-size:1rem;cursor:text;transition:.2s ease-out;text-align:initial}.input-field label:not(.label-icon).active{font-size:.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.input-field .prefix{position:absolute;width:3rem;font-size:2rem;transition:color .2s}.input-field .prefix.active{color:#26a69a}.input-field .prefix~.autocomplete-content,.input-field .prefix~.validate~label,.input-field .prefix~input,.input-field .prefix~label,.input-field .prefix~textarea{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.input-field .prefix~label{margin-left:3rem}@media only screen and (max-width:992px){.input-field .prefix~input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width:600px){.input-field .prefix~input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{display:block;line-height:inherit;padding-left:4rem;width:calc(100% - 4rem)}.input-field input[type=search]:focus{background-color:#fff;border:0;box-shadow:none;color:#444}.input-field input[type=search]:focus+label i,.input-field input[type=search]:focus~.material-icons,.input-field input[type=search]:focus~.mdi-navigation-close{color:#444}.input-field input[type=search]+label{left:1rem}.input-field input[type=search]~.material-icons,.input-field input[type=search]~.mdi-navigation-close{position:absolute;top:0;right:1rem;color:transparent;cursor:pointer;font-size:2rem;transition:color .3s}textarea{width:100%;height:3rem;background-color:transparent}textarea.materialize-textarea{overflow-y:hidden;padding:.8rem 0 1.6rem;resize:none;min-height:3rem}.hiddendiv{display:none;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:1.2rem;position:absolute;top:0}.autocomplete-content{margin-top:-20px;display:block;opacity:1;position:static}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{height:40px;width:40px;margin:5px 15px}[type=radio]:checked,[type=radio]:not(:checked){position:absolute;left:-9999px;opacity:0}[type=radio]:checked+label,[type=radio]:not(:checked)+label{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;transition:.28s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type=radio]+label:after,[type=radio]+label:before{content:"";position:absolute;left:0;top:0;margin:4px;width:16px;height:16px;z-index:0;transition:.28s ease}[type=radio].with-gap:checked+label:after,[type=radio].with-gap:checked+label:before,[type=radio]:checked+label:after,[type=radio]:checked+label:before,[type=radio]:not(:checked)+label:after,[type=radio]:not(:checked)+label:before{border-radius:50%}[type=radio]:not(:checked)+label:after,[type=radio]:not(:checked)+label:before{border:2px solid #5a5a5a}[type=radio]:not(:checked)+label:after{-webkit-transform:scale(0);transform:scale(0)}[type=radio]:checked+label:before{border:2px solid transparent}[type=radio].with-gap:checked+label:after,[type=radio].with-gap:checked+label:before,[type=radio]:checked+label:after{border:2px solid #26a69a}[type=radio].with-gap:checked+label:after,[type=radio]:checked+label:after{background-color:#26a69a}[type=radio]:checked+label:after{-webkit-transform:scale(1.02);transform:scale(1.02)}[type=radio].with-gap:checked+label:after{-webkit-transform:scale(.5);transform:scale(.5)}[type=radio].tabbed:focus+label:before{box-shadow:0 0 0 10px rgba(0,0,0,.1)}[type=radio].with-gap:disabled:checked+label:before{border:2px solid rgba(0,0,0,.26)}[type=radio].with-gap:disabled:checked+label:after{border:none;background-color:rgba(0,0,0,.26)}[type=radio]:disabled:checked+label:before,[type=radio]:disabled:not(:checked)+label:before{background-color:transparent;border-color:rgba(0,0,0,.26)}[type=radio]:disabled+label{color:rgba(0,0,0,.26)}[type=radio]:disabled:not(:checked)+label:before{border-color:rgba(0,0,0,.26)}[type=radio]:disabled:checked+label:after{background-color:rgba(0,0,0,.26);border-color:#bdbdbd}form p{margin-bottom:10px;text-align:left}form p:last-child{margin-bottom:0}[type=checkbox]:checked,[type=checkbox]:not(:checked){position:absolute;left:-9999px;opacity:0}[type=checkbox]+label{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}[type=checkbox]+label:before,[type=checkbox]:not(.filled-in)+label:after{content:"";position:absolute;top:0;left:0;width:18px;height:18px;z-index:0;border:2px solid #5a5a5a;border-radius:1px;margin-top:2px;transition:.2s}[type=checkbox]:not(.filled-in)+label:after{border:0;-webkit-transform:scale(0);transform:scale(0)}[type=checkbox]:not(:checked):disabled+label:before{border:none;background-color:rgba(0,0,0,.26)}[type=checkbox].tabbed:focus+label:after{-webkit-transform:scale(1);transform:scale(1);border:0;border-radius:50%;box-shadow:0 0 0 10px rgba(0,0,0,.1);background-color:rgba(0,0,0,.1)}[type=checkbox]:checked+label:before{top:-4px;left:-5px;width:12px;height:22px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #26a69a;border-bottom:2px solid #26a69a;-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=checkbox]:checked:disabled+label:before{border-right:2px solid rgba(0,0,0,.26);border-bottom:2px solid rgba(0,0,0,.26)}[type=checkbox]:indeterminate+label:before{top:-11px;left:-12px;width:10px;height:22px;border-top:none;border-left:none;border-right:2px solid #26a69a;border-bottom:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=checkbox]:indeterminate:disabled+label:before{border-right:2px solid rgba(0,0,0,.26);background-color:transparent}[type=checkbox].filled-in+label:after{border-radius:2px}[type=checkbox].filled-in+label:after,[type=checkbox].filled-in+label:before{content:"";left:0;position:absolute;transition:border .25s,background-color .25s,width .2s .1s,height .2s .1s,top .2s .1s,left .2s .1s;z-index:1}[type=checkbox].filled-in:not(:checked)+label:before{width:0;height:0;border:3px solid transparent;left:6px;top:10px;-webkit-transform:rotate(37deg);transform:rotate(37deg);-webkit-transform-origin:20% 40%;transform-origin:100% 100%}[type=checkbox].filled-in:not(:checked)+label:after{height:20px;width:20px;background-color:transparent;border:2px solid #5a5a5a;top:0;z-index:0}[type=checkbox].filled-in:checked+label:before{top:0;left:1px;width:8px;height:13px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotate(37deg);transform:rotate(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=checkbox].filled-in:checked+label:after{top:0;width:20px;height:20px;border:2px solid #26a69a;background-color:#26a69a;z-index:0}[type=checkbox].filled-in.tabbed:focus+label:after{border-radius:2px;border-color:#5a5a5a;background-color:rgba(0,0,0,.1)}[type=checkbox].filled-in.tabbed:checked:focus+label:after{border-radius:2px;background-color:#26a69a;border-color:#26a69a}[type=checkbox].filled-in:disabled:not(:checked)+label:before{background-color:transparent;border:2px solid transparent}[type=checkbox].filled-in:disabled:not(:checked)+label:after{border-color:transparent;background-color:#bdbdbd}[type=checkbox].filled-in:disabled:checked+label:before{background-color:transparent}[type=checkbox].filled-in:disabled:checked+label:after{background-color:#bdbdbd;border-color:#bdbdbd}.switch,.switch *{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a;left:24px}.switch label .lever{content:"";display:inline-block;position:relative;width:40px;height:15px;background-color:#818181;border-radius:15px;margin-right:10px;transition:background .3s ease;vertical-align:middle;margin:0 16px}.switch label .lever:after{content:"";position:absolute;display:inline-block;width:21px;height:21px;background-color:#f1f1f1;border-radius:21px;box-shadow:0 1px 3px 1px rgba(0,0,0,.4);left:-5px;top:-3px;transition:left .3s ease,background .3s ease,box-shadow .1s ease}input[type=checkbox]:checked:not(:disabled).tabbed:focus~.lever:after,input[type=checkbox]:checked:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(38,166,154,.1)}input[type=checkbox]:not(:disabled).tabbed:focus~.lever:after,input[type=checkbox]:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.08)}.switch input[type=checkbox][disabled]+.lever{cursor:default}.switch label input[type=checkbox][disabled]+.lever:after,.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#bdbdbd}select{display:none}select.browser-default{display:block}select{background-color:hsla(0,0%,100%,.9);width:100%;padding:5px;border:1px solid #f2f2f2;border-radius:2px;height:3rem}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper input.select-dropdown{position:relative;cursor:pointer;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;height:3rem;line-height:3rem;width:100%;font-size:1rem;margin:0 0 20px;padding:0;display:block}.select-wrapper span.caret{color:initial;position:absolute;right:0;top:0;bottom:0;height:10px;margin:auto 0;font-size:10px;line-height:10px}.select-wrapper span.caret.disabled{color:rgba(0,0,0,.26)}.select-wrapper+label{position:absolute;top:-14px;font-size:.8rem}select:disabled{color:rgba(0,0,0,.3)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,.3);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;border-bottom:1px solid rgba(0,0,0,.3)}.select-wrapper i{color:rgba(0,0,0,.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,.3);background-color:transparent}.prefix~.select-wrapper{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.prefix~label{margin-left:3rem}.select-dropdown li img{height:40px;width:40px;margin:5px 15px;float:right}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,.4)}.select-dropdown li.optgroup~li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{overflow:hidden;padding-left:10px}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;margin:0;padding:0;font-size:20px;cursor:pointer;opacity:0;filter:alpha(opacity=0)}.range-field{position:relative}input[type=range],input[type=range]+.thumb{cursor:pointer}input[type=range]{position:relative;background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0}input[type=range]:focus{outline:none}input[type=range]+.thumb{position:absolute;top:10px;left:0;border:none;height:0;width:0;border-radius:50%;background-color:#26a69a;margin-left:7px;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}input[type=range]+.thumb .value{display:block;width:30px;text-align:center;color:#26a69a;font-size:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-left:-1px;margin-top:8px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:none;height:14px;width:14px;border-radius:50%;background-color:#26a69a;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;margin:-5px 0 0;transition:.3s}input[type=range]:focus::-webkit-slider-runnable-track{background:#ccc}input[type=range]{border:1px solid #fff}input[type=range]::-moz-range-track{height:3px;background:#ddd;border:none}input[type=range]::-moz-range-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;margin-top:-5px}input[type=range]:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}input[type=range]:focus::-moz-range-track{background:#ccc}input[type=range]::-ms-track{height:3px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a}input[type=range]:focus::-ms-fill-lower{background:#888}input[type=range]:focus::-ms-fill-upper{background:#ccc}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{font-weight:300;color:#757575;padding-left:20px;height:1.5rem;line-height:1.5rem;letter-spacing:.4;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;padding-left:19px;border-left:1px solid #ee6e73}.table-of-contents a.active{font-weight:500;padding-left:18px;border-left:2px solid #ee6e73}.side-nav{position:fixed;width:300px;left:0;top:0;margin:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);height:calc(100% + 60px);height:100%;padding-bottom:60px;background-color:#fff;z-index:999;overflow-y:auto;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-105%);transform:translateX(-105%)}.side-nav.right-aligned{right:0;-webkit-transform:translateX(105%);transform:translateX(105%);left:auto;-webkit-transform:translateX(100%);transform:translateX(100%)}.side-nav .collapsible{margin:0}.side-nav li{float:none;line-height:48px}.side-nav li.active{background-color:rgba(0,0,0,.05)}.side-nav li>a{color:rgba(0,0,0,.87);display:block;font-size:14px;font-weight:500;height:48px;line-height:48px;padding:0 32px}.side-nav li>a:hover{background-color:rgba(0,0,0,.05)}.side-nav li>a.btn,.side-nav li>a.btn-flat,.side-nav li>a.btn-floating,.side-nav li>a.btn-large{margin:10px 15px}.side-nav li>a.btn,.side-nav li>a.btn-floating,.side-nav li>a.btn-large{color:#fff}.side-nav li>a.btn-flat{color:#343434}.side-nav li>a.btn-large:hover,.side-nav li>a.btn:hover{background-color:#2bbbad}.side-nav li>a.btn-floating:hover{background-color:#26a69a}.side-nav li>a>[class^=mdi-],.side-nav li>a>i,.side-nav li>a>i.material-icons,.side-nav li>a li>a>[class*=mdi-]{float:left;height:48px;line-height:48px;margin:0 32px 0 0;width:24px;color:rgba(0,0,0,.54)}.side-nav .divider{margin:8px 0 0}.side-nav .subheader{cursor:auto;pointer-events:none;color:rgba(0,0,0,.54);font-size:14px;font-weight:500;line-height:48px}.side-nav .subheader:hover{background-color:transparent}.side-nav .userView{position:relative;padding:32px 32px 0;margin-bottom:8px}.side-nav .userView>a{height:auto;padding:0}.side-nav .userView>a:hover{background-color:transparent}.side-nav .userView .background{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.side-nav .userView .circle,.side-nav .userView .email,.side-nav .userView .name{display:block}.side-nav .userView .circle{height:64px;width:64px}.side-nav .userView .email,.side-nav .userView .name{font-size:14px;line-height:24px}.side-nav .userView .name{margin-top:16px;font-weight:500}.side-nav .userView .email{padding-bottom:16px;font-weight:400}.drag-target{height:100%;width:10px;position:fixed;top:0;z-index:998}.side-nav.fixed{left:0;-webkit-transform:translateX(0);transform:translateX(0);position:fixed}.side-nav.fixed.right-aligned{right:0;left:auto}@media only screen and (max-width:992px){.side-nav.fixed{-webkit-transform:translateX(-105%);transform:translateX(-105%)}.side-nav.fixed.right-aligned{-webkit-transform:translateX(105%);transform:translateX(105%)}.side-nav a{padding:0 16px}.side-nav .userView{padding:16px 16px 0}}.side-nav .collapsible-body>ul:not(.collapsible)>li.active,.side-nav.fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.side-nav .collapsible-body>ul:not(.collapsible)>li.active a,.side-nav.fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}.side-nav .collapsible-body{padding:0}#sidenav-overlay{position:fixed;top:0;left:0;right:0;height:120vh;background-color:rgba(0,0,0,.5);z-index:997;will-change:opacity}.preloader-wrapper{display:inline-block;position:relative;width:50px;height:50px}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(1turn)}}@keyframes container-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0;border-color:#26a69a}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-green-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only{opacity:1;-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(3turn)}}@keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(3turn);transform:rotate(3turn)}}@-webkit-keyframes blue-fade-in-out{0%{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}to{opacity:1}}@keyframes blue-fade-in-out{0%{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}to{opacity:1}}@-webkit-keyframes red-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}to{opacity:0}}@keyframes green-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}to{opacity:0}}.gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.circle-clipper .circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent!important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0}.circle-clipper.left .circle{left:0;border-right-color:transparent!important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.circle-clipper.right .circle{left:-100%;border-left-color:transparent!important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.active .circle-clipper.left .circle{-webkit-animation:left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.active .circle-clipper.right .circle{-webkit-animation:right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}@-webkit-keyframes left-spin{0%{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{0%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes right-spin{0%{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{0%{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation:container-rotate 1568ms linear infinite,fade-out .4s cubic-bezier(.4,0,.2,1);animation:container-rotate 1568ms linear infinite,fade-out .4s cubic-bezier(.4,0,.2,1)}@-webkit-keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.slider{position:relative;height:400px;width:100%}.slider.fullscreen{height:100%;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;margin:0;height:400px}.slider .slides li{opacity:0;position:absolute;top:0;left:0;z-index:1;width:100%;height:inherit;overflow:hidden}.slider .slides li img{height:100%;width:100%;background-size:cover;background-position:50%}.slider .slides li .caption{color:#fff;position:absolute;top:15%;left:15%;width:70%;opacity:0}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.slider .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:16px;width:16px;margin:0 12px;background-color:#e0e0e0;transition:background-color .3s;border-radius:50%}.slider .indicators .indicator-item.active{background-color:#4caf50}.carousel{overflow:hidden;position:relative;width:100%;height:400px;-webkit-perspective:500px;perspective:500px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform-origin:0 50%;transform-origin:0 50%}.carousel.carousel-slider{top:0;left:0;height:0}.carousel.carousel-slider .carousel-fixed-item{position:absolute;left:0;right:0;bottom:20px;z-index:1}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{display:none;width:200px;height:200px;position:absolute;top:0;left:0}.carousel .carousel-item>img{width:100%}.carousel .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.carousel .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:8px;width:8px;margin:24px 4px;background-color:hsla(0,0%,100%,.5);transition:background-color .3s;border-radius:50%}.carousel .indicators .indicator-item.active{background-color:#fff}.carousel .carousel-item:not(.active) .materialboxed,.carousel.scrolling .carousel-item .materialboxed{pointer-events:none}.tap-target-wrapper{width:800px;height:800px;position:fixed;z-index:1000;visibility:hidden;transition:visibility 0s .3s}.tap-target-wrapper.open{visibility:visible;transition:visibility 0s}.tap-target-wrapper.open .tap-target{opacity:.95;transition:opacity .3s ease-in-out,-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out,opacity .3s ease-in-out;transition:transform .3s ease-in-out,opacity .3s ease-in-out,-webkit-transform .3s ease-in-out}.tap-target-wrapper.open .tap-target,.tap-target-wrapper.open .tap-target-wave:before{-webkit-transform:scale(1);transform:scale(1)}.tap-target-wrapper.open .tap-target-wave:after{visibility:visible;-webkit-animation:pulse-animation 1s cubic-bezier(.24,0,.38,1) infinite;animation:pulse-animation 1s cubic-bezier(.24,0,.38,1) infinite;transition:opacity .3s,visibility 0s 1s,-webkit-transform .3s;transition:opacity .3s,transform .3s,visibility 0s 1s;transition:opacity .3s,transform .3s,visibility 0s 1s,-webkit-transform .3s}.tap-target{position:absolute;font-size:1rem;border-radius:50%;background-color:#ee6e73;box-shadow:0 20px 20px 0 rgba(0,0,0,.14),0 10px 50px 0 rgba(0,0,0,.12),0 30px 10px -20px rgba(0,0,0,.2);width:100%;height:100%;opacity:0;-webkit-transform:scale(0);transform:scale(0);transition:opacity .3s ease-in-out,-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out,opacity .3s ease-in-out;transition:transform .3s ease-in-out,opacity .3s ease-in-out,-webkit-transform .3s ease-in-out}.tap-target-content{position:relative;display:table-cell}.tap-target-wave{position:absolute;border-radius:50%;z-index:10001}.tap-target-wave:after,.tap-target-wave:before{content:"";display:block;position:absolute;width:100%;height:100%;border-radius:50%;background-color:#fff}.tap-target-wave:before{-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.tap-target-wave:after{visibility:hidden;transition:opacity .3s,visibility 0s,-webkit-transform .3s;transition:opacity .3s,transform .3s,visibility 0s;transition:opacity .3s,transform .3s,visibility 0s,-webkit-transform .3s;z-index:-1}.tap-target-origin{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:10002;position:absolute!important}.tap-target-origin:not(.btn):not(.btn-large),.tap-target-origin:not(.btn):not(.btn-large):hover{background:none}@media only screen and (max-width:600px){.tap-target,.tap-target-wrapper{width:600px;height:600px}}.pulse{overflow:initial;position:relative}.pulse:before{content:"";display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:inherit;border-radius:inherit;transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s;transition:opacity .3s,transform .3s,-webkit-transform .3s;-webkit-animation:pulse-animation 1s cubic-bezier(.24,0,.38,1) infinite;animation:pulse-animation 1s cubic-bezier(.24,0,.38,1) infinite;z-index:-1}@-webkit-keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}to{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}@keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}to{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}.picker{font-size:16px;text-align:left;line-height:1.2;color:#000;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.picker__frame,.picker__holder{bottom:0;left:0;right:0;top:100%}.picker__holder{position:fixed;transition:background .15s ease-out,top 0s .15s;-webkit-backface-visibility:hidden}.picker__frame{position:absolute;min-width:256px;width:300px;max-height:350px;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;transition:all .15s ease-out}@media (min-height:28.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}}@media (min-height:40.125em){.picker__frame{margin-bottom:7.5%}}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:28.875em){.picker__wrap{display:block}}.picker__box{background:#fff;display:table-cell;vertical-align:middle}@media (min-height:28.875em){.picker__box{display:block;border:1px solid #777;border-top-color:#898989;border-bottom-width:0;border-radius:5px 5px 0 0;box-shadow:0 12px 36px 16px rgba(0,0,0,.24)}}.picker--opened .picker__holder{top:0;background:transparent;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#1E000000,endColorstr=#1E000000)";zoom:1;background:rgba(0,0,0,.32);transition:background .15s ease-out}.picker--opened .picker__frame{top:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:35.875em){.picker--opened .picker__frame{top:10%;bottom:auto}}.picker__input.picker__input--active{border-color:#e3f2fd}.picker__frame{margin:0 auto;max-width:325px}@media (min-height:38.875em){.picker--opened .picker__frame{top:10%;bottom:auto}}.picker__box{padding:0 1em}.picker__header{text-align:center;position:relative;margin-top:.75em}.picker__month,.picker__year{display:inline-block;margin-left:.25em;margin-right:.25em}.picker__select--month,.picker__select--year{height:2em;padding:0;margin-left:.25em;margin-right:.25em}.picker__select--month.browser-default{display:inline;background-color:#fff;width:40%}.picker__select--year.browser-default{display:inline;background-color:#fff;width:26%}.picker__select--month:focus,.picker__select--year:focus{border-color:rgba(0,0,0,.05)}.picker__nav--next,.picker__nav--prev{position:absolute;padding:.5em 1.25em;width:1em;height:1em;box-sizing:content-box;top:-.25em}.picker__nav--prev{left:-1em;padding-right:1.25em}.picker__nav--next{right:-1em;padding-left:1.25em}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:none;border-right-color:#f5f5f5;border-left-color:#f5f5f5}.picker__table{border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:1rem;width:100%;margin-top:.75em}.picker__table,.picker__table td,.picker__table th{text-align:center}.picker__table td{margin:0;padding:0}.picker__weekday{width:14.285714286%;font-size:.75em;padding-bottom:.25em;color:#999;font-weight:500}@media (min-height:33.875em){.picker__weekday{padding-bottom:.5em}}.picker__day--today{position:relative;color:#595959;letter-spacing:-.3;padding:.75rem 0;font-weight:400;border:1px solid transparent}.picker__day--disabled:before{border-top-color:#aaa}.picker__day--infocus:hover{cursor:pointer;color:#000;font-weight:500}.picker__day--outfocus{display:none;padding:.75rem 0;color:#fff}.picker__day--outfocus:hover{cursor:pointer;color:#ddd;font-weight:500}.picker--focused .picker__day--highlighted,.picker__day--highlighted:hover{cursor:pointer}.picker--focused .picker__day--selected,.picker__day--selected,.picker__day--selected:hover{-webkit-transform:scale(.75);transform:scale(.75);background:#0089ec}.picker--focused .picker__day--disabled,.picker__day--disabled,.picker__day--disabled:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default}.picker__day--highlighted.picker__day--disabled,.picker__day--highlighted.picker__day--disabled:hover{background:#bbb}.picker__footer{text-align:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.picker__button--clear,.picker__button--close,.picker__button--today{border:1px solid #fff;background:#fff;font-size:.8em;padding:.66em 0;font-weight:700;width:33%;display:inline-block;vertical-align:bottom}.picker__button--clear:hover,.picker__button--close:hover,.picker__button--today:hover{cursor:pointer;color:#000;background:#b1dcfb;border-bottom-color:#b1dcfb}.picker__button--clear:focus,.picker__button--close:focus,.picker__button--today:focus{background:#b1dcfb;border-color:rgba(0,0,0,.05);outline:none}.picker__button--clear:before,.picker__button--close:before,.picker__button--today:before{position:relative;display:inline-block;height:0}.picker__button--clear:before,.picker__button--today:before{content:" ";margin-right:.45em}.picker__button--today:before{top:-.05em;width:0;border-top:.66em solid #0059bc;border-left:.66em solid transparent}.picker__button--clear:before{top:-.25em;width:.66em;border-top:3px solid #e20}.picker__button--close:before{content:"\D7";top:-.1em;vertical-align:top;font-size:1.1em;margin-right:.35em;color:#777}.picker__button--today[disabled],.picker__button--today[disabled]:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default}.picker__button--today[disabled]:before{border-top-color:#aaa}.picker__box{border-radius:2px;overflow:hidden}.picker__date-display{text-align:center;background-color:#26a69a;color:#fff;padding-bottom:15px;font-weight:300}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;color:#000;background:#a1ded8}.picker__weekday-display{background-color:#1f897f;padding:10px;font-weight:200;letter-spacing:.5;font-size:1rem;margin-bottom:15px}.picker__month-display{text-transform:uppercase;font-size:2rem}.picker__day-display{font-size:4.5rem;font-weight:400}.picker__year-display{font-size:1.8rem;color:hsla(0,0%,100%,.4)}.picker__box{padding:0}.picker__calendar-container{padding:0 1rem}.picker__calendar-container thead{border:none}.picker__table{margin-top:0;margin-bottom:.5em}.picker__day--infocus{color:#595959;letter-spacing:-.3;padding:.75rem 0;font-weight:400;border:1px solid transparent}.picker__day.picker__day--today{color:#26a69a}.picker__day.picker__day--today.picker__day--selected{color:#fff}.picker__weekday{font-size:.9rem}.picker--focused .picker__day--selected,.picker__day--selected,.picker__day--selected:hover{border-radius:50%;-webkit-transform:scale(.9);transform:scale(.9);background-color:#26a69a;color:#fff}.picker--focused .picker__day--selected.picker__day--outfocus,.picker__day--selected.picker__day--outfocus,.picker__day--selected:hover.picker__day--outfocus{background-color:#a1ded8}.picker__footer{text-align:right;padding:5px 10px}.picker__close,.picker__today{font-size:1.1rem;padding:0 1rem;color:#26a69a}.picker__nav--next:before,.picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.75em solid #676767;width:0;height:0;display:block;margin:0 auto}.picker__nav--next:before{border-right:0;border-left:.75em solid #676767}button.picker__clear:focus,button.picker__close:focus,button.picker__today:focus{background-color:#a1ded8}.picker__list{list-style:none;padding:.75em 0 4.2em;margin:0}.picker__list-item{border-bottom:1px solid #ddd;border-top:1px solid #ddd;margin-bottom:-1px;position:relative;background:#fff;padding:.75em 1.25em}@media (min-height:46.75em){.picker__list-item{padding:.5em 1em}}.picker__list-item:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker__list-item--highlighted,.picker__list-item:hover{border-color:#0089ec;z-index:10}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker--focused .picker__list-item--selected,.picker__list-item--selected,.picker__list-item--selected:hover{background:#0089ec;color:#fff;z-index:10}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default;border-color:#ddd;z-index:auto}.picker--time .picker__button--clear{display:block;width:80%;margin:1em auto 0;padding:1em 1.25em;background:none;border:0;font-weight:500;font-size:.67em;text-align:center;text-transform:uppercase;color:#666}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{color:#000;background:#b1dcfb;background:#e20;border-color:#e20;cursor:pointer;color:#fff;outline:none}.picker--time .picker__button--clear:before{top:-.25em;color:#666;font-size:1.25em;font-weight:700}.picker--time .picker__button--clear:focus:before,.picker--time .picker__button--clear:hover:before{color:#fff}.picker--time .picker__frame{min-width:256px;max-width:320px}.picker--time .picker__box{font-size:1em;background:#f2f2f2;padding:0}@media (min-height:40.125em){.picker--time .picker__box{margin-bottom:5em}}.annotator-filter *,.annotator-notice,.annotator-widget *{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-weight:400;text-align:left;margin:0;padding:0;background:none;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;-moz-box-shadow:none;-webkit-box-shadow:none;-o-box-shadow:none;box-shadow:none;color:#909090}.annotator-adder{background-image:url(img/annotator-icon-sprite.png);background-repeat:no-repeat}.annotator-editor a:after,.annotator-filter .annotator-filter-navigation button:after,.annotator-filter .annotator-filter-property .annotator-filter-clear,.annotator-resize,.annotator-viewer .annotator-controls a,.annotator-viewer .annotator-controls button,.annotator-widget:after{background-image:url(img/annotator-glyph-sprite.png);background-repeat:no-repeat}.annotator-hl{background:#ffff0a;background:rgba(255,255,10,.3);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4DFFFF0A, endColorstr=#4DFFFF0A)"}.annotator-hl-temporary{background:#007cff;background:rgba(0,124,255,.3);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4D007CFF, endColorstr=#4D007CFF)"}.annotator-wrapper{position:relative}.annotator-adder,.annotator-notice,.annotator-outer{z-index:1020}.annotator-filter{z-index:1010}.annotator-adder,.annotator-notice,.annotator-outer,.annotator-widget{position:absolute;font-size:10px;line-height:1}.annotator-hide{display:none;visibility:hidden}.annotator-adder{margin-top:-48px;margin-left:-24px;width:48px;height:48px;background-position:0 0}.annotator-adder:hover{background-position:top}.annotator-adder:active{background-position:100%}.annotator-adder button{display:block;width:36px;height:41px;margin:0 auto;border:none;background:none;text-indent:-999em;cursor:pointer}.annotator-outer{width:0;height:0}.annotator-widget{margin:0;padding:0;bottom:15px;left:-18px;min-width:265px;background-color:#fbfbfb;background-color:hsla(0,0%,98%,.98);border:1px solid #7a7a7a;border:1px solid hsla(0,0%,48%,.6);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.2);-moz-box-shadow:0 5px 15px rgba(0,0,0,.2);-o-box-shadow:0 5px 15px rgba(0,0,0,.2);box-shadow:0 5px 15px rgba(0,0,0,.2)}.annotator-invert-x .annotator-widget{left:auto;right:-18px}.annotator-invert-y .annotator-widget{bottom:auto;top:8px}.annotator-widget strong{font-weight:700}.annotator-widget .annotator-item,.annotator-widget .annotator-listing{padding:0;margin:0;list-style:none}.annotator-widget:after{content:"";display:block;width:18px;height:10px;background-position:0 0;position:absolute;bottom:-10px;left:8px}.annotator-invert-x .annotator-widget:after{left:auto;right:8px}.annotator-invert-y .annotator-widget:after{background-position:0 -15px;bottom:auto;top:-9px}.annotator-editor .annotator-item input,.annotator-editor .annotator-item textarea,.annotator-widget .annotator-item{position:relative;font-size:12px}.annotator-viewer .annotator-item{border-top:2px solid #7a7a7a;border-top:2px solid hsla(0,0%,48%,.2)}.annotator-widget .annotator-item:first-child{border-top:none}.annotator-editor .annotator-item,.annotator-viewer div{border-top:1px solid #858585;border-top:1px solid hsla(0,0%,52%,.11)}.annotator-viewer div{padding:6px}.annotator-viewer .annotator-item ol,.annotator-viewer .annotator-item ul{padding:4px 16px}.annotator-editor .annotator-item:first-child textarea,.annotator-viewer div:first-of-type{padding-top:12px;padding-bottom:12px;color:#3c3c3c;font-size:13px;font-style:italic;line-height:1.3;border-top:none}.annotator-viewer .annotator-controls{position:relative;top:5px;right:5px;padding-left:5px;opacity:0;-webkit-transition:opacity .2s ease-in;-moz-transition:opacity .2s ease-in;-o-transition:opacity .2s ease-in;transition:opacity .2s ease-in;float:right}.annotator-viewer li .annotator-controls.annotator-visible,.annotator-viewer li:hover .annotator-controls{opacity:1}.annotator-viewer .annotator-controls a,.annotator-viewer .annotator-controls button{cursor:pointer;display:inline-block;width:13px;height:13px;margin-left:2px;border:none;opacity:.2;text-indent:-900em;background-color:transparent;outline:none}.annotator-viewer .annotator-controls a:focus,.annotator-viewer .annotator-controls a:hover,.annotator-viewer .annotator-controls button:focus,.annotator-viewer .annotator-controls button:hover{opacity:.9}.annotator-viewer .annotator-controls a:active,.annotator-viewer .annotator-controls button:active{opacity:1}.annotator-viewer .annotator-controls button[disabled]{display:none}.annotator-viewer .annotator-controls .annotator-edit{background-position:0 -60px}.annotator-viewer .annotator-controls .annotator-delete{background-position:0 -75px}.annotator-viewer .annotator-controls .annotator-link{background-position:0 -270px}.annotator-editor .annotator-item{position:relative}.annotator-editor .annotator-item label{top:0;display:inline;cursor:pointer;font-size:12px}.annotator-editor .annotator-item input,.annotator-editor .annotator-item textarea{display:block;min-width:100%;padding:10px 8px;border:none;margin:0;color:#3c3c3c;background:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;resize:none}.annotator-editor .annotator-item textarea::-webkit-scrollbar{height:8px;width:8px}.annotator-editor .annotator-item textarea::-webkit-scrollbar-track-piece{margin:13px 0 3px;background-color:#e5e5e5;-webkit-border-radius:4px}.annotator-editor .annotator-item textarea::-webkit-scrollbar-thumb:vertical{height:25px;background-color:#ccc;-webkit-border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1)}.annotator-editor .annotator-item textarea::-webkit-scrollbar-thumb:horizontal{width:25px;background-color:#ccc;-webkit-border-radius:4px}.annotator-editor .annotator-item:first-child textarea{min-height:5.5em;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.annotator-editor .annotator-item input:focus,.annotator-editor .annotator-item textarea:focus{background-color:#f3f3f3;outline:none}.annotator-editor .annotator-item input[type=checkbox],.annotator-editor .annotator-item input[type=radio]{width:auto;min-width:0;padding:0;display:inline;margin:0 4px 0 0;cursor:pointer}.annotator-editor .annotator-checkbox{padding:8px 6px}.annotator-editor .annotator-controls,.annotator-filter,.annotator-filter .annotator-filter-navigation button{text-align:right;padding:3px;border-top:1px solid #d4d4d4;background-color:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),color-stop(.6,#dcdcdc),to(#d2d2d2));background-image:-moz-linear-gradient(to bottom,#f5f5f5,#dcdcdc 60%,#d2d2d2);background-image:-webkit-linear-gradient(180deg,#f5f5f5,#dcdcdc 60%,#d2d2d2);background-image:linear-gradient(180deg,#f5f5f5,#dcdcdc 60%,#d2d2d2);-webkit-box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);-moz-box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);-o-box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-o-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.annotator-editor.annotator-invert-y .annotator-controls{border-top:none;border-bottom:1px solid #b4b4b4;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.annotator-editor a,.annotator-filter .annotator-filter-property label{position:relative;display:inline-block;padding:0 6px 0 22px;color:#363636;text-shadow:0 1px 0 hsla(0,0%,100%,.75);text-decoration:none;line-height:24px;font-size:12px;font-weight:700;border:1px solid #a2a2a2;background-color:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),color-stop(.5,#d2d2d2),color-stop(.5,#bebebe),to(#d2d2d2));background-image:-moz-linear-gradient(to bottom,#f5f5f5,#d2d2d2 50%,#bebebe 50%,#d2d2d2);background-image:-webkit-linear-gradient(180deg,#f5f5f5,#d2d2d2 50%,#bebebe 0,#d2d2d2);background-image:linear-gradient(180deg,#f5f5f5,#d2d2d2 50%,#bebebe 0,#d2d2d2);-webkit-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-moz-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-o-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;border-radius:5px}.annotator-editor a:after{position:absolute;top:50%;left:5px;display:block;content:"";width:15px;height:15px;margin-top:-7px;background-position:0 -90px}.annotator-editor a.annotator-focus,.annotator-editor a:focus,.annotator-editor a:hover,.annotator-filter .annotator-filter-active label,.annotator-filter .annotator-filter-navigation button:hover{outline:none;border-color:#435aa0;background-color:#3865f9;background-image:-webkit-gradient(linear,left top,left bottom,from(#7691fb),color-stop(.5,#5075fb),color-stop(.5,#3865f9),to(#3665fa));background-image:-moz-linear-gradient(to bottom,#7691fb,#5075fb 50%,#3865f9 50%,#3665fa);background-image:-webkit-linear-gradient(180deg,#7691fb,#5075fb 50%,#3865f9 0,#3665fa);background-image:linear-gradient(180deg,#7691fb,#5075fb 50%,#3865f9 0,#3665fa);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.42)}.annotator-editor a:focus:after,.annotator-editor a:hover:after{margin-top:-8px;background-position:0 -105px}.annotator-editor a:active,.annotator-filter .annotator-filter-navigation button:active{border-color:#700c49;background-color:#d12e8e;background-image:-webkit-gradient(linear,left top,left bottom,from(#fc7cca),color-stop(.5,#e85db2),color-stop(.5,#d12e8e),to(#ff009c));background-image:-moz-linear-gradient(to bottom,#fc7cca,#e85db2 50%,#d12e8e 50%,#ff009c);background-image:-webkit-linear-gradient(180deg,#fc7cca,#e85db2 50%,#d12e8e 0,#ff009c);background-image:linear-gradient(180deg,#fc7cca,#e85db2 50%,#d12e8e 0,#ff009c)}.annotator-editor a.annotator-save:after{background-position:0 -120px}.annotator-editor a.annotator-save.annotator-focus:after,.annotator-editor a.annotator-save:focus:after,.annotator-editor a.annotator-save:hover:after{margin-top:-8px;background-position:0 -135px}.annotator-editor .annotator-widget:after{background-position:0 -30px}.annotator-editor.annotator-invert-y .annotator-widget .annotator-controls{background-color:#f2f2f2}.annotator-editor.annotator-invert-y .annotator-widget:after{background-position:0 -45px;height:11px}.annotator-resize{position:absolute;top:0;right:0;width:12px;height:12px;background-position:2px -150px}.annotator-invert-x .annotator-resize{right:auto;left:0;background-position:0 -195px}.annotator-invert-y .annotator-resize{top:auto;bottom:0;background-position:2px -165px}.annotator-invert-y.annotator-invert-x .annotator-resize{background-position:0 -180px}.annotator-notice{color:#fff;position:fixed;top:-54px;left:0;width:100%;font-size:14px;line-height:50px;text-align:center;background:#000;background:rgba(0,0,0,.9);border-bottom:4px solid #d4d4d4;-webkit-transition:top .4s ease-out;-moz-transition:top .4s ease-out;-o-transition:top .4s ease-out;transition:top .4s ease-out}.annotator-notice-success{border-color:#3665f9}.annotator-notice-error{border-color:#ff7e00}.annotator-notice p{margin:0}.annotator-notice a{color:#fff}.annotator-notice-show{top:0}.annotator-tags{margin-bottom:-2px}.annotator-tags .annotator-tag{display:inline-block;padding:0 8px;margin-bottom:2px;line-height:1.6;font-weight:700;background-color:#e6e6e6;-webkit-border-radius:8px;-moz-border-radius:8px;-o-border-radius:8px;border-radius:8px}.annotator-filter{position:fixed;top:0;right:0;left:0;text-align:left;line-height:0;border:none;border-bottom:1px solid #878787;padding-left:10px;padding-right:10px;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3);-moz-box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3);-o-box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3);box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3)}.annotator-filter strong{font-size:12px;font-weight:700;color:#3c3c3c;text-shadow:0 1px 0 hsla(0,0%,100%,.7);position:relative;top:-9px}.annotator-filter .annotator-filter-navigation,.annotator-filter .annotator-filter-property{position:relative;display:inline-block;overflow:hidden;line-height:10px;padding:2px 0;margin-right:8px}.annotator-filter .annotator-filter-navigation button,.annotator-filter .annotator-filter-property label{text-align:left;display:block;float:left;line-height:20px;-webkit-border-radius:10px 0 0 10px;-moz-border-radius:10px 0 0 10px;-o-border-radius:10px 0 0 10px;border-radius:10px 0 0 10px}.annotator-filter .annotator-filter-property label{padding-left:8px}.annotator-filter .annotator-filter-property input{display:block;float:right;-webkit-appearance:none;background-color:#fff;border:1px solid #878787;border-left:none;padding:2px 4px;line-height:16px;min-height:16px;font-size:12px;width:150px;color:#333;background-color:#f8f8f8;-webkit-border-radius:0 10px 10px 0;-moz-border-radius:0 10px 10px 0;-o-border-radius:0 10px 10px 0;border-radius:0 10px 10px 0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);-o-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px rgba(0,0,0,.2)}.annotator-filter .annotator-filter-property input:focus{outline:none;background-color:#fff}.annotator-filter .annotator-filter-clear{position:absolute;right:3px;top:6px;border:none;text-indent:-900em;width:15px;height:15px;background-position:0 -90px;opacity:.4}.annotator-filter .annotator-filter-clear:focus,.annotator-filter .annotator-filter-clear:hover{opacity:.8}.annotator-filter .annotator-filter-clear:active{opacity:1}.annotator-filter .annotator-filter-navigation button{border:1px solid #a2a2a2;padding:0;text-indent:-900px;width:20px;min-height:22px;-webkit-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-moz-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-o-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8)}.annotator-filter .annotator-filter-navigation button,.annotator-filter .annotator-filter-navigation button:focus,.annotator-filter .annotator-filter-navigation button:hover{color:transparent}.annotator-filter .annotator-filter-navigation button:after{position:absolute;top:8px;left:8px;content:"";display:block;width:9px;height:9px;background-position:0 -210px}.annotator-filter .annotator-filter-navigation button:hover:after{background-position:0 -225px}.annotator-filter .annotator-filter-navigation .annotator-filter-next{-webkit-border-radius:0 10px 10px 0;-moz-border-radius:0 10px 10px 0;-o-border-radius:0 10px 10px 0;border-radius:0 10px 10px 0;border-left:none}.annotator-filter .annotator-filter-navigation .annotator-filter-next:after{left:auto;right:7px;background-position:0 -240px}.annotator-filter .annotator-filter-navigation .annotator-filter-next:hover:after{background-position:0 -255px}.annotator-hl-active{background:#ffff0a;background:rgba(255,255,10,.8);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#CCFFFF0A, endColorstr=#CCFFFF0A)"}.annotator-hl-filtered{background-color:transparent}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(fonts/MaterialIcons-Regular.woff2) format("woff2"),url(fonts/MaterialIcons-Regular.woff) format("woff"),url(fonts/MaterialIcons-Regular.ttf) format("truetype")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}@font-face{font-family:Lato;font-weight:100;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-hairline.woff2) format("woff2"),url(fonts/lato-hairline.woff) format("woff")}@font-face{font-family:Lato;font-weight:100;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-hairline-italic.woff2) format("woff2"),url(fonts/lato-hairline-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:200;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-thin.woff2) format("woff2"),url(fonts/lato-thin.woff) format("woff")}@font-face{font-family:Lato;font-weight:200;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-thin-italic.woff2) format("woff2"),url(fonts/lato-thin-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:300;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-light.woff2) format("woff2"),url(fonts/lato-light.woff) format("woff")}@font-face{font-family:Lato;font-weight:300;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-light-italic.woff2) format("woff2"),url(fonts/lato-light-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:400;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-normal.woff2) format("woff2"),url(fonts/lato-normal.woff) format("woff")}@font-face{font-family:Lato;font-weight:400;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-normal-italic.woff2) format("woff2"),url(fonts/lato-normal-italic.woff) format("woff")}@font-face{font-family:Lato Medium;font-weight:400;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-medium.woff2) format("woff2"),url(fonts/lato-medium.woff) format("woff")}@font-face{font-family:Lato Medium;font-weight:400;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-medium-italic.woff2) format("woff2"),url(fonts/lato-medium-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:500;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-semibold.woff2) format("woff2"),url(fonts/lato-semibold.woff) format("woff")}@font-face{font-family:Lato;font-weight:500;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-semibold-italic.woff2) format("woff2"),url(fonts/lato-semibold-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:600;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-bold.woff2) format("woff2"),url(fonts/lato-bold.woff) format("woff")}@font-face{font-family:Lato;font-weight:600;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-bold-italic.woff2) format("woff2"),url(fonts/lato-bold-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:800;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-heavy.woff2) format("woff2"),url(fonts/lato-heavy.woff) format("woff")}@font-face{font-family:Lato;font-weight:800;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-heavy-italic.woff2) format("woff2"),url(fonts/lato-heavy-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:900;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-black.woff2) format("woff2"),url(fonts/lato-black.woff) format("woff")}@font-face{font-family:Lato;font-weight:900;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-black-italic.woff2) format("woff2"),url(fonts/lato-black-italic.woff) format("woff")}.material-icons.md-18{font-size:18px}.material-icons.md-24{font-size:24px}.material-icons.md-36{font-size:36px}.material-icons.md-48{font-size:48px}.material-icons.md-dark{color:rgba(0,0,0,.54)}.material-icons.md-dark.md-inactive{color:rgba(0,0,0,.26)}.material-icons.md-light{color:#fff}.material-icons.md-light.md-inactive{color:hsla(0,0%,100%,.3)}#article{font-size:20px;margin:0 auto;max-width:45em}#article article{color:#424242;font-size:18px;line-height:1.7em}#article article h1,#article article h2,#article article h3,#article article h4,#article article h5,#article article h6{color:#212121}#article article h1 strong,#article article h2 strong,#article article h3 strong,#article article h4 strong,#article article h5 strong,#article article h6 strong{font-weight:500}#article article h6{font-size:1.2rem}#article article h5{font-size:1.6rem}#article article h4{font-size:1.9rem}#article article h3{font-size:2.2rem}#article article h2{font-size:2.5rem}#article article h1{font-size:2.7rem}#article article a{border-bottom:1px dotted #03a9f4;text-decoration:none}#article article a:hover{border-bottom-style:solid}#article article ul{padding-left:30px}#article article ul,#article article ul li{list-style-type:disc}#article article blockquote{font-style:italic}#article article strong{font-weight:700}#article figure,#article img{max-width:100%;height:auto}#article pre{box-sizing:border-box;margin:0 0 1.75em;border:1px solid #e3f2fd;width:100%;padding:10px;font-family:monospace;font-size:.8em;white-space:pre;overflow:auto;background:#f5f5f5;border-radius:3px}#article>header>h1{font-size:2em;margin:2.1rem 0 .68rem}#article aside .tools{display:flex;flex-flow:row wrap}#article aside .tools .stats{font-size:.8em;margin:8px 5px 5px}#article aside .tools .stats li{display:inline-flex;vertical-align:middle;margin:3px 5px}#article aside .tools .stats li i.material-icons{color:#3e3e3e;margin-right:3px}#article aside .tools .stats a{color:#000;text-decoration:none}#article aside .tools .tags{float:right;margin:5px 15px 10px}#article aside .chip{background-color:rgba(0,151,167,.85);padding:0 15px 0 10px;margin:auto 2px;border-radius:6px}#article aside .chip a,#article aside .chip i{color:#fff}#article aside .chip i.material-icons{float:right;font-size:20px;line-height:32px;padding-left:8px}.reader-mode{width:70px!important;transition:width .2s ease}.reader-mode .collapsible-body{height:0;overflow:hidden}.reader-mode span{opacity:0;transition:opacity .2s ease}.reader-mode:hover{width:260px!important}.reader-mode:hover .collapsible-body{height:auto}.reader-mode:hover .collapsible-body li a i.material-icons{margin:auto 5px auto -8px}.reader-mode:hover span{opacity:1}.progress{position:fixed;top:0;width:100%;height:3px;margin:0;z-index:9999}main #content{padding:0 .5rem}main ul.row{margin:.4rem 0 0;padding:0 .75rem}.data .card .card-body{height:19em;overflow:hidden}.card .card-content .card-title,.card .card-reveal .card-title{line-height:22.8px;max-height:80px;font-size:19px;font-family:roberto,Helvetica Neue,Helvetica,Arial,sans-serif}.card .card-stacked .card-content .card-title{display:inline-block}.card .card-content .activator,.card .card-reveal .activator{cursor:pointer;font-family:Material Icons}.card .card-content i.right,.card .card-reveal i.right{margin-left:0}.card .card-content .original{line-height:24px;font-size:15px}.card .card-entry-labels{position:absolute;top:10px;z-index:90;max-width:50%}.card .card-entry-labels-hidden{margin:2.5px auto}.card .card-entry-labels-hidden li{display:inline-block;background-color:rgba(0,151,167,.85);margin:0 5px;padding:5px 12px;border-radius:3px;color:#fff;max-height:2em;max-width:calc(100% - 15px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .card-content .estimatedTime{margin-bottom:10px}.card .card-action{padding:10px 5px 10px 15px}.card .card-action ul.links{margin:0;font-size:24px;line-height:24px}.card .card-action a{color:#fff;margin:0}.card .card-action a:hover{color:#fff}.card .card-action ul.tools li a.tool{margin-right:5px!important}.card .card-action .reading-time{display:inline-flex;vertical-align:middle}.card .card-action .reading-time span{margin-right:5px}.card .card-image{height:10em}.card .card-fullimage{height:13.5em}.card .card-fullimage .preview,.card .card-image .preview{height:14em;background:no-repeat 50%/cover;display:block}.card.sw{max-width:370px;margin-left:auto;margin-right:auto}a.original:not(.waves-effect){text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.card-entry-labels li,.card-tag-labels li{margin:10px 10px 10px auto;padding:5px 12px 5px 16px!important;background-color:rgba(0,151,167,.85);border-radius:3px;color:#fff;cursor:default}.card-entry-labels li{text-overflow:ellipsis;white-space:nowrap;border-radius:0 3px 3px 0;overflow:hidden}.card-tag-labels li{display:flex;justify-content:space-between}#list .chip a,.card-entry-labels-hidden a,.card-entry-labels a,.card-entry-tags a,.card-tag-labels a{text-decoration:none;font-weight:400;color:#fff}.card-tag-labels a{height:100%;align-items:center}.card-tag-link{display:flex;min-width:100px;flex-grow:1}.card-tag-rss{display:flex}.card-tag-labels{display:flex;flex-wrap:wrap}.card-tag-labels li{margin:10px;flex-basis:19%;flex-grow:1;align-items:center}.card-stacked{display:flex;flex-flow:row wrap}.card-stacked:hover ul.tools-list{display:inline;text-align:right}.card-stacked .preview{max-width:100px;height:auto;margin-right:10px;flex:1}.card-stacked .preview img{max-width:100%;max-height:100%}.card-stacked div.metadata .chip{background-color:rgba(0,151,167,.85);padding:0 15px 0 10px;margin:auto 2px;border-radius:6px}.card-stacked div.metadata .chip a,.card-stacked div.metadata .chip i{color:#fff}.card-stacked div.metadata .chip i.material-icons{float:right;font-size:20px;line-height:32px;padding-left:8px}.card-stacked div.card-content{flex:4}.card-stacked ul.tools-list{flex:1;display:none;flex-basis:5em;align-self:flex-end;float:right;max-width:6em}.card-stacked .tags{display:inline-block}#content .collection .collection-item{min-height:65px;height:auto}.quickstart .card .card-action a,.quickstart .card .card-action a:hover{color:#fff!important}.settings .div_tabs{padding-bottom:15px}@media only screen and (min-width:992px){.card-tag-labels li{max-width:50%}}.collection{margin:15px 15px 0}.collection .collection-item{padding:7px;height:65px}.results{display:flex;padding:1rem 1rem 0;flex-wrap:wrap;justify-content:space-between}.results .nb-results{display:inline-flex}.results a{color:#444}.pagination ul{display:flex;margin:0;flex-wrap:wrap;justify-content:space-around}.pagination ul .next.disabled,.pagination ul .prev.disabled{display:none}.pagination li{padding:0}.pagination a,.pagination span{padding:0 10px;height:30px;display:block;line-height:30px}.pagination .disabled{margin-right:10px;margin-left:10px}.pagination li.active span{padding:0 10px;height:30px;display:block;color:#fff}.footer-text{margin:.7rem .5rem}.hidden,.picker__date-display{display:none}footer.page-footer{margin-top:10px;padding-top:0}footer .row{margin-bottom:10px}#filters button{padding:0;width:100%}#filters div.with-checkbox{height:3rem;margin-top:0}body{display:flex;min-height:100vh;flex-direction:column;background:#fafafa}body.login main{padding:0;min-height:100vh}.border-bottom{border-bottom:1px solid #ddd}#content,.valign-wrapper,main{height:100%}#main{flex:1 0 auto}#main .logo a{height:100pt}#main .logo img{height:100pt;width:100pt}#main .logo:hover{background:transparent}nav{height:auto;line-height:normal}nav input{color:#aaa}nav ul a:hover{background-color:initial}.nav-panel-item .button-collapse{margin-left:0;margin-right:.5rem;padding:0 .5rem;height:auto;line-height:1;background-color:transparent;border:none}.nav-panel-item{display:flex;padding:.6rem .4rem .6rem .75rem;flex-wrap:wrap;justify-content:space-between;align-items:center}.nav-panel-item .material-icons{height:46px;line-height:46px}.nav-input{display:none}.nav-panel-buttom{display:flex;flex-grow:1;justify-content:flex-end}.nav-panel-item .add,.nav-panel-item .search,.nav-panels .close{color:#444!important}.nav-panels{transition:background .2s ease}.nav-panels .action{margin:0;font-size:2.1rem}.nav-panels .input-field input{display:block;line-height:inherit;height:3rem}.nav-panels .input-field input:focus{background-color:#fff;border:0;box-shadow:none;color:#444}.nav-panel-top{display:flex;align-items:center}.input-field.nav-panel-item label{left:1rem}.input-field.nav-panel-item .close{color:transparent;cursor:pointer;font-size:2rem;transition:color .3s}.input-field.nav-panel-item{display:flex;flex:1;flex-wrap:nowrap;align-items:center}.input-field.nav-panel-add.disabled,.input-field.nav-panel-add.disabled input{background-color:#f5f5f5}.nav-form-button{padding:0;background-color:transparent;border:none}.nav-form-button:focus{background-color:inherit}.nav-form-button,.nav-panel-item .close{margin:0 1%}#button_export,#button_filters{display:none}@media (min-width:993px){.button-collapse{display:none}}.side-nav{width:240px}.side-nav li{padding:0}.side-nav li.logo>a:hover{background:initial}.side-nav a{margin:0}.side-nav.fixed a{font-size:13px;line-height:44px;height:44px}.side-nav .collapsible-header,.side-nav.fixed .collapsible-header{height:45px;line-height:44px;padding:0 20px}.side-nav>li.logo{line-height:0;text-align:center}.bold>a{font-weight:700}span.numberItems{float:right}div.settings div.file-field div,div.settings div.file-field ul{margin-top:40px}div.settings div.file-field div{margin-top:inherit}.input-field label.active{font-size:1rem}nav .input-field input{margin:0;padding-left:.5rem}.tabs{display:flex}.tab{flex:1}@font-face{font-family:icomoon;src:url(fonts/IcoMoon-Free.ttf);font-weight:400;font-style:normal}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;width:1em;height:1em;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.material-icons .md-18{font-size:18px}.material-icons .md-24{font-size:24px}.material-icons .md-36{font-size:36px}.material-icons .md-48{font-size:48px}.material-icons .md-dark{color:rgba(0,0,0,.54)}.material-icons .md-dark .md-inactive{color:rgba(0,0,0,.26)}.material-icons .md-light{color:#fff}.material-icons .md-light .md-inactive{color:hsla(0,0%,100%,.3)}[class*=" icon-"]:before,[class^=icon-]:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;background-size:24px;letter-spacing:0;font-feature-settings:"liga"}.icon-eye:before{content:"\E9CE"}.icon-no-eye:before{content:"\E9D1"}.icon-calendar:before{content:"\E953"}.icon-mail:before{content:"\EA86"}.icon-time:before{content:"\E952"}a.icon-image{background-repeat:no-repeat;padding-right:.4em!important;padding-left:0!important;margin-left:25px}a.icon-image:before{content:"";display:block;width:24px;height:24px;float:left;margin:7px 1.5px 0 0}a.icon-image.carrot:before{background:url(themes/_global/img/icons/carrot-icon--black.png) no-repeat 50%/90%}a.icon-image.diaspora:before{background:url(themes/_global/img/icons/diaspora-icon--black.png) no-repeat 50%/80%}a.icon-image.unmark:before{background:url(themes/_global/img/icons/unmark-icon--black.png) no-repeat 50%/80%}a.icon-image.shaarli:before{background:url(themes/_global/img/icons/shaarli.png) no-repeat 50%/80%}a.icon-image.scuttle:before{background:url(themes/_global/img/icons/scuttle.png) no-repeat 50%/80%}.icon-google-plus2:before{content:"\EA89"}.icon-facebook2:before{content:"\EA8D"}.icon-twitter:before{content:"\EA96"}.icon-apple:before{content:"\EABF"}.icon-android:before{content:"\EAC1"}.icon-chrome:before{content:"\EAE5"}.icon-firefox:before{content:"\EAE6"}.icon-link:before{content:"\E9CB"}footer [class*=" icon-"],footer [class^=icon-]{font-size:2em;transition:text-shadow .2s ease;padding-right:10px}footer [class*=" icon-"]:hover,footer [class^=icon-]:hover{text-shadow:0 0 10px rgba(0,0,0,.3)}@media print{body{font-family:Serif;background-color:#fff}@page{margin:1cm}img{max-width:100%!important}#article .mbm a,#article>aside,#article_toolbar,#links,#slide-out,#sort,.entry+.results,.hide-on-large-only,.messages,.progress,.top_link,body>footer,body>header,div.tools,header div{display:none!important}main{padding-left:0!important}#article{margin:inherit!important}article{border:none!important}.vieworiginal a:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.pagination span.current{border-style:dashed}#main{margin:0;padding:0}#article,#main{width:100%}}@media only screen and (min-width:992px){body:not(.entry):not(.login) main,footer,nav{padding-left:240px}.pagination{margin-left:auto}}@media only screen and (max-width:992px){footer,header,main,nav{padding-left:0}.nav-panels .action{padding-right:.75rem}.nav-panel-buttom{justify-content:space-between}#article{max-width:35em;margin-left:auto;margin-right:auto;font-size:18px}#article>header>h1{font-size:1.33em}.reader-mode{width:240px!important}.reader-mode span{opacity:1}.tabs{display:inline-block;height:auto}.tab{min-width:100%}.indicator{display:none}.pagination li{margin-bottom:.5rem}.pagination li.next,.pagination li.prev{width:auto}.drag-target+.drag-target{height:50%}.drag-target+.drag-target+.drag-target{top:50%}}@media only screen and (min-width:1200px) and (max-width:1650px){.row .col.l3{width:33.33333%;margin-left:0}}@media only screen and (min-width:993px) and (max-width:1200px){.row .col.l1{width:25%;margin-left:0}.row .col.l2{width:33.33333%;margin-left:0}.row .col.l3{width:41.66667%;margin-left:0}.row .col.l4{width:50%;margin-left:0}.row .col.l5{width:58.33333%;margin-left:0}.row .col.l6{width:66.66667%;margin-left:0}.row .col.l7{width:75%;margin-left:0}.row .col.l8{width:83.33333%;margin-left:0}.row .col.l9{width:91.66667%;margin-left:0}.row .col.l10{width:100%;margin-left:0}}@media only screen and (max-width:350px){.nb-results{display:none}.row .col,main ul.row{padding:0}} 1.materialize-red{background-color:#e51c23!important}.materialize-red-text{color:#e51c23!important}.materialize-red.lighten-5{background-color:#fdeaeb!important}.materialize-red-text.text-lighten-5{color:#fdeaeb!important}.materialize-red.lighten-4{background-color:#f8c1c3!important}.materialize-red-text.text-lighten-4{color:#f8c1c3!important}.materialize-red.lighten-3{background-color:#f3989b!important}.materialize-red-text.text-lighten-3{color:#f3989b!important}.materialize-red.lighten-2{background-color:#ee6e73!important}.materialize-red-text.text-lighten-2{color:#ee6e73!important}.materialize-red.lighten-1{background-color:#ea454b!important}.materialize-red-text.text-lighten-1{color:#ea454b!important}.materialize-red.darken-1{background-color:#d0181e!important}.materialize-red-text.text-darken-1{color:#d0181e!important}.materialize-red.darken-2{background-color:#b9151b!important}.materialize-red-text.text-darken-2{color:#b9151b!important}.materialize-red.darken-3{background-color:#a21318!important}.materialize-red-text.text-darken-3{color:#a21318!important}.materialize-red.darken-4{background-color:#8b1014!important}.materialize-red-text.text-darken-4{color:#8b1014!important}.red{background-color:#f44336!important}.red-text{color:#f44336!important}.red.lighten-5{background-color:#ffebee!important}.red-text.text-lighten-5{color:#ffebee!important}.red.lighten-4{background-color:#ffcdd2!important}.red-text.text-lighten-4{color:#ffcdd2!important}.red.lighten-3{background-color:#ef9a9a!important}.red-text.text-lighten-3{color:#ef9a9a!important}.red.lighten-2{background-color:#e57373!important}.red-text.text-lighten-2{color:#e57373!important}.red.lighten-1{background-color:#ef5350!important}.red-text.text-lighten-1{color:#ef5350!important}.red.darken-1{background-color:#e53935!important}.red-text.text-darken-1{color:#e53935!important}.red.darken-2{background-color:#d32f2f!important}.red-text.text-darken-2{color:#d32f2f!important}.red.darken-3{background-color:#c62828!important}.red-text.text-darken-3{color:#c62828!important}.red.darken-4{background-color:#b71c1c!important}.red-text.text-darken-4{color:#b71c1c!important}.red.accent-1{background-color:#ff8a80!important}.red-text.text-accent-1{color:#ff8a80!important}.red.accent-2{background-color:#ff5252!important}.red-text.text-accent-2{color:#ff5252!important}.red.accent-3{background-color:#ff1744!important}.red-text.text-accent-3{color:#ff1744!important}.red.accent-4{background-color:#d50000!important}.red-text.text-accent-4{color:#d50000!important}.pink{background-color:#e91e63!important}.pink-text{color:#e91e63!important}.pink.lighten-5{background-color:#fce4ec!important}.pink-text.text-lighten-5{color:#fce4ec!important}.pink.lighten-4{background-color:#f8bbd0!important}.pink-text.text-lighten-4{color:#f8bbd0!important}.pink.lighten-3{background-color:#f48fb1!important}.pink-text.text-lighten-3{color:#f48fb1!important}.pink.lighten-2{background-color:#f06292!important}.pink-text.text-lighten-2{color:#f06292!important}.pink.lighten-1{background-color:#ec407a!important}.pink-text.text-lighten-1{color:#ec407a!important}.pink.darken-1{background-color:#d81b60!important}.pink-text.text-darken-1{color:#d81b60!important}.pink.darken-2{background-color:#c2185b!important}.pink-text.text-darken-2{color:#c2185b!important}.pink.darken-3{background-color:#ad1457!important}.pink-text.text-darken-3{color:#ad1457!important}.pink.darken-4{background-color:#880e4f!important}.pink-text.text-darken-4{color:#880e4f!important}.pink.accent-1{background-color:#ff80ab!important}.pink-text.text-accent-1{color:#ff80ab!important}.pink.accent-2{background-color:#ff4081!important}.pink-text.text-accent-2{color:#ff4081!important}.pink.accent-3{background-color:#f50057!important}.pink-text.text-accent-3{color:#f50057!important}.pink.accent-4{background-color:#c51162!important}.pink-text.text-accent-4{color:#c51162!important}.purple{background-color:#9c27b0!important}.purple-text{color:#9c27b0!important}.purple.lighten-5{background-color:#f3e5f5!important}.purple-text.text-lighten-5{color:#f3e5f5!important}.purple.lighten-4{background-color:#e1bee7!important}.purple-text.text-lighten-4{color:#e1bee7!important}.purple.lighten-3{background-color:#ce93d8!important}.purple-text.text-lighten-3{color:#ce93d8!important}.purple.lighten-2{background-color:#ba68c8!important}.purple-text.text-lighten-2{color:#ba68c8!important}.purple.lighten-1{background-color:#ab47bc!important}.purple-text.text-lighten-1{color:#ab47bc!important}.purple.darken-1{background-color:#8e24aa!important}.purple-text.text-darken-1{color:#8e24aa!important}.purple.darken-2{background-color:#7b1fa2!important}.purple-text.text-darken-2{color:#7b1fa2!important}.purple.darken-3{background-color:#6a1b9a!important}.purple-text.text-darken-3{color:#6a1b9a!important}.purple.darken-4{background-color:#4a148c!important}.purple-text.text-darken-4{color:#4a148c!important}.purple.accent-1{background-color:#ea80fc!important}.purple-text.text-accent-1{color:#ea80fc!important}.purple.accent-2{background-color:#e040fb!important}.purple-text.text-accent-2{color:#e040fb!important}.purple.accent-3{background-color:#d500f9!important}.purple-text.text-accent-3{color:#d500f9!important}.purple.accent-4{background-color:#a0f!important}.purple-text.text-accent-4{color:#a0f!important}.deep-purple{background-color:#673ab7!important}.deep-purple-text{color:#673ab7!important}.deep-purple.lighten-5{background-color:#ede7f6!important}.deep-purple-text.text-lighten-5{color:#ede7f6!important}.deep-purple.lighten-4{background-color:#d1c4e9!important}.deep-purple-text.text-lighten-4{color:#d1c4e9!important}.deep-purple.lighten-3{background-color:#b39ddb!important}.deep-purple-text.text-lighten-3{color:#b39ddb!important}.deep-purple.lighten-2{background-color:#9575cd!important}.deep-purple-text.text-lighten-2{color:#9575cd!important}.deep-purple.lighten-1{background-color:#7e57c2!important}.deep-purple-text.text-lighten-1{color:#7e57c2!important}.deep-purple.darken-1{background-color:#5e35b1!important}.deep-purple-text.text-darken-1{color:#5e35b1!important}.deep-purple.darken-2{background-color:#512da8!important}.deep-purple-text.text-darken-2{color:#512da8!important}.deep-purple.darken-3{background-color:#4527a0!important}.deep-purple-text.text-darken-3{color:#4527a0!important}.deep-purple.darken-4{background-color:#311b92!important}.deep-purple-text.text-darken-4{color:#311b92!important}.deep-purple.accent-1{background-color:#b388ff!important}.deep-purple-text.text-accent-1{color:#b388ff!important}.deep-purple.accent-2{background-color:#7c4dff!important}.deep-purple-text.text-accent-2{color:#7c4dff!important}.deep-purple.accent-3{background-color:#651fff!important}.deep-purple-text.text-accent-3{color:#651fff!important}.deep-purple.accent-4{background-color:#6200ea!important}.deep-purple-text.text-accent-4{color:#6200ea!important}.indigo{background-color:#3f51b5!important}.indigo-text{color:#3f51b5!important}.indigo.lighten-5{background-color:#e8eaf6!important}.indigo-text.text-lighten-5{color:#e8eaf6!important}.indigo.lighten-4{background-color:#c5cae9!important}.indigo-text.text-lighten-4{color:#c5cae9!important}.indigo.lighten-3{background-color:#9fa8da!important}.indigo-text.text-lighten-3{color:#9fa8da!important}.indigo.lighten-2{background-color:#7986cb!important}.indigo-text.text-lighten-2{color:#7986cb!important}.indigo.lighten-1{background-color:#5c6bc0!important}.indigo-text.text-lighten-1{color:#5c6bc0!important}.indigo.darken-1{background-color:#3949ab!important}.indigo-text.text-darken-1{color:#3949ab!important}.indigo.darken-2{background-color:#303f9f!important}.indigo-text.text-darken-2{color:#303f9f!important}.indigo.darken-3{background-color:#283593!important}.indigo-text.text-darken-3{color:#283593!important}.indigo.darken-4{background-color:#1a237e!important}.indigo-text.text-darken-4{color:#1a237e!important}.indigo.accent-1{background-color:#8c9eff!important}.indigo-text.text-accent-1{color:#8c9eff!important}.indigo.accent-2{background-color:#536dfe!important}.indigo-text.text-accent-2{color:#536dfe!important}.indigo.accent-3{background-color:#3d5afe!important}.indigo-text.text-accent-3{color:#3d5afe!important}.indigo.accent-4{background-color:#304ffe!important}.indigo-text.text-accent-4{color:#304ffe!important}.blue{background-color:#2196f3!important}.blue-text{color:#2196f3!important}.blue.lighten-5{background-color:#e3f2fd!important}.blue-text.text-lighten-5{color:#e3f2fd!important}.blue.lighten-4{background-color:#bbdefb!important}.blue-text.text-lighten-4{color:#bbdefb!important}.blue.lighten-3{background-color:#90caf9!important}.blue-text.text-lighten-3{color:#90caf9!important}.blue.lighten-2{background-color:#64b5f6!important}.blue-text.text-lighten-2{color:#64b5f6!important}.blue.lighten-1{background-color:#42a5f5!important}.blue-text.text-lighten-1{color:#42a5f5!important}.blue.darken-1{background-color:#1e88e5!important}.blue-text.text-darken-1{color:#1e88e5!important}.blue.darken-2{background-color:#1976d2!important}.blue-text.text-darken-2{color:#1976d2!important}.blue.darken-3{background-color:#1565c0!important}.blue-text.text-darken-3{color:#1565c0!important}.blue.darken-4{background-color:#0d47a1!important}.blue-text.text-darken-4{color:#0d47a1!important}.blue.accent-1{background-color:#82b1ff!important}.blue-text.text-accent-1{color:#82b1ff!important}.blue.accent-2{background-color:#448aff!important}.blue-text.text-accent-2{color:#448aff!important}.blue.accent-3{background-color:#2979ff!important}.blue-text.text-accent-3{color:#2979ff!important}.blue.accent-4{background-color:#2962ff!important}.blue-text.text-accent-4{color:#2962ff!important}.light-blue{background-color:#03a9f4!important}.light-blue-text{color:#03a9f4!important}.light-blue.lighten-5{background-color:#e1f5fe!important}.light-blue-text.text-lighten-5{color:#e1f5fe!important}.light-blue.lighten-4{background-color:#b3e5fc!important}.light-blue-text.text-lighten-4{color:#b3e5fc!important}.light-blue.lighten-3{background-color:#81d4fa!important}.light-blue-text.text-lighten-3{color:#81d4fa!important}.light-blue.lighten-2{background-color:#4fc3f7!important}.light-blue-text.text-lighten-2{color:#4fc3f7!important}.light-blue.lighten-1{background-color:#29b6f6!important}.light-blue-text.text-lighten-1{color:#29b6f6!important}.light-blue.darken-1{background-color:#039be5!important}.light-blue-text.text-darken-1{color:#039be5!important}.light-blue.darken-2{background-color:#0288d1!important}.light-blue-text.text-darken-2{color:#0288d1!important}.light-blue.darken-3{background-color:#0277bd!important}.light-blue-text.text-darken-3{color:#0277bd!important}.light-blue.darken-4{background-color:#01579b!important}.light-blue-text.text-darken-4{color:#01579b!important}.light-blue.accent-1{background-color:#80d8ff!important}.light-blue-text.text-accent-1{color:#80d8ff!important}.light-blue.accent-2{background-color:#40c4ff!important}.light-blue-text.text-accent-2{color:#40c4ff!important}.light-blue.accent-3{background-color:#00b0ff!important}.light-blue-text.text-accent-3{color:#00b0ff!important}.light-blue.accent-4{background-color:#0091ea!important}.light-blue-text.text-accent-4{color:#0091ea!important}.cyan{background-color:#00bcd4!important}.cyan-text{color:#00bcd4!important}.cyan.lighten-5{background-color:#e0f7fa!important}.cyan-text.text-lighten-5{color:#e0f7fa!important}.cyan.lighten-4{background-color:#b2ebf2!important}.cyan-text.text-lighten-4{color:#b2ebf2!important}.cyan.lighten-3{background-color:#80deea!important}.cyan-text.text-lighten-3{color:#80deea!important}.cyan.lighten-2{background-color:#4dd0e1!important}.cyan-text.text-lighten-2{color:#4dd0e1!important}.cyan.lighten-1{background-color:#26c6da!important}.cyan-text.text-lighten-1{color:#26c6da!important}.cyan.darken-1{background-color:#00acc1!important}.cyan-text.text-darken-1{color:#00acc1!important}.cyan.darken-2{background-color:#0097a7!important}.cyan-text.text-darken-2{color:#0097a7!important}.cyan.darken-3{background-color:#00838f!important}.cyan-text.text-darken-3{color:#00838f!important}.cyan.darken-4{background-color:#006064!important}.cyan-text.text-darken-4{color:#006064!important}.cyan.accent-1{background-color:#84ffff!important}.cyan-text.text-accent-1{color:#84ffff!important}.cyan.accent-2{background-color:#18ffff!important}.cyan-text.text-accent-2{color:#18ffff!important}.cyan.accent-3{background-color:#00e5ff!important}.cyan-text.text-accent-3{color:#00e5ff!important}.cyan.accent-4{background-color:#00b8d4!important}.cyan-text.text-accent-4{color:#00b8d4!important}.teal{background-color:#009688!important}.teal-text{color:#009688!important}.teal.lighten-5{background-color:#e0f2f1!important}.teal-text.text-lighten-5{color:#e0f2f1!important}.teal.lighten-4{background-color:#b2dfdb!important}.teal-text.text-lighten-4{color:#b2dfdb!important}.teal.lighten-3{background-color:#80cbc4!important}.teal-text.text-lighten-3{color:#80cbc4!important}.teal.lighten-2{background-color:#4db6ac!important}.teal-text.text-lighten-2{color:#4db6ac!important}.teal.lighten-1{background-color:#26a69a!important}.teal-text.text-lighten-1{color:#26a69a!important}.teal.darken-1{background-color:#00897b!important}.teal-text.text-darken-1{color:#00897b!important}.teal.darken-2{background-color:#00796b!important}.teal-text.text-darken-2{color:#00796b!important}.teal.darken-3{background-color:#00695c!important}.teal-text.text-darken-3{color:#00695c!important}.teal.darken-4{background-color:#004d40!important}.teal-text.text-darken-4{color:#004d40!important}.teal.accent-1{background-color:#a7ffeb!important}.teal-text.text-accent-1{color:#a7ffeb!important}.teal.accent-2{background-color:#64ffda!important}.teal-text.text-accent-2{color:#64ffda!important}.teal.accent-3{background-color:#1de9b6!important}.teal-text.text-accent-3{color:#1de9b6!important}.teal.accent-4{background-color:#00bfa5!important}.teal-text.text-accent-4{color:#00bfa5!important}.green{background-color:#4caf50!important}.green-text{color:#4caf50!important}.green.lighten-5{background-color:#e8f5e9!important}.green-text.text-lighten-5{color:#e8f5e9!important}.green.lighten-4{background-color:#c8e6c9!important}.green-text.text-lighten-4{color:#c8e6c9!important}.green.lighten-3{background-color:#a5d6a7!important}.green-text.text-lighten-3{color:#a5d6a7!important}.green.lighten-2{background-color:#81c784!important}.green-text.text-lighten-2{color:#81c784!important}.green.lighten-1{background-color:#66bb6a!important}.green-text.text-lighten-1{color:#66bb6a!important}.green.darken-1{background-color:#43a047!important}.green-text.text-darken-1{color:#43a047!important}.green.darken-2{background-color:#388e3c!important}.green-text.text-darken-2{color:#388e3c!important}.green.darken-3{background-color:#2e7d32!important}.green-text.text-darken-3{color:#2e7d32!important}.green.darken-4{background-color:#1b5e20!important}.green-text.text-darken-4{color:#1b5e20!important}.green.accent-1{background-color:#b9f6ca!important}.green-text.text-accent-1{color:#b9f6ca!important}.green.accent-2{background-color:#69f0ae!important}.green-text.text-accent-2{color:#69f0ae!important}.green.accent-3{background-color:#00e676!important}.green-text.text-accent-3{color:#00e676!important}.green.accent-4{background-color:#00c853!important}.green-text.text-accent-4{color:#00c853!important}.light-green{background-color:#8bc34a!important}.light-green-text{color:#8bc34a!important}.light-green.lighten-5{background-color:#f1f8e9!important}.light-green-text.text-lighten-5{color:#f1f8e9!important}.light-green.lighten-4{background-color:#dcedc8!important}.light-green-text.text-lighten-4{color:#dcedc8!important}.light-green.lighten-3{background-color:#c5e1a5!important}.light-green-text.text-lighten-3{color:#c5e1a5!important}.light-green.lighten-2{background-color:#aed581!important}.light-green-text.text-lighten-2{color:#aed581!important}.light-green.lighten-1{background-color:#9ccc65!important}.light-green-text.text-lighten-1{color:#9ccc65!important}.light-green.darken-1{background-color:#7cb342!important}.light-green-text.text-darken-1{color:#7cb342!important}.light-green.darken-2{background-color:#689f38!important}.light-green-text.text-darken-2{color:#689f38!important}.light-green.darken-3{background-color:#558b2f!important}.light-green-text.text-darken-3{color:#558b2f!important}.light-green.darken-4{background-color:#33691e!important}.light-green-text.text-darken-4{color:#33691e!important}.light-green.accent-1{background-color:#ccff90!important}.light-green-text.text-accent-1{color:#ccff90!important}.light-green.accent-2{background-color:#b2ff59!important}.light-green-text.text-accent-2{color:#b2ff59!important}.light-green.accent-3{background-color:#76ff03!important}.light-green-text.text-accent-3{color:#76ff03!important}.light-green.accent-4{background-color:#64dd17!important}.light-green-text.text-accent-4{color:#64dd17!important}.lime{background-color:#cddc39!important}.lime-text{color:#cddc39!important}.lime.lighten-5{background-color:#f9fbe7!important}.lime-text.text-lighten-5{color:#f9fbe7!important}.lime.lighten-4{background-color:#f0f4c3!important}.lime-text.text-lighten-4{color:#f0f4c3!important}.lime.lighten-3{background-color:#e6ee9c!important}.lime-text.text-lighten-3{color:#e6ee9c!important}.lime.lighten-2{background-color:#dce775!important}.lime-text.text-lighten-2{color:#dce775!important}.lime.lighten-1{background-color:#d4e157!important}.lime-text.text-lighten-1{color:#d4e157!important}.lime.darken-1{background-color:#c0ca33!important}.lime-text.text-darken-1{color:#c0ca33!important}.lime.darken-2{background-color:#afb42b!important}.lime-text.text-darken-2{color:#afb42b!important}.lime.darken-3{background-color:#9e9d24!important}.lime-text.text-darken-3{color:#9e9d24!important}.lime.darken-4{background-color:#827717!important}.lime-text.text-darken-4{color:#827717!important}.lime.accent-1{background-color:#f4ff81!important}.lime-text.text-accent-1{color:#f4ff81!important}.lime.accent-2{background-color:#eeff41!important}.lime-text.text-accent-2{color:#eeff41!important}.lime.accent-3{background-color:#c6ff00!important}.lime-text.text-accent-3{color:#c6ff00!important}.lime.accent-4{background-color:#aeea00!important}.lime-text.text-accent-4{color:#aeea00!important}.yellow{background-color:#ffeb3b!important}.yellow-text{color:#ffeb3b!important}.yellow.lighten-5{background-color:#fffde7!important}.yellow-text.text-lighten-5{color:#fffde7!important}.yellow.lighten-4{background-color:#fff9c4!important}.yellow-text.text-lighten-4{color:#fff9c4!important}.yellow.lighten-3{background-color:#fff59d!important}.yellow-text.text-lighten-3{color:#fff59d!important}.yellow.lighten-2{background-color:#fff176!important}.yellow-text.text-lighten-2{color:#fff176!important}.yellow.lighten-1{background-color:#ffee58!important}.yellow-text.text-lighten-1{color:#ffee58!important}.yellow.darken-1{background-color:#fdd835!important}.yellow-text.text-darken-1{color:#fdd835!important}.yellow.darken-2{background-color:#fbc02d!important}.yellow-text.text-darken-2{color:#fbc02d!important}.yellow.darken-3{background-color:#f9a825!important}.yellow-text.text-darken-3{color:#f9a825!important}.yellow.darken-4{background-color:#f57f17!important}.yellow-text.text-darken-4{color:#f57f17!important}.yellow.accent-1{background-color:#ffff8d!important}.yellow-text.text-accent-1{color:#ffff8d!important}.yellow.accent-2{background-color:#ff0!important}.yellow-text.text-accent-2{color:#ff0!important}.yellow.accent-3{background-color:#ffea00!important}.yellow-text.text-accent-3{color:#ffea00!important}.yellow.accent-4{background-color:#ffd600!important}.yellow-text.text-accent-4{color:#ffd600!important}.amber{background-color:#ffc107!important}.amber-text{color:#ffc107!important}.amber.lighten-5{background-color:#fff8e1!important}.amber-text.text-lighten-5{color:#fff8e1!important}.amber.lighten-4{background-color:#ffecb3!important}.amber-text.text-lighten-4{color:#ffecb3!important}.amber.lighten-3{background-color:#ffe082!important}.amber-text.text-lighten-3{color:#ffe082!important}.amber.lighten-2{background-color:#ffd54f!important}.amber-text.text-lighten-2{color:#ffd54f!important}.amber.lighten-1{background-color:#ffca28!important}.amber-text.text-lighten-1{color:#ffca28!important}.amber.darken-1{background-color:#ffb300!important}.amber-text.text-darken-1{color:#ffb300!important}.amber.darken-2{background-color:#ffa000!important}.amber-text.text-darken-2{color:#ffa000!important}.amber.darken-3{background-color:#ff8f00!important}.amber-text.text-darken-3{color:#ff8f00!important}.amber.darken-4{background-color:#ff6f00!important}.amber-text.text-darken-4{color:#ff6f00!important}.amber.accent-1{background-color:#ffe57f!important}.amber-text.text-accent-1{color:#ffe57f!important}.amber.accent-2{background-color:#ffd740!important}.amber-text.text-accent-2{color:#ffd740!important}.amber.accent-3{background-color:#ffc400!important}.amber-text.text-accent-3{color:#ffc400!important}.amber.accent-4{background-color:#ffab00!important}.amber-text.text-accent-4{color:#ffab00!important}.orange{background-color:#ff9800!important}.orange-text{color:#ff9800!important}.orange.lighten-5{background-color:#fff3e0!important}.orange-text.text-lighten-5{color:#fff3e0!important}.orange.lighten-4{background-color:#ffe0b2!important}.orange-text.text-lighten-4{color:#ffe0b2!important}.orange.lighten-3{background-color:#ffcc80!important}.orange-text.text-lighten-3{color:#ffcc80!important}.orange.lighten-2{background-color:#ffb74d!important}.orange-text.text-lighten-2{color:#ffb74d!important}.orange.lighten-1{background-color:#ffa726!important}.orange-text.text-lighten-1{color:#ffa726!important}.orange.darken-1{background-color:#fb8c00!important}.orange-text.text-darken-1{color:#fb8c00!important}.orange.darken-2{background-color:#f57c00!important}.orange-text.text-darken-2{color:#f57c00!important}.orange.darken-3{background-color:#ef6c00!important}.orange-text.text-darken-3{color:#ef6c00!important}.orange.darken-4{background-color:#e65100!important}.orange-text.text-darken-4{color:#e65100!important}.orange.accent-1{background-color:#ffd180!important}.orange-text.text-accent-1{color:#ffd180!important}.orange.accent-2{background-color:#ffab40!important}.orange-text.text-accent-2{color:#ffab40!important}.orange.accent-3{background-color:#ff9100!important}.orange-text.text-accent-3{color:#ff9100!important}.orange.accent-4{background-color:#ff6d00!important}.orange-text.text-accent-4{color:#ff6d00!important}.deep-orange{background-color:#ff5722!important}.deep-orange-text{color:#ff5722!important}.deep-orange.lighten-5{background-color:#fbe9e7!important}.deep-orange-text.text-lighten-5{color:#fbe9e7!important}.deep-orange.lighten-4{background-color:#ffccbc!important}.deep-orange-text.text-lighten-4{color:#ffccbc!important}.deep-orange.lighten-3{background-color:#ffab91!important}.deep-orange-text.text-lighten-3{color:#ffab91!important}.deep-orange.lighten-2{background-color:#ff8a65!important}.deep-orange-text.text-lighten-2{color:#ff8a65!important}.deep-orange.lighten-1{background-color:#ff7043!important}.deep-orange-text.text-lighten-1{color:#ff7043!important}.deep-orange.darken-1{background-color:#f4511e!important}.deep-orange-text.text-darken-1{color:#f4511e!important}.deep-orange.darken-2{background-color:#e64a19!important}.deep-orange-text.text-darken-2{color:#e64a19!important}.deep-orange.darken-3{background-color:#d84315!important}.deep-orange-text.text-darken-3{color:#d84315!important}.deep-orange.darken-4{background-color:#bf360c!important}.deep-orange-text.text-darken-4{color:#bf360c!important}.deep-orange.accent-1{background-color:#ff9e80!important}.deep-orange-text.text-accent-1{color:#ff9e80!important}.deep-orange.accent-2{background-color:#ff6e40!important}.deep-orange-text.text-accent-2{color:#ff6e40!important}.deep-orange.accent-3{background-color:#ff3d00!important}.deep-orange-text.text-accent-3{color:#ff3d00!important}.deep-orange.accent-4{background-color:#dd2c00!important}.deep-orange-text.text-accent-4{color:#dd2c00!important}.brown{background-color:#795548!important}.brown-text{color:#795548!important}.brown.lighten-5{background-color:#efebe9!important}.brown-text.text-lighten-5{color:#efebe9!important}.brown.lighten-4{background-color:#d7ccc8!important}.brown-text.text-lighten-4{color:#d7ccc8!important}.brown.lighten-3{background-color:#bcaaa4!important}.brown-text.text-lighten-3{color:#bcaaa4!important}.brown.lighten-2{background-color:#a1887f!important}.brown-text.text-lighten-2{color:#a1887f!important}.brown.lighten-1{background-color:#8d6e63!important}.brown-text.text-lighten-1{color:#8d6e63!important}.brown.darken-1{background-color:#6d4c41!important}.brown-text.text-darken-1{color:#6d4c41!important}.brown.darken-2{background-color:#5d4037!important}.brown-text.text-darken-2{color:#5d4037!important}.brown.darken-3{background-color:#4e342e!important}.brown-text.text-darken-3{color:#4e342e!important}.brown.darken-4{background-color:#3e2723!important}.brown-text.text-darken-4{color:#3e2723!important}.blue-grey{background-color:#607d8b!important}.blue-grey-text{color:#607d8b!important}.blue-grey.lighten-5{background-color:#eceff1!important}.blue-grey-text.text-lighten-5{color:#eceff1!important}.blue-grey.lighten-4{background-color:#cfd8dc!important}.blue-grey-text.text-lighten-4{color:#cfd8dc!important}.blue-grey.lighten-3{background-color:#b0bec5!important}.blue-grey-text.text-lighten-3{color:#b0bec5!important}.blue-grey.lighten-2{background-color:#90a4ae!important}.blue-grey-text.text-lighten-2{color:#90a4ae!important}.blue-grey.lighten-1{background-color:#78909c!important}.blue-grey-text.text-lighten-1{color:#78909c!important}.blue-grey.darken-1{background-color:#546e7a!important}.blue-grey-text.text-darken-1{color:#546e7a!important}.blue-grey.darken-2{background-color:#455a64!important}.blue-grey-text.text-darken-2{color:#455a64!important}.blue-grey.darken-3{background-color:#37474f!important}.blue-grey-text.text-darken-3{color:#37474f!important}.blue-grey.darken-4{background-color:#263238!important}.blue-grey-text.text-darken-4{color:#263238!important}.grey{background-color:#9e9e9e!important}.grey-text{color:#9e9e9e!important}.grey.lighten-5{background-color:#fafafa!important}.grey-text.text-lighten-5{color:#fafafa!important}.grey.lighten-4{background-color:#f5f5f5!important}.grey-text.text-lighten-4{color:#f5f5f5!important}.grey.lighten-3{background-color:#eee!important}.grey-text.text-lighten-3{color:#eee!important}.grey.lighten-2{background-color:#e0e0e0!important}.grey-text.text-lighten-2{color:#e0e0e0!important}.grey.lighten-1{background-color:#bdbdbd!important}.grey-text.text-lighten-1{color:#bdbdbd!important}.grey.darken-1{background-color:#757575!important}.grey-text.text-darken-1{color:#757575!important}.grey.darken-2{background-color:#616161!important}.grey-text.text-darken-2{color:#616161!important}.grey.darken-3{background-color:#424242!important}.grey-text.text-darken-3{color:#424242!important}.grey.darken-4{background-color:#212121!important}.grey-text.text-darken-4{color:#212121!important}.black{background-color:#000!important}.black-text{color:#000!important}.white{background-color:#fff!important}.white-text{color:#fff!important}.transparent{background-color:transparent!important}.transparent-text{color:transparent!important}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default) li{list-style-type:none}a{color:#039be5;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.clearfix{clear:both}.z-depth-0{box-shadow:none!important}.btn,.btn-floating,.btn-large,.card,.card-panel,.collapsible,.dropdown-content,.side-nav,.toast,.z-depth-1,nav{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.btn-floating:hover,.btn-large:hover,.btn:hover,.z-depth-1-half{box-shadow:0 3px 3px 0 rgba(0,0,0,.14),0 1px 7px 0 rgba(0,0,0,.12),0 3px 1px -1px rgba(0,0,0,.2)}.z-depth-2{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.3)}.z-depth-3{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.3)}.modal,.z-depth-4{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.3)}.z-depth-5{box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.3)}.hoverable{transition:box-shadow .25s;box-shadow:0}.hoverable:hover{transition:box-shadow .25s;box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.divider{height:1px;overflow:hidden;background-color:#e0e0e0}blockquote{margin:20px 0;padding-left:1.5rem;border-left:5px solid #ee6e73}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{display:inline-block;border-radius:2px;text-align:center;vertical-align:top;height:30px}.pagination li a{color:#444;display:inline-block;font-size:1.2rem;padding:0 10px;line-height:30px}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{display:inline-block;float:none}@media only screen and (max-width:992px){.pagination{width:100%}.pagination li.next,.pagination li.prev{width:10%}.pagination li.pages{width:80%;overflow:hidden;white-space:nowrap}}.breadcrumb{font-size:18px;color:hsla(0,0%,100%,.7)}.breadcrumb [class*=mdi-],.breadcrumb [class^=mdi-],.breadcrumb i,.breadcrumb i.material-icons{display:inline-block;float:left;font-size:24px}.breadcrumb:before{content:"\E5CC";color:hsla(0,0%,100%,.7);vertical-align:top;display:inline-block;font-family:Material Icons;font-weight:400;font-style:normal;font-size:25px;margin:0 10px 0 8px;-webkit-font-smoothing:antialiased}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{position:relative;overflow:hidden;height:500px}.parallax{top:0;left:0;right:0;z-index:-1}.parallax,.parallax img{position:absolute;bottom:0}.parallax img{display:none;left:50%;min-width:100%;min-height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pin-bottom,.pin-top{position:relative}.pinned{position:fixed!important}.fade-in,ul.staggered-list li{opacity:0}.fade-in{-webkit-transform-origin:0 50%;transform-origin:0 50%}@media only screen and (max-width:600px){.hide-on-small-and-down,.hide-on-small-only{display:none!important}}@media only screen and (max-width:992px){.hide-on-med-and-down{display:none!important}}@media only screen and (min-width:601px){.hide-on-med-and-up{display:none!important}}@media only screen and (min-width:600px) and (max-width:992px){.hide-on-med-only{display:none!important}}@media only screen and (min-width:993px){.hide-on-large-only{display:none!important}}@media only screen and (min-width:993px){.show-on-large{display:block!important}}@media only screen and (min-width:600px) and (max-width:992px){.show-on-medium{display:block!important}}@media only screen and (max-width:600px){.show-on-small{display:block!important}}@media only screen and (min-width:601px){.show-on-medium-and-up{display:block!important}}@media only screen and (max-width:992px){.show-on-medium-and-down{display:block!important}}@media only screen and (max-width:600px){.center-on-small-only{text-align:center}}.page-footer{padding-top:20px;background-color:#ee6e73}.page-footer .footer-copyright{overflow:hidden;min-height:50px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:10px 0;color:hsla(0,0%,100%,.8);background-color:rgba(51,51,51,.08)}table,td,th{border:none}table{width:100%;display:table}table.bordered>tbody>tr,table.bordered>thead>tr{border-bottom:1px solid #d0d0d0}table.striped>tbody>tr:nth-child(odd){background-color:#f2f2f2}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{transition:background-color .25s ease}table.highlight>tbody>tr:hover{background-color:#f2f2f2}table.centered tbody tr td,table.centered thead tr th{text-align:center}thead{border-bottom:1px solid #d0d0d0}td,th{padding:15px 5px;display:table-cell;text-align:left;vertical-align:middle;border-radius:2px}@media only screen and (max-width:992px){table.responsive-table{width:100%;border-collapse:collapse;border-spacing:0;display:block;position:relative}table.responsive-table td:empty:before{content:"\A0"}table.responsive-table td,table.responsive-table th{margin:0;vertical-align:top}table.responsive-table th{text-align:left}table.responsive-table thead{display:block;float:left}table.responsive-table thead tr{display:block;padding:0 10px 0 0}table.responsive-table thead tr th:before{content:"\A0"}table.responsive-table tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}table.responsive-table tbody tr{display:inline-block;vertical-align:top}table.responsive-table th{display:block;text-align:right}table.responsive-table td{display:block;min-height:1.25em;text-align:left}table.responsive-table tr{padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid #d0d0d0}table.responsive-table.bordered th{border-bottom:0;border-left:0}table.responsive-table.bordered td{border-left:0;border-right:0;border-bottom:0}table.responsive-table.bordered tr{border:0}table.responsive-table.bordered tbody tr{border-right:1px solid #d0d0d0}}.collection{margin:.5rem 0 1rem;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;position:relative}.collection .collection-item{background-color:#fff;line-height:1.5rem;padding:10px 20px;margin:0;border-bottom:1px solid #e0e0e0}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar .circle{position:absolute;width:42px;height:42px;overflow:hidden;left:15px;display:inline-block;vertical-align:middle}.collection .collection-item.avatar i.circle{font-size:18px;line-height:42px;color:#fff;background-color:#999;text-align:center}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{background-color:#26a69a;color:#eafaf9}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{display:block;transition:.25s;color:#26a69a}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{margin:0;border:none}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-container embed,.video-container iframe,.video-container object{position:absolute;top:0;left:0;width:100%;height:100%}.progress{position:relative;height:4px;display:block;width:100%;background-color:#acece6;border-radius:2px;margin:.5rem 0 1rem;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;transition:width .3s linear}.progress .determinate,.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{-webkit-animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress .indeterminate:after,.progress .indeterminate:before{content:"";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right}.progress .indeterminate:after{-webkit-animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}.hide{display:none!important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left!important}.right{float:right!important}.no-select,input[type=range],input[type=range]+.thumb{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{display:block;margin-left:auto;margin-right:auto}.truncate{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-padding{padding:0!important}span.badge{min-width:3rem;padding:0 6px;margin-left:14px;text-align:center;font-size:1rem;line-height:22px;height:22px;color:#757575;float:right;box-sizing:border-box}span.badge.new{font-weight:300;font-size:.8rem;color:#fff;background-color:#26a69a;border-radius:2px}span.badge.new:after{content:" new"}span.badge[data-badge-caption]:after{content:" " attr(data-badge-caption)}nav ul a span.badge{display:inline-block;float:none;margin-left:4px;line-height:22px;height:22px}.collection-item span.badge{margin-top:calc(.75rem - 11px)}.collapsible span.badge{margin-top:calc(1.5rem - 11px)}.side-nav span.badge{margin-top:13px}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga";font-feature-settings:"liga"}.container{margin:0 auto;max-width:1280px;width:90%}@media only screen and (min-width:601px){.container{width:85%}}@media only screen and (min-width:993px){.container{width:70%}}.container .row{margin-left:-.75rem;margin-right:-.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-left:auto;margin-right:auto;margin-bottom:20px}.row:after{content:"";display:table;clear:both}.row .col{float:left;box-sizing:border-box;padding:0 .75rem;min-height:1px}.row .col[class*=pull-],.row .col[class*=push-]{position:relative}.row .col.s1{width:8.3333333333%}.row .col.s1,.row .col.s2{margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6666666667%}.row .col.s3{width:25%}.row .col.s3,.row .col.s4{margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333333333%}.row .col.s5{width:41.6666666667%}.row .col.s5,.row .col.s6{margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%}.row .col.s7{width:58.3333333333%}.row .col.s7,.row .col.s8{margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6666666667%}.row .col.s9{width:75%}.row .col.s9,.row .col.s10{margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333333333%}.row .col.s11{width:91.6666666667%}.row .col.s11,.row .col.s12{margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%}.row .col.offset-s1{margin-left:8.3333333333%}.row .col.pull-s1{right:8.3333333333%}.row .col.push-s1{left:8.3333333333%}.row .col.offset-s2{margin-left:16.6666666667%}.row .col.pull-s2{right:16.6666666667%}.row .col.push-s2{left:16.6666666667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333333333%}.row .col.pull-s4{right:33.3333333333%}.row .col.push-s4{left:33.3333333333%}.row .col.offset-s5{margin-left:41.6666666667%}.row .col.pull-s5{right:41.6666666667%}.row .col.push-s5{left:41.6666666667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333333333%}.row .col.pull-s7{right:58.3333333333%}.row .col.push-s7{left:58.3333333333%}.row .col.offset-s8{margin-left:66.6666666667%}.row .col.pull-s8{right:66.6666666667%}.row .col.push-s8{left:66.6666666667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333333333%}.row .col.pull-s10{right:83.3333333333%}.row .col.push-s10{left:83.3333333333%}.row .col.offset-s11{margin-left:91.6666666667%}.row .col.pull-s11{right:91.6666666667%}.row .col.push-s11{left:91.6666666667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width:601px){.row .col.m1{width:8.3333333333%}.row .col.m1,.row .col.m2{margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6666666667%}.row .col.m3{width:25%}.row .col.m3,.row .col.m4{margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333333333%}.row .col.m5{width:41.6666666667%}.row .col.m5,.row .col.m6{margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%}.row .col.m7{width:58.3333333333%}.row .col.m7,.row .col.m8{margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6666666667%}.row .col.m9{width:75%}.row .col.m9,.row .col.m10{margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333333333%}.row .col.m11{width:91.6666666667%}.row .col.m11,.row .col.m12{margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%}.row .col.offset-m1{margin-left:8.3333333333%}.row .col.pull-m1{right:8.3333333333%}.row .col.push-m1{left:8.3333333333%}.row .col.offset-m2{margin-left:16.6666666667%}.row .col.pull-m2{right:16.6666666667%}.row .col.push-m2{left:16.6666666667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333333333%}.row .col.pull-m4{right:33.3333333333%}.row .col.push-m4{left:33.3333333333%}.row .col.offset-m5{margin-left:41.6666666667%}.row .col.pull-m5{right:41.6666666667%}.row .col.push-m5{left:41.6666666667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333333333%}.row .col.pull-m7{right:58.3333333333%}.row .col.push-m7{left:58.3333333333%}.row .col.offset-m8{margin-left:66.6666666667%}.row .col.pull-m8{right:66.6666666667%}.row .col.push-m8{left:66.6666666667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333333333%}.row .col.pull-m10{right:83.3333333333%}.row .col.push-m10{left:83.3333333333%}.row .col.offset-m11{margin-left:91.6666666667%}.row .col.pull-m11{right:91.6666666667%}.row .col.push-m11{left:91.6666666667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width:993px){.row .col.l1{width:8.3333333333%}.row .col.l1,.row .col.l2{margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6666666667%}.row .col.l3{width:25%}.row .col.l3,.row .col.l4{margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333333333%}.row .col.l5{width:41.6666666667%}.row .col.l5,.row .col.l6{margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%}.row .col.l7{width:58.3333333333%}.row .col.l7,.row .col.l8{margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6666666667%}.row .col.l9{width:75%}.row .col.l9,.row .col.l10{margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333333333%}.row .col.l11{width:91.6666666667%}.row .col.l11,.row .col.l12{margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%}.row .col.offset-l1{margin-left:8.3333333333%}.row .col.pull-l1{right:8.3333333333%}.row .col.push-l1{left:8.3333333333%}.row .col.offset-l2{margin-left:16.6666666667%}.row .col.pull-l2{right:16.6666666667%}.row .col.push-l2{left:16.6666666667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333333333%}.row .col.pull-l4{right:33.3333333333%}.row .col.push-l4{left:33.3333333333%}.row .col.offset-l5{margin-left:41.6666666667%}.row .col.pull-l5{right:41.6666666667%}.row .col.push-l5{left:41.6666666667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333333333%}.row .col.pull-l7{right:58.3333333333%}.row .col.push-l7{left:58.3333333333%}.row .col.offset-l8{margin-left:66.6666666667%}.row .col.pull-l8{right:66.6666666667%}.row .col.push-l8{left:66.6666666667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333333333%}.row .col.pull-l10{right:83.3333333333%}.row .col.push-l10{left:83.3333333333%}.row .col.offset-l11{margin-left:91.6666666667%}.row .col.pull-l11{right:91.6666666667%}.row .col.push-l11{left:91.6666666667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}@media only screen and (min-width:1201px){.row .col.xl1{width:8.3333333333%}.row .col.xl1,.row .col.xl2{margin-left:auto;left:auto;right:auto}.row .col.xl2{width:16.6666666667%}.row .col.xl3{width:25%}.row .col.xl3,.row .col.xl4{margin-left:auto;left:auto;right:auto}.row .col.xl4{width:33.3333333333%}.row .col.xl5{width:41.6666666667%}.row .col.xl5,.row .col.xl6{margin-left:auto;left:auto;right:auto}.row .col.xl6{width:50%}.row .col.xl7{width:58.3333333333%}.row .col.xl7,.row .col.xl8{margin-left:auto;left:auto;right:auto}.row .col.xl8{width:66.6666666667%}.row .col.xl9{width:75%}.row .col.xl9,.row .col.xl10{margin-left:auto;left:auto;right:auto}.row .col.xl10{width:83.3333333333%}.row .col.xl11{width:91.6666666667%}.row .col.xl11,.row .col.xl12{margin-left:auto;left:auto;right:auto}.row .col.xl12{width:100%}.row .col.offset-xl1{margin-left:8.3333333333%}.row .col.pull-xl1{right:8.3333333333%}.row .col.push-xl1{left:8.3333333333%}.row .col.offset-xl2{margin-left:16.6666666667%}.row .col.pull-xl2{right:16.6666666667%}.row .col.push-xl2{left:16.6666666667%}.row .col.offset-xl3{margin-left:25%}.row .col.pull-xl3{right:25%}.row .col.push-xl3{left:25%}.row .col.offset-xl4{margin-left:33.3333333333%}.row .col.pull-xl4{right:33.3333333333%}.row .col.push-xl4{left:33.3333333333%}.row .col.offset-xl5{margin-left:41.6666666667%}.row .col.pull-xl5{right:41.6666666667%}.row .col.push-xl5{left:41.6666666667%}.row .col.offset-xl6{margin-left:50%}.row .col.pull-xl6{right:50%}.row .col.push-xl6{left:50%}.row .col.offset-xl7{margin-left:58.3333333333%}.row .col.pull-xl7{right:58.3333333333%}.row .col.push-xl7{left:58.3333333333%}.row .col.offset-xl8{margin-left:66.6666666667%}.row .col.pull-xl8{right:66.6666666667%}.row .col.push-xl8{left:66.6666666667%}.row .col.offset-xl9{margin-left:75%}.row .col.pull-xl9{right:75%}.row .col.push-xl9{left:75%}.row .col.offset-xl10{margin-left:83.3333333333%}.row .col.pull-xl10{right:83.3333333333%}.row .col.push-xl10{left:83.3333333333%}.row .col.offset-xl11{margin-left:91.6666666667%}.row .col.pull-xl11{right:91.6666666667%}.row .col.push-xl11{left:91.6666666667%}.row .col.offset-xl12{margin-left:100%}.row .col.pull-xl12{right:100%}.row .col.push-xl12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{min-height:56px;height:auto}nav.nav-extended .nav-content{position:relative;line-height:normal}nav a{color:#fff}nav [class*=mdi-],nav [class^=mdi-],nav i,nav i.material-icons{display:block;font-size:24px;height:56px;line-height:56px}nav .nav-wrapper{position:relative;height:100%}@media only screen and (min-width:993px){nav a.button-collapse{display:none}}nav .button-collapse{float:left;position:relative;z-index:1;height:56px;margin:0 18px}nav .button-collapse i{height:56px;line-height:56px}nav .brand-logo{position:absolute;color:#fff;display:inline-block;font-size:2.1rem;padding:0;white-space:nowrap}nav .brand-logo.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media only screen and (max-width:992px){nav .brand-logo{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;-webkit-transform:none;transform:none}nav .brand-logo.left{left:.5rem}nav .brand-logo.right{right:.5rem;left:auto}}nav .brand-logo.right{right:.5rem;padding:0}nav .brand-logo [class*=mdi-],nav .brand-logo [class^=mdi-],nav .brand-logo i,nav .brand-logo i.material-icons{float:left;margin-right:15px}nav .nav-title{display:inline-block;font-size:32px;padding:28px 0}nav ul{margin:0}nav ul li{transition:background-color .3s;float:left;padding:0}nav ul li.active{background-color:rgba(0,0,0,.1)}nav ul a{transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}nav ul a.btn,nav ul a.btn-flat,nav ul a.btn-floating,nav ul a.btn-large{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a.btn-flat>.material-icons,nav ul a.btn-floating>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn>.material-icons{height:inherit;line-height:inherit}nav ul a:hover{background-color:rgba(0,0,0,.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{margin:0;height:100%}nav .input-field input{height:100%;font-size:1.2rem;border:none;padding-left:2rem}nav .input-field input:focus,nav .input-field input[type=date]:valid,nav .input-field input[type=email]:valid,nav .input-field input[type=password]:valid,nav .input-field input[type=text]:valid,nav .input-field input[type=url]:valid{border:none;box-shadow:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:hsla(0,0%,100%,.7);transition:color .3s}nav .input-field label.active i{color:#fff}.navbar-fixed{position:relative;height:56px;z-index:997}.navbar-fixed nav{position:fixed}@media only screen and (min-width:601px){nav.nav-extended .nav-wrapper{min-height:64px}nav,nav .nav-wrapper i,nav a.button-collapse,nav a.button-collapse i{height:64px;line-height:64px}.navbar-fixed{height:64px}}@font-face{font-family:Roboto;src:local(Roboto Thin),url(fonts/Roboto-Thin.woff2) format("woff2"),url(fonts/Roboto-Thin.woff) format("woff");font-weight:100}@font-face{font-family:Roboto;src:local(Roboto Light),url(fonts/Roboto-Light.woff2) format("woff2"),url(fonts/Roboto-Light.woff) format("woff");font-weight:300}@font-face{font-family:Roboto;src:local(Roboto Regular),url(fonts/Roboto-Regular.woff2) format("woff2"),url(fonts/Roboto-Regular.woff) format("woff");font-weight:400}@font-face{font-family:Roboto;src:local(Roboto Medium),url(fonts/Roboto-Medium.woff2) format("woff2"),url(fonts/Roboto-Medium.woff) format("woff");font-weight:500}@font-face{font-family:Roboto;src:local(Roboto Bold),url(fonts/Roboto-Bold.woff2) format("woff2"),url(fonts/Roboto-Bold.woff) format("woff");font-weight:700}a{text-decoration:none}html{line-height:1.5;font-family:Roboto,sans-serif;font-weight:400;color:rgba(0,0,0,.87)}@media only screen and (min-width:0){html{font-size:14px}}@media only screen and (min-width:992px){html{font-size:14.5px}}@media only screen and (min-width:1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.1}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{font-size:4.2rem;margin:2.1rem 0 1.68rem}h1,h2{line-height:110%}h2{font-size:3.56rem;margin:1.78rem 0 1.424rem}h3{font-size:2.92rem;margin:1.46rem 0 1.168rem}h3,h4{line-height:110%}h4{font-size:2.28rem;margin:1.14rem 0 .912rem}h5{font-size:1.64rem;margin:.82rem 0 .656rem}h5,h6{line-height:110%}h6{font-size:1rem;margin:.5rem 0 .4rem}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light,.page-footer .footer-copyright{font-weight:300}.thin{font-weight:200}.flow-text{font-weight:300}@media only screen and (min-width:360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width:390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width:420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width:450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width:480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width:510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width:540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width:570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width:600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width:630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width:660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width:690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width:720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width:750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width:780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width:810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width:840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width:870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width:900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width:930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width:960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width:360px){.flow-text{font-size:1.2rem}}.scale-transition{transition:-webkit-transform .3s cubic-bezier(.53,.01,.36,1.63)!important;transition:transform .3s cubic-bezier(.53,.01,.36,1.63)!important;transition:transform .3s cubic-bezier(.53,.01,.36,1.63),-webkit-transform .3s cubic-bezier(.53,.01,.36,1.63)!important}.scale-transition.scale-out{-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .2s!important;transition:transform .2s!important;transition:transform .2s,-webkit-transform .2s!important}.scale-transition.scale-in{-webkit-transform:scale(1);transform:scale(1)}.card-panel{padding:24px}.card,.card-panel{transition:box-shadow .25s;margin:.5rem 0 1rem;border-radius:2px;background-color:#fff}.card{position:relative}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.large,.card.medium,.card.small{position:relative}.card.large .card-image,.card.medium .card-image,.card.small .card-image{max-height:60%;overflow:hidden}.card.large .card-image+.card-content,.card.medium .card-image+.card-content,.card.small .card-image+.card-content{max-height:40%}.card.large .card-content,.card.medium .card-content,.card.small .card-content{max-height:100%;overflow:hidden}.card.large .card-action,.card.medium .card-action,.card.small .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:-webkit-flex;display:-ms-flexbox;display:flex}.card.horizontal.large .card-image,.card.horizontal.medium .card-image,.card.horizontal.small .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.large .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.small .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;max-width:100%;width:auto}.card.horizontal .card-stacked{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.card.horizontal .card-stacked .card-content{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{display:block;border-radius:2px 2px 0 0;position:relative;left:0;right:0;top:0;bottom:0;width:100%}.card .card-image .card-title{color:#fff;position:absolute;bottom:0;left:0;max-width:100%;padding:24px}.card .card-content{padding:24px;border-radius:0 0 2px 2px}.card .card-content p{margin:0;color:inherit}.card .card-content .card-title{display:block;line-height:32px;margin-bottom:8px}.card .card-content .card-title i{line-height:32px}.card .card-action{position:relative;background-color:inherit;border-top:1px solid hsla(0,0%,63%,.2);padding:16px 24px}.card .card-action:last-child{border-radius:0 0 2px 2px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-large):not(.btn-floating){color:#ffab40;margin-right:24px;transition:color .3s ease;text-transform:uppercase}.card .card-action a:not(.btn):not(.btn-large):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{padding:24px;position:absolute;background-color:#fff;width:100%;overflow-y:auto;left:0;top:100%;height:100%;z-index:3;display:none}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{display:block;position:fixed;z-index:10000}@media only screen and (max-width:600px){#toast-container{min-width:100%;bottom:0}}@media only screen and (min-width:601px) and (max-width:992px){#toast-container{left:5%;bottom:7%;max-width:90%}}@media only screen and (min-width:993px){#toast-container{top:10%;right:7%;max-width:86%}}.toast{border-radius:2px;top:35px;width:auto;clear:both;margin-top:10px;position:relative;max-width:100%;height:auto;min-height:48px;line-height:1.5em;word-break:break-all;background-color:#323232;padding:10px 25px;font-size:1.1rem;font-weight:300;color:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.toast .btn,.toast .btn-flat,.toast .btn-large{margin:0;margin-left:3rem}.toast.rounded{border-radius:24px}@media only screen and (max-width:600px){.toast{width:100%;border-radius:0}}@media only screen and (min-width:601px) and (max-width:992px){.toast{float:left}}@media only screen and (min-width:993px){.toast{float:right}}.tabs{position:relative;overflow-x:auto;overflow-y:hidden;height:48px;width:100%;background-color:#fff;margin:0 auto;white-space:nowrap}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover,.tabs.tabs-transparent .tab a{color:hsla(0,0%,100%,.7)}.tabs.tabs-transparent .tab a.active,.tabs.tabs-transparent .tab a:hover{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs.tabs-fixed-width .tab{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab{display:inline-block;text-align:center;line-height:48px;height:48px;padding:0;margin:0;text-transform:uppercase}.tabs .tab a{color:rgba(238,110,115,.7);display:block;width:100%;height:100%;padding:0 24px;font-size:14px;text-overflow:ellipsis;overflow:hidden;transition:color .28s ease}.tabs .tab a.active,.tabs .tab a:hover{background-color:transparent;color:#ee6e73}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,.7);cursor:default}.tabs .indicator{position:absolute;bottom:0;height:2px;background-color:#f6b2b5;will-change:left,right}@media only screen and (max-width:992px){.tabs{display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs .tab{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{padding:10px 8px;font-size:1rem;z-index:2000;background-color:transparent;border-radius:2px;color:#fff;min-height:36px;line-height:120%;text-align:center;max-width:calc(100% - 4px);overflow:hidden;left:0;top:0;pointer-events:none}.backdrop,.material-tooltip{opacity:0;position:absolute;visibility:hidden}.backdrop{height:7px;width:14px;border-radius:0 0 50% 50%;background-color:#323232;z-index:-1;-webkit-transform-origin:50% 0;transform-origin:50% 0}.btn,.btn-flat,.btn-large{border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;padding:0 2rem;text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent}.btn-flat.disabled,.btn-flat:disabled,.btn-flat[disabled],.btn-floating.disabled,.btn-floating:disabled,.btn-floating[disabled],.btn-large.disabled,.btn-large:disabled,.btn-large[disabled],.btn.disabled,.btn:disabled,.btn[disabled],.disabled.btn-large,[disabled].btn-large{pointer-events:none;background-color:#dfdfdf!important;box-shadow:none;color:#9f9f9f!important;cursor:default}.btn-flat.disabled:hover,.btn-flat:disabled:hover,.btn-flat[disabled]:hover,.btn-floating.disabled:hover,.btn-floating:disabled:hover,.btn-floating[disabled]:hover,.btn-large.disabled:hover,.btn-large:disabled:hover,.btn-large[disabled]:hover,.btn.disabled:hover,.btn:disabled:hover,.btn[disabled]:hover,.disabled.btn-large:hover,[disabled].btn-large:hover{background-color:#dfdfdf!important;color:#9f9f9f!important}.btn,.btn-flat,.btn-floating,.btn-large{font-size:1rem;outline:0}.btn-flat i,.btn-floating i,.btn-large i,.btn i{font-size:1.3rem;line-height:inherit}.btn-floating:focus,.btn-large:focus,.btn:focus{background-color:#1d7d74}.btn,.btn-large{text-decoration:none;color:#fff;background-color:#26a69a;text-align:center;letter-spacing:.5px;transition:.2s ease-out;cursor:pointer}.btn-large:hover,.btn:hover{background-color:#2bbbad}.btn-floating{display:inline-block;color:#fff;position:relative;overflow:hidden;z-index:1;width:40px;height:40px;line-height:40px;padding:0;border-radius:50%;transition:.3s;cursor:pointer;vertical-align:middle}.btn-floating,.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px}.btn-floating.btn-large.halfway-fab{bottom:-28px}.btn-floating.btn-large i{line-height:56px}.btn-floating.halfway-fab{position:absolute;right:24px;bottom:-20px}.btn-floating.halfway-fab.left{right:auto;left:24px}.btn-floating i{width:inherit;display:inline-block;text-align:center;color:#fff;font-size:1.6rem;line-height:40px}button.btn-floating{border:none}.fixed-action-btn{position:fixed;right:23px;bottom:23px;padding-top:15px;margin-bottom:0;z-index:998}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.horizontal{padding:0 0 0 15px}.fixed-action-btn.horizontal ul{text-align:right;right:64px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;left:auto;width:500px}.fixed-action-btn.horizontal ul li{display:inline-block;margin:15px 15px 0 0}.fixed-action-btn.toolbar{padding:0;height:56px}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0}.fixed-action-btn.toolbar ul li{-webkit-flex:1;-ms-flex:1;flex:1;display:inline-block;margin:0;height:100%;transition:none}.fixed-action-btn.toolbar ul li a{display:block;overflow:hidden;position:relative;width:100%;height:100%;background-color:transparent;box-shadow:none;color:#fff;line-height:56px;z-index:1}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{left:0;right:0;text-align:center;position:absolute;bottom:64px;margin:0;visibility:hidden}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{position:absolute;top:0;left:0;z-index:-1;width:40px;height:40px;background-color:#26a69a;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}.btn-flat{box-shadow:none;color:#343434;cursor:pointer;transition:background-color .2s}.btn-flat,.btn-flat:active,.btn-flat:focus{background-color:transparent}.btn-flat:focus,.btn-flat:hover{background-color:rgba(0,0,0,.1);box-shadow:none}.btn-flat:active{background-color:rgba(0,0,0,.2)}.btn-flat.disabled{background-color:transparent!important;color:#b3b3b3!important;cursor:default}.btn-large{height:54px;line-height:54px}.btn-large i{font-size:1.6rem}.btn-block{display:block}.dropdown-content{background-color:#fff;margin:0;display:none;min-width:100px;max-height:650px;overflow-y:auto;opacity:0;position:absolute;z-index:999;will-change:width,height}.dropdown-content li{clear:both;color:rgba(0,0,0,.87);cursor:pointer;min-height:50px;line-height:1.5rem;width:100%;text-align:left;text-transform:none}.dropdown-content li.active,.dropdown-content li.selected,.dropdown-content li:hover{background-color:#eee}.dropdown-content li.active.selected{background-color:#e1e1e1}.dropdown-content li.divider{min-height:0;height:1px}.dropdown-content li>a,.dropdown-content li>span{font-size:16px;color:#26a69a;display:block;line-height:22px;padding:14px 16px}.dropdown-content li>span>label{top:1px;left:0;height:18px}.dropdown-content li>a>i{height:inherit;line-height:inherit;float:left;margin:0 24px 0 0;width:24px}.input-field.col .dropdown-content [type=checkbox]+label{top:1px;left:0;height:18px}.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;transition:.3s ease-out}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;opacity:0;background:rgba(0,0,0,.2);transition:all .7s ease-out;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-transform:scale(0);transform:scale(0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background-color:hsla(0,0%,100%,.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,.7)}.waves-effect input[type=button],.waves-effect input[type=reset],.waves-effect input[type=submit]{border:0;font-style:normal;font-size:inherit;text-transform:inherit;background:none}.waves-effect img{position:relative;z-index:-1}.waves-notransition{transition:none!important}.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 0)}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{display:none;position:fixed;left:0;right:0;background-color:#fafafa;padding:0;max-height:70%;width:55%;margin:auto;overflow-y:auto;border-radius:2px;will-change:top,opacity}@media only screen and (max-width:992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{border-radius:0 0 2px 2px;background-color:#fafafa;padding:4px 6px;height:56px;width:100%}.modal .modal-footer .btn,.modal .modal-footer .btn-flat,.modal .modal-footer .btn-large{float:right;margin:6px 0}.modal-overlay{position:fixed;z-index:999;top:-100px;left:0;bottom:0;right:0;height:125%;width:100%;background:#000;display:none;will-change:opacity}.modal.modal-fixed-footer{padding:0;height:70%}.modal.modal-fixed-footer .modal-content{position:absolute;height:calc(100% - 56px);max-height:100%;width:100%;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,.1);position:absolute;bottom:0}.modal.bottom-sheet{top:auto;bottom:-100%;margin:0;width:100%;max-height:45%;border-radius:0;will-change:bottom,opacity}.collapsible{border-top:1px solid #ddd;border-right:1px solid #ddd;border-left:1px solid #ddd;margin:.5rem 0 1rem}.collapsible-header{display:block;cursor:pointer;min-height:3rem;line-height:3rem;padding:0 1rem;background-color:#fff;border-bottom:1px solid #ddd}.collapsible-header i{width:2rem;font-size:1.6rem;line-height:3rem;display:block;float:left;text-align:center;margin-right:1rem}.collapsible-body{display:none;border-bottom:1px solid #ddd;box-sizing:border-box;padding:2rem}.side-nav .collapsible,.side-nav.fixed .collapsible{border:none;box-shadow:none}.side-nav .collapsible li,.side-nav.fixed .collapsible li{padding:0}.side-nav .collapsible-header,.side-nav.fixed .collapsible-header{background-color:transparent;border:none;line-height:inherit;height:inherit;padding:0 16px}.side-nav .collapsible-header:hover,.side-nav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,.05)}.side-nav .collapsible-header i,.side-nav.fixed .collapsible-header i{line-height:inherit}.side-nav .collapsible-body,.side-nav.fixed .collapsible-body{border:0;background-color:#fff}.side-nav .collapsible-body li a,.side-nav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{border:none;box-shadow:none}.collapsible.popout>li{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);margin:0 24px;transition:margin .35s cubic-bezier(.25,.46,.45,.94)}.collapsible.popout>li.active{box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);margin:16px 0}.chip{display:inline-block;height:32px;font-size:13px;font-weight:500;color:rgba(0,0,0,.6);line-height:32px;padding:0 12px;border-radius:16px;background-color:#e4e4e4;margin-bottom:5px;margin-right:5px}.chip>img{float:left;margin:0 8px 0 -12px;height:32px;width:32px;border-radius:50%}.chip .close{cursor:pointer;float:right;font-size:16px;line-height:32px;padding-left:8px}.chips{border:none;border-bottom:1px solid #9e9e9e;box-shadow:none;margin:0 0 20px;min-height:45px;outline:none;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;box-shadow:0 1px 0 0 #26a69a}.chips:hover{cursor:text}.chips .chip.selected{background-color:#26a69a;color:#fff}.chips .input{background:none;border:0;color:rgba(0,0,0,.6);display:inline-block;font-size:1rem;height:3rem;line-height:32px;outline:0;margin:0;padding:0!important;width:120px!important}.chips .input:focus{border:0!important;box-shadow:none!important}.chips .autocomplete-content{margin-top:0}.prefix~.chips{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.chips:empty~label{font-size:.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.materialboxed{display:block;cursor:-webkit-zoom-in;cursor:zoom-in;position:relative;transition:opacity .4s;-webkit-backface-visibility:hidden}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{top:0;right:0;background-color:#292929;will-change:opacity}#materialbox-overlay,.materialbox-caption{position:fixed;bottom:0;left:0;z-index:1000}.materialbox-caption{display:none;color:#fff;line-height:50px;width:100%;text-align:center;padding:0 15%;height:50px;-webkit-font-smoothing:antialiased}select:focus{outline:1px solid #c9f3ef}button:focus{outline:none;background-color:#2ab7a9}label{font-size:.8rem;color:#9e9e9e}::-webkit-input-placeholder{color:#d1d1d1}:-moz-placeholder,::-moz-placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],textarea.materialize-textarea{background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;height:3rem;width:100%;font-size:1rem;margin:0 0 20px;padding:0;box-shadow:none;box-sizing:content-box;transition:all .3s}input:not([type]):disabled,input:not([type])[readonly=readonly],input[type=date]:disabled,input[type=date][readonly=readonly],input[type=datetime-local]:disabled,input[type=datetime-local][readonly=readonly],input[type=datetime]:disabled,input[type=datetime][readonly=readonly],input[type=email]:disabled,input[type=email][readonly=readonly],input[type=number]:disabled,input[type=number][readonly=readonly],input[type=password]:disabled,input[type=password][readonly=readonly],input[type=search]:disabled,input[type=search][readonly=readonly],input[type=tel]:disabled,input[type=tel][readonly=readonly],input[type=text]:disabled,input[type=text][readonly=readonly],input[type=time]:disabled,input[type=time][readonly=readonly],input[type=url]:disabled,input[type=url][readonly=readonly],textarea.materialize-textarea:disabled,textarea.materialize-textarea[readonly=readonly]{color:rgba(0,0,0,.26);border-bottom:1px dotted rgba(0,0,0,.26)}input:not([type]):disabled+label,input:not([type])[readonly=readonly]+label,input[type=date]:disabled+label,input[type=date][readonly=readonly]+label,input[type=datetime-local]:disabled+label,input[type=datetime-local][readonly=readonly]+label,input[type=datetime]:disabled+label,input[type=datetime][readonly=readonly]+label,input[type=email]:disabled+label,input[type=email][readonly=readonly]+label,input[type=number]:disabled+label,input[type=number][readonly=readonly]+label,input[type=password]:disabled+label,input[type=password][readonly=readonly]+label,input[type=search]:disabled+label,input[type=search][readonly=readonly]+label,input[type=tel]:disabled+label,input[type=tel][readonly=readonly]+label,input[type=text]:disabled+label,input[type=text][readonly=readonly]+label,input[type=time]:disabled+label,input[type=time][readonly=readonly]+label,input[type=url]:disabled+label,input[type=url][readonly=readonly]+label,textarea.materialize-textarea:disabled+label,textarea.materialize-textarea[readonly=readonly]+label{color:rgba(0,0,0,.26)}input:not([type]):focus:not([readonly]),input[type=date]:focus:not([readonly]),input[type=datetime-local]:focus:not([readonly]),input[type=datetime]:focus:not([readonly]),input[type=email]:focus:not([readonly]),input[type=number]:focus:not([readonly]),input[type=password]:focus:not([readonly]),input[type=search]:focus:not([readonly]),input[type=tel]:focus:not([readonly]),input[type=text]:focus:not([readonly]),input[type=time]:focus:not([readonly]),input[type=url]:focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px 0 0 #26a69a}input:not([type]):focus:not([readonly])+label,input[type=date]:focus:not([readonly])+label,input[type=datetime-local]:focus:not([readonly])+label,input[type=datetime]:focus:not([readonly])+label,input[type=email]:focus:not([readonly])+label,input[type=number]:focus:not([readonly])+label,input[type=password]:focus:not([readonly])+label,input[type=search]:focus:not([readonly])+label,input[type=tel]:focus:not([readonly])+label,input[type=text]:focus:not([readonly])+label,input[type=time]:focus:not([readonly])+label,input[type=url]:focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input:not([type]).valid,input:not([type]):focus.valid,input[type=date].valid,input[type=date]:focus.valid,input[type=datetime-local].valid,input[type=datetime-local]:focus.valid,input[type=datetime].valid,input[type=datetime]:focus.valid,input[type=email].valid,input[type=email]:focus.valid,input[type=number].valid,input[type=number]:focus.valid,input[type=password].valid,input[type=password]:focus.valid,input[type=search].valid,input[type=search]:focus.valid,input[type=tel].valid,input[type=tel]:focus.valid,input[type=text].valid,input[type=text]:focus.valid,input[type=time].valid,input[type=time]:focus.valid,input[type=url].valid,input[type=url]:focus.valid,textarea.materialize-textarea.valid,textarea.materialize-textarea:focus.valid{border-bottom:1px solid #4caf50;box-shadow:0 1px 0 0 #4caf50}input:not([type]).valid+label:after,input:not([type]):focus.valid+label:after,input[type=date].valid+label:after,input[type=date]:focus.valid+label:after,input[type=datetime-local].valid+label:after,input[type=datetime-local]:focus.valid+label:after,input[type=datetime].valid+label:after,input[type=datetime]:focus.valid+label:after,input[type=email].valid+label:after,input[type=email]:focus.valid+label:after,input[type=number].valid+label:after,input[type=number]:focus.valid+label:after,input[type=password].valid+label:after,input[type=password]:focus.valid+label:after,input[type=search].valid+label:after,input[type=search]:focus.valid+label:after,input[type=tel].valid+label:after,input[type=tel]:focus.valid+label:after,input[type=text].valid+label:after,input[type=text]:focus.valid+label:after,input[type=time].valid+label:after,input[type=time]:focus.valid+label:after,input[type=url].valid+label:after,input[type=url]:focus.valid+label:after,textarea.materialize-textarea.valid+label:after,textarea.materialize-textarea:focus.valid+label:after{content:attr(data-success);color:#4caf50;opacity:1}input:not([type]).invalid,input:not([type]):focus.invalid,input[type=date].invalid,input[type=date]:focus.invalid,input[type=datetime-local].invalid,input[type=datetime-local]:focus.invalid,input[type=datetime].invalid,input[type=datetime]:focus.invalid,input[type=email].invalid,input[type=email]:focus.invalid,input[type=number].invalid,input[type=number]:focus.invalid,input[type=password].invalid,input[type=password]:focus.invalid,input[type=search].invalid,input[type=search]:focus.invalid,input[type=tel].invalid,input[type=tel]:focus.invalid,input[type=text].invalid,input[type=text]:focus.invalid,input[type=time].invalid,input[type=time]:focus.invalid,input[type=url].invalid,input[type=url]:focus.invalid,textarea.materialize-textarea.invalid,textarea.materialize-textarea:focus.invalid{border-bottom:1px solid #f44336;box-shadow:0 1px 0 0 #f44336}input:not([type]).invalid+label:after,input:not([type]):focus.invalid+label:after,input[type=date].invalid+label:after,input[type=date]:focus.invalid+label:after,input[type=datetime-local].invalid+label:after,input[type=datetime-local]:focus.invalid+label:after,input[type=datetime].invalid+label:after,input[type=datetime]:focus.invalid+label:after,input[type=email].invalid+label:after,input[type=email]:focus.invalid+label:after,input[type=number].invalid+label:after,input[type=number]:focus.invalid+label:after,input[type=password].invalid+label:after,input[type=password]:focus.invalid+label:after,input[type=search].invalid+label:after,input[type=search]:focus.invalid+label:after,input[type=tel].invalid+label:after,input[type=tel]:focus.invalid+label:after,input[type=text].invalid+label:after,input[type=text]:focus.invalid+label:after,input[type=time].invalid+label:after,input[type=time]:focus.invalid+label:after,input[type=url].invalid+label:after,input[type=url]:focus.invalid+label:after,textarea.materialize-textarea.invalid+label:after,textarea.materialize-textarea:focus.invalid+label:after{content:attr(data-error);color:#f44336;opacity:1}input:not([type]).validate+label,input[type=date].validate+label,input[type=datetime-local].validate+label,input[type=datetime].validate+label,input[type=email].validate+label,input[type=number].validate+label,input[type=password].validate+label,input[type=search].validate+label,input[type=tel].validate+label,input[type=text].validate+label,input[type=time].validate+label,input[type=url].validate+label,textarea.materialize-textarea.validate+label{width:100%;pointer-events:none}input:not([type])+label:after,input[type=date]+label:after,input[type=datetime-local]+label:after,input[type=datetime]+label:after,input[type=email]+label:after,input[type=number]+label:after,input[type=password]+label:after,input[type=search]+label:after,input[type=tel]+label:after,input[type=text]+label:after,input[type=time]+label:after,input[type=url]+label:after,textarea.materialize-textarea+label:after{display:block;content:"";position:absolute;top:60px;opacity:0;transition:opacity .2s ease-out,color .2s ease-out}.input-field{position:relative;margin-top:1rem}.input-field.inline{display:inline-block;vertical-align:middle;margin-left:5px}.input-field.inline .select-dropdown,.input-field.inline input{margin-bottom:1rem}.input-field.col label{left:.75rem}.input-field.col .prefix~.validate~label,.input-field.col .prefix~label{width:calc(100% - 3rem - 1.5rem)}.input-field label{color:#9e9e9e;position:absolute;top:.8rem;left:0;font-size:1rem;cursor:text;transition:.2s ease-out;text-align:initial}.input-field label:not(.label-icon).active{font-size:.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.input-field .prefix{position:absolute;width:3rem;font-size:2rem;transition:color .2s}.input-field .prefix.active{color:#26a69a}.input-field .prefix~.autocomplete-content,.input-field .prefix~.validate~label,.input-field .prefix~input,.input-field .prefix~label,.input-field .prefix~textarea{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.input-field .prefix~label{margin-left:3rem}@media only screen and (max-width:992px){.input-field .prefix~input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width:600px){.input-field .prefix~input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{display:block;line-height:inherit;padding-left:4rem;width:calc(100% - 4rem)}.input-field input[type=search]:focus{background-color:#fff;border:0;box-shadow:none;color:#444}.input-field input[type=search]:focus+label i,.input-field input[type=search]:focus~.material-icons,.input-field input[type=search]:focus~.mdi-navigation-close{color:#444}.input-field input[type=search]+label{left:1rem}.input-field input[type=search]~.material-icons,.input-field input[type=search]~.mdi-navigation-close{position:absolute;top:0;right:1rem;color:transparent;cursor:pointer;font-size:2rem;transition:color .3s}textarea{width:100%;height:3rem;background-color:transparent}textarea.materialize-textarea{overflow-y:hidden;padding:.8rem 0 1.6rem;resize:none;min-height:3rem}.hiddendiv{display:none;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:1.2rem;position:absolute;top:0}.autocomplete-content{margin-top:-20px;display:block;opacity:1;position:static}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{height:40px;width:40px;margin:5px 15px}[type=radio]:checked,[type=radio]:not(:checked){position:absolute;left:-9999px;opacity:0}[type=radio]:checked+label,[type=radio]:not(:checked)+label{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;transition:.28s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type=radio]+label:after,[type=radio]+label:before{content:"";position:absolute;left:0;top:0;margin:4px;width:16px;height:16px;z-index:0;transition:.28s ease}[type=radio].with-gap:checked+label:after,[type=radio].with-gap:checked+label:before,[type=radio]:checked+label:after,[type=radio]:checked+label:before,[type=radio]:not(:checked)+label:after,[type=radio]:not(:checked)+label:before{border-radius:50%}[type=radio]:not(:checked)+label:after,[type=radio]:not(:checked)+label:before{border:2px solid #5a5a5a}[type=radio]:not(:checked)+label:after{-webkit-transform:scale(0);transform:scale(0)}[type=radio]:checked+label:before{border:2px solid transparent}[type=radio].with-gap:checked+label:after,[type=radio].with-gap:checked+label:before,[type=radio]:checked+label:after{border:2px solid #26a69a}[type=radio].with-gap:checked+label:after,[type=radio]:checked+label:after{background-color:#26a69a}[type=radio]:checked+label:after{-webkit-transform:scale(1.02);transform:scale(1.02)}[type=radio].with-gap:checked+label:after{-webkit-transform:scale(.5);transform:scale(.5)}[type=radio].tabbed:focus+label:before{box-shadow:0 0 0 10px rgba(0,0,0,.1)}[type=radio].with-gap:disabled:checked+label:before{border:2px solid rgba(0,0,0,.26)}[type=radio].with-gap:disabled:checked+label:after{border:none;background-color:rgba(0,0,0,.26)}[type=radio]:disabled:checked+label:before,[type=radio]:disabled:not(:checked)+label:before{background-color:transparent;border-color:rgba(0,0,0,.26)}[type=radio]:disabled+label{color:rgba(0,0,0,.26)}[type=radio]:disabled:not(:checked)+label:before{border-color:rgba(0,0,0,.26)}[type=radio]:disabled:checked+label:after{background-color:rgba(0,0,0,.26);border-color:#bdbdbd}form p{margin-bottom:10px;text-align:left}form p:last-child{margin-bottom:0}[type=checkbox]:checked,[type=checkbox]:not(:checked){position:absolute;left:-9999px;opacity:0}[type=checkbox]+label{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}[type=checkbox]+label:before,[type=checkbox]:not(.filled-in)+label:after{content:"";position:absolute;top:0;left:0;width:18px;height:18px;z-index:0;border:2px solid #5a5a5a;border-radius:1px;margin-top:2px;transition:.2s}[type=checkbox]:not(.filled-in)+label:after{border:0;-webkit-transform:scale(0);transform:scale(0)}[type=checkbox]:not(:checked):disabled+label:before{border:none;background-color:rgba(0,0,0,.26)}[type=checkbox].tabbed:focus+label:after{-webkit-transform:scale(1);transform:scale(1);border:0;border-radius:50%;box-shadow:0 0 0 10px rgba(0,0,0,.1);background-color:rgba(0,0,0,.1)}[type=checkbox]:checked+label:before{top:-4px;left:-5px;width:12px;height:22px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #26a69a;border-bottom:2px solid #26a69a;-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=checkbox]:checked:disabled+label:before{border-right:2px solid rgba(0,0,0,.26);border-bottom:2px solid rgba(0,0,0,.26)}[type=checkbox]:indeterminate+label:before{top:-11px;left:-12px;width:10px;height:22px;border-top:none;border-left:none;border-right:2px solid #26a69a;border-bottom:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=checkbox]:indeterminate:disabled+label:before{border-right:2px solid rgba(0,0,0,.26);background-color:transparent}[type=checkbox].filled-in+label:after{border-radius:2px}[type=checkbox].filled-in+label:after,[type=checkbox].filled-in+label:before{content:"";left:0;position:absolute;transition:border .25s,background-color .25s,width .2s .1s,height .2s .1s,top .2s .1s,left .2s .1s;z-index:1}[type=checkbox].filled-in:not(:checked)+label:before{width:0;height:0;border:3px solid transparent;left:6px;top:10px;-webkit-transform:rotate(37deg);transform:rotate(37deg);-webkit-transform-origin:20% 40%;transform-origin:100% 100%}[type=checkbox].filled-in:not(:checked)+label:after{height:20px;width:20px;background-color:transparent;border:2px solid #5a5a5a;top:0;z-index:0}[type=checkbox].filled-in:checked+label:before{top:0;left:1px;width:8px;height:13px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotate(37deg);transform:rotate(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=checkbox].filled-in:checked+label:after{top:0;width:20px;height:20px;border:2px solid #26a69a;background-color:#26a69a;z-index:0}[type=checkbox].filled-in.tabbed:focus+label:after{border-radius:2px;border-color:#5a5a5a;background-color:rgba(0,0,0,.1)}[type=checkbox].filled-in.tabbed:checked:focus+label:after{border-radius:2px;background-color:#26a69a;border-color:#26a69a}[type=checkbox].filled-in:disabled:not(:checked)+label:before{background-color:transparent;border:2px solid transparent}[type=checkbox].filled-in:disabled:not(:checked)+label:after{border-color:transparent;background-color:#bdbdbd}[type=checkbox].filled-in:disabled:checked+label:before{background-color:transparent}[type=checkbox].filled-in:disabled:checked+label:after{background-color:#bdbdbd;border-color:#bdbdbd}.switch,.switch *{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a;left:24px}.switch label .lever{content:"";display:inline-block;position:relative;width:40px;height:15px;background-color:#818181;border-radius:15px;margin-right:10px;transition:background .3s ease;vertical-align:middle;margin:0 16px}.switch label .lever:after{content:"";position:absolute;display:inline-block;width:21px;height:21px;background-color:#f1f1f1;border-radius:21px;box-shadow:0 1px 3px 1px rgba(0,0,0,.4);left:-5px;top:-3px;transition:left .3s ease,background .3s ease,box-shadow .1s ease}input[type=checkbox]:checked:not(:disabled).tabbed:focus~.lever:after,input[type=checkbox]:checked:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(38,166,154,.1)}input[type=checkbox]:not(:disabled).tabbed:focus~.lever:after,input[type=checkbox]:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.08)}.switch input[type=checkbox][disabled]+.lever{cursor:default}.switch label input[type=checkbox][disabled]+.lever:after,.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#bdbdbd}select{display:none}select.browser-default{display:block}select{background-color:hsla(0,0%,100%,.9);width:100%;padding:5px;border:1px solid #f2f2f2;border-radius:2px;height:3rem}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper input.select-dropdown{position:relative;cursor:pointer;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;height:3rem;line-height:3rem;width:100%;font-size:1rem;margin:0 0 20px;padding:0;display:block}.select-wrapper span.caret{color:initial;position:absolute;right:0;top:0;bottom:0;height:10px;margin:auto 0;font-size:10px;line-height:10px}.select-wrapper span.caret.disabled{color:rgba(0,0,0,.26)}.select-wrapper+label{position:absolute;top:-14px;font-size:.8rem}select:disabled{color:rgba(0,0,0,.3)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,.3);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;border-bottom:1px solid rgba(0,0,0,.3)}.select-wrapper i{color:rgba(0,0,0,.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,.3);background-color:transparent}.prefix~.select-wrapper{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.prefix~label{margin-left:3rem}.select-dropdown li img{height:40px;width:40px;margin:5px 15px;float:right}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,.4)}.select-dropdown li.optgroup~li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{overflow:hidden;padding-left:10px}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;margin:0;padding:0;font-size:20px;cursor:pointer;opacity:0;filter:alpha(opacity=0)}.range-field{position:relative}input[type=range],input[type=range]+.thumb{cursor:pointer}input[type=range]{position:relative;background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0}input[type=range]:focus{outline:none}input[type=range]+.thumb{position:absolute;top:10px;left:0;border:none;height:0;width:0;border-radius:50%;background-color:#26a69a;margin-left:7px;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}input[type=range]+.thumb .value{display:block;width:30px;text-align:center;color:#26a69a;font-size:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-left:-1px;margin-top:8px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:none;height:14px;width:14px;border-radius:50%;background-color:#26a69a;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;margin:-5px 0 0;transition:.3s}input[type=range]:focus::-webkit-slider-runnable-track{background:#ccc}input[type=range]{border:1px solid #fff}input[type=range]::-moz-range-track{height:3px;background:#ddd;border:none}input[type=range]::-moz-range-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;margin-top:-5px}input[type=range]:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}input[type=range]:focus::-moz-range-track{background:#ccc}input[type=range]::-ms-track{height:3px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a}input[type=range]:focus::-ms-fill-lower{background:#888}input[type=range]:focus::-ms-fill-upper{background:#ccc}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{font-weight:300;color:#757575;padding-left:20px;height:1.5rem;line-height:1.5rem;letter-spacing:.4;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;padding-left:19px;border-left:1px solid #ee6e73}.table-of-contents a.active{font-weight:500;padding-left:18px;border-left:2px solid #ee6e73}.side-nav{position:fixed;width:300px;left:0;top:0;margin:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);height:calc(100% + 60px);height:100%;padding-bottom:60px;background-color:#fff;z-index:999;overflow-y:auto;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-105%);transform:translateX(-105%)}.side-nav.right-aligned{right:0;-webkit-transform:translateX(105%);transform:translateX(105%);left:auto;-webkit-transform:translateX(100%);transform:translateX(100%)}.side-nav .collapsible{margin:0}.side-nav li{float:none;line-height:48px}.side-nav li.active{background-color:rgba(0,0,0,.05)}.side-nav li>a{color:rgba(0,0,0,.87);display:block;font-size:14px;font-weight:500;height:48px;line-height:48px;padding:0 32px}.side-nav li>a:hover{background-color:rgba(0,0,0,.05)}.side-nav li>a.btn,.side-nav li>a.btn-flat,.side-nav li>a.btn-floating,.side-nav li>a.btn-large{margin:10px 15px}.side-nav li>a.btn,.side-nav li>a.btn-floating,.side-nav li>a.btn-large{color:#fff}.side-nav li>a.btn-flat{color:#343434}.side-nav li>a.btn-large:hover,.side-nav li>a.btn:hover{background-color:#2bbbad}.side-nav li>a.btn-floating:hover{background-color:#26a69a}.side-nav li>a>[class^=mdi-],.side-nav li>a>i,.side-nav li>a>i.material-icons,.side-nav li>a li>a>[class*=mdi-]{float:left;height:48px;line-height:48px;margin:0 32px 0 0;width:24px;color:rgba(0,0,0,.54)}.side-nav .divider{margin:8px 0 0}.side-nav .subheader{cursor:auto;pointer-events:none;color:rgba(0,0,0,.54);font-size:14px;font-weight:500;line-height:48px}.side-nav .subheader:hover{background-color:transparent}.side-nav .userView{position:relative;padding:32px 32px 0;margin-bottom:8px}.side-nav .userView>a{height:auto;padding:0}.side-nav .userView>a:hover{background-color:transparent}.side-nav .userView .background{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.side-nav .userView .circle,.side-nav .userView .email,.side-nav .userView .name{display:block}.side-nav .userView .circle{height:64px;width:64px}.side-nav .userView .email,.side-nav .userView .name{font-size:14px;line-height:24px}.side-nav .userView .name{margin-top:16px;font-weight:500}.side-nav .userView .email{padding-bottom:16px;font-weight:400}.drag-target{height:100%;width:10px;position:fixed;top:0;z-index:998}.side-nav.fixed{left:0;-webkit-transform:translateX(0);transform:translateX(0);position:fixed}.side-nav.fixed.right-aligned{right:0;left:auto}@media only screen and (max-width:992px){.side-nav.fixed{-webkit-transform:translateX(-105%);transform:translateX(-105%)}.side-nav.fixed.right-aligned{-webkit-transform:translateX(105%);transform:translateX(105%)}.side-nav a{padding:0 16px}.side-nav .userView{padding:16px 16px 0}}.side-nav .collapsible-body>ul:not(.collapsible)>li.active,.side-nav.fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.side-nav .collapsible-body>ul:not(.collapsible)>li.active a,.side-nav.fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}.side-nav .collapsible-body{padding:0}#sidenav-overlay{position:fixed;top:0;left:0;right:0;height:120vh;background-color:rgba(0,0,0,.5);z-index:997;will-change:opacity}.preloader-wrapper{display:inline-block;position:relative;width:50px;height:50px}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(1turn)}}@keyframes container-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0;border-color:#26a69a}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-green-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only{opacity:1;-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(3turn)}}@keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(3turn);transform:rotate(3turn)}}@-webkit-keyframes blue-fade-in-out{0%{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}to{opacity:1}}@keyframes blue-fade-in-out{0%{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}to{opacity:1}}@-webkit-keyframes red-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}to{opacity:0}}@keyframes green-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}to{opacity:0}}.gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.circle-clipper .circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent!important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0}.circle-clipper.left .circle{left:0;border-right-color:transparent!important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.circle-clipper.right .circle{left:-100%;border-left-color:transparent!important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.active .circle-clipper.left .circle{-webkit-animation:left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.active .circle-clipper.right .circle{-webkit-animation:right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}@-webkit-keyframes left-spin{0%{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{0%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes right-spin{0%{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{0%{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation:container-rotate 1568ms linear infinite,fade-out .4s cubic-bezier(.4,0,.2,1);animation:container-rotate 1568ms linear infinite,fade-out .4s cubic-bezier(.4,0,.2,1)}@-webkit-keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.slider{position:relative;height:400px;width:100%}.slider.fullscreen{height:100%;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;margin:0;height:400px}.slider .slides li{opacity:0;position:absolute;top:0;left:0;z-index:1;width:100%;height:inherit;overflow:hidden}.slider .slides li img{height:100%;width:100%;background-size:cover;background-position:50%}.slider .slides li .caption{color:#fff;position:absolute;top:15%;left:15%;width:70%;opacity:0}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.slider .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:16px;width:16px;margin:0 12px;background-color:#e0e0e0;transition:background-color .3s;border-radius:50%}.slider .indicators .indicator-item.active{background-color:#4caf50}.carousel{overflow:hidden;position:relative;width:100%;height:400px;-webkit-perspective:500px;perspective:500px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform-origin:0 50%;transform-origin:0 50%}.carousel.carousel-slider{top:0;left:0;height:0}.carousel.carousel-slider .carousel-fixed-item{position:absolute;left:0;right:0;bottom:20px;z-index:1}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{display:none;width:200px;height:200px;position:absolute;top:0;left:0}.carousel .carousel-item>img{width:100%}.carousel .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.carousel .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:8px;width:8px;margin:24px 4px;background-color:hsla(0,0%,100%,.5);transition:background-color .3s;border-radius:50%}.carousel .indicators .indicator-item.active{background-color:#fff}.carousel .carousel-item:not(.active) .materialboxed,.carousel.scrolling .carousel-item .materialboxed{pointer-events:none}.tap-target-wrapper{width:800px;height:800px;position:fixed;z-index:1000;visibility:hidden;transition:visibility 0s .3s}.tap-target-wrapper.open{visibility:visible;transition:visibility 0s}.tap-target-wrapper.open .tap-target{opacity:.95;transition:opacity .3s ease-in-out,-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out,opacity .3s ease-in-out;transition:transform .3s ease-in-out,opacity .3s ease-in-out,-webkit-transform .3s ease-in-out}.tap-target-wrapper.open .tap-target,.tap-target-wrapper.open .tap-target-wave:before{-webkit-transform:scale(1);transform:scale(1)}.tap-target-wrapper.open .tap-target-wave:after{visibility:visible;-webkit-animation:pulse-animation 1s cubic-bezier(.24,0,.38,1) infinite;animation:pulse-animation 1s cubic-bezier(.24,0,.38,1) infinite;transition:opacity .3s,visibility 0s 1s,-webkit-transform .3s;transition:opacity .3s,transform .3s,visibility 0s 1s;transition:opacity .3s,transform .3s,visibility 0s 1s,-webkit-transform .3s}.tap-target{position:absolute;font-size:1rem;border-radius:50%;background-color:#ee6e73;box-shadow:0 20px 20px 0 rgba(0,0,0,.14),0 10px 50px 0 rgba(0,0,0,.12),0 30px 10px -20px rgba(0,0,0,.2);width:100%;height:100%;opacity:0;-webkit-transform:scale(0);transform:scale(0);transition:opacity .3s ease-in-out,-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out,opacity .3s ease-in-out;transition:transform .3s ease-in-out,opacity .3s ease-in-out,-webkit-transform .3s ease-in-out}.tap-target-content{position:relative;display:table-cell}.tap-target-wave{position:absolute;border-radius:50%;z-index:10001}.tap-target-wave:after,.tap-target-wave:before{content:"";display:block;position:absolute;width:100%;height:100%;border-radius:50%;background-color:#fff}.tap-target-wave:before{-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.tap-target-wave:after{visibility:hidden;transition:opacity .3s,visibility 0s,-webkit-transform .3s;transition:opacity .3s,transform .3s,visibility 0s;transition:opacity .3s,transform .3s,visibility 0s,-webkit-transform .3s;z-index:-1}.tap-target-origin{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:10002;position:absolute!important}.tap-target-origin:not(.btn):not(.btn-large),.tap-target-origin:not(.btn):not(.btn-large):hover{background:none}@media only screen and (max-width:600px){.tap-target,.tap-target-wrapper{width:600px;height:600px}}.pulse{overflow:initial;position:relative}.pulse:before{content:"";display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:inherit;border-radius:inherit;transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s;transition:opacity .3s,transform .3s,-webkit-transform .3s;-webkit-animation:pulse-animation 1s cubic-bezier(.24,0,.38,1) infinite;animation:pulse-animation 1s cubic-bezier(.24,0,.38,1) infinite;z-index:-1}@-webkit-keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}to{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}@keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}to{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}.picker{font-size:16px;text-align:left;line-height:1.2;color:#000;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.picker__frame,.picker__holder{bottom:0;left:0;right:0;top:100%}.picker__holder{position:fixed;transition:background .15s ease-out,top 0s .15s;-webkit-backface-visibility:hidden}.picker__frame{position:absolute;min-width:256px;width:300px;max-height:350px;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;transition:all .15s ease-out}@media (min-height:28.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}}@media (min-height:40.125em){.picker__frame{margin-bottom:7.5%}}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:28.875em){.picker__wrap{display:block}}.picker__box{background:#fff;display:table-cell;vertical-align:middle}@media (min-height:28.875em){.picker__box{display:block;border:1px solid #777;border-top-color:#898989;border-bottom-width:0;border-radius:5px 5px 0 0;box-shadow:0 12px 36px 16px rgba(0,0,0,.24)}}.picker--opened .picker__holder{top:0;background:transparent;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#1E000000,endColorstr=#1E000000)";zoom:1;background:rgba(0,0,0,.32);transition:background .15s ease-out}.picker--opened .picker__frame{top:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:35.875em){.picker--opened .picker__frame{top:10%;bottom:auto}}.picker__input.picker__input--active{border-color:#e3f2fd}.picker__frame{margin:0 auto;max-width:325px}@media (min-height:38.875em){.picker--opened .picker__frame{top:10%;bottom:auto}}.picker__box{padding:0 1em}.picker__header{text-align:center;position:relative;margin-top:.75em}.picker__month,.picker__year{display:inline-block;margin-left:.25em;margin-right:.25em}.picker__select--month,.picker__select--year{height:2em;padding:0;margin-left:.25em;margin-right:.25em}.picker__select--month.browser-default{display:inline;background-color:#fff;width:40%}.picker__select--year.browser-default{display:inline;background-color:#fff;width:26%}.picker__select--month:focus,.picker__select--year:focus{border-color:rgba(0,0,0,.05)}.picker__nav--next,.picker__nav--prev{position:absolute;padding:.5em 1.25em;width:1em;height:1em;box-sizing:content-box;top:-.25em}.picker__nav--prev{left:-1em;padding-right:1.25em}.picker__nav--next{right:-1em;padding-left:1.25em}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:none;border-right-color:#f5f5f5;border-left-color:#f5f5f5}.picker__table{border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:1rem;width:100%;margin-top:.75em}.picker__table,.picker__table td,.picker__table th{text-align:center}.picker__table td{margin:0;padding:0}.picker__weekday{width:14.285714286%;font-size:.75em;padding-bottom:.25em;color:#999;font-weight:500}@media (min-height:33.875em){.picker__weekday{padding-bottom:.5em}}.picker__day--today{position:relative;color:#595959;letter-spacing:-.3;padding:.75rem 0;font-weight:400;border:1px solid transparent}.picker__day--disabled:before{border-top-color:#aaa}.picker__day--infocus:hover{cursor:pointer;color:#000;font-weight:500}.picker__day--outfocus{display:none;padding:.75rem 0;color:#fff}.picker__day--outfocus:hover{cursor:pointer;color:#ddd;font-weight:500}.picker--focused .picker__day--highlighted,.picker__day--highlighted:hover{cursor:pointer}.picker--focused .picker__day--selected,.picker__day--selected,.picker__day--selected:hover{-webkit-transform:scale(.75);transform:scale(.75);background:#0089ec}.picker--focused .picker__day--disabled,.picker__day--disabled,.picker__day--disabled:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default}.picker__day--highlighted.picker__day--disabled,.picker__day--highlighted.picker__day--disabled:hover{background:#bbb}.picker__footer{text-align:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.picker__button--clear,.picker__button--close,.picker__button--today{border:1px solid #fff;background:#fff;font-size:.8em;padding:.66em 0;font-weight:700;width:33%;display:inline-block;vertical-align:bottom}.picker__button--clear:hover,.picker__button--close:hover,.picker__button--today:hover{cursor:pointer;color:#000;background:#b1dcfb;border-bottom-color:#b1dcfb}.picker__button--clear:focus,.picker__button--close:focus,.picker__button--today:focus{background:#b1dcfb;border-color:rgba(0,0,0,.05);outline:none}.picker__button--clear:before,.picker__button--close:before,.picker__button--today:before{position:relative;display:inline-block;height:0}.picker__button--clear:before,.picker__button--today:before{content:" ";margin-right:.45em}.picker__button--today:before{top:-.05em;width:0;border-top:.66em solid #0059bc;border-left:.66em solid transparent}.picker__button--clear:before{top:-.25em;width:.66em;border-top:3px solid #e20}.picker__button--close:before{content:"\D7";top:-.1em;vertical-align:top;font-size:1.1em;margin-right:.35em;color:#777}.picker__button--today[disabled],.picker__button--today[disabled]:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default}.picker__button--today[disabled]:before{border-top-color:#aaa}.picker__box{border-radius:2px;overflow:hidden}.picker__date-display{text-align:center;background-color:#26a69a;color:#fff;padding-bottom:15px;font-weight:300}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;color:#000;background:#a1ded8}.picker__weekday-display{background-color:#1f897f;padding:10px;font-weight:200;letter-spacing:.5;font-size:1rem;margin-bottom:15px}.picker__month-display{text-transform:uppercase;font-size:2rem}.picker__day-display{font-size:4.5rem;font-weight:400}.picker__year-display{font-size:1.8rem;color:hsla(0,0%,100%,.4)}.picker__box{padding:0}.picker__calendar-container{padding:0 1rem}.picker__calendar-container thead{border:none}.picker__table{margin-top:0;margin-bottom:.5em}.picker__day--infocus{color:#595959;letter-spacing:-.3;padding:.75rem 0;font-weight:400;border:1px solid transparent}.picker__day.picker__day--today{color:#26a69a}.picker__day.picker__day--today.picker__day--selected{color:#fff}.picker__weekday{font-size:.9rem}.picker--focused .picker__day--selected,.picker__day--selected,.picker__day--selected:hover{border-radius:50%;-webkit-transform:scale(.9);transform:scale(.9);background-color:#26a69a;color:#fff}.picker--focused .picker__day--selected.picker__day--outfocus,.picker__day--selected.picker__day--outfocus,.picker__day--selected:hover.picker__day--outfocus{background-color:#a1ded8}.picker__footer{text-align:right;padding:5px 10px}.picker__close,.picker__today{font-size:1.1rem;padding:0 1rem;color:#26a69a}.picker__nav--next:before,.picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.75em solid #676767;width:0;height:0;display:block;margin:0 auto}.picker__nav--next:before{border-right:0;border-left:.75em solid #676767}button.picker__clear:focus,button.picker__close:focus,button.picker__today:focus{background-color:#a1ded8}.picker__list{list-style:none;padding:.75em 0 4.2em;margin:0}.picker__list-item{border-bottom:1px solid #ddd;border-top:1px solid #ddd;margin-bottom:-1px;position:relative;background:#fff;padding:.75em 1.25em}@media (min-height:46.75em){.picker__list-item{padding:.5em 1em}}.picker__list-item:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker__list-item--highlighted,.picker__list-item:hover{border-color:#0089ec;z-index:10}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker--focused .picker__list-item--selected,.picker__list-item--selected,.picker__list-item--selected:hover{background:#0089ec;color:#fff;z-index:10}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default;border-color:#ddd;z-index:auto}.picker--time .picker__button--clear{display:block;width:80%;margin:1em auto 0;padding:1em 1.25em;background:none;border:0;font-weight:500;font-size:.67em;text-align:center;text-transform:uppercase;color:#666}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{color:#000;background:#b1dcfb;background:#e20;border-color:#e20;cursor:pointer;color:#fff;outline:none}.picker--time .picker__button--clear:before{top:-.25em;color:#666;font-size:1.25em;font-weight:700}.picker--time .picker__button--clear:focus:before,.picker--time .picker__button--clear:hover:before{color:#fff}.picker--time .picker__frame{min-width:256px;max-width:320px}.picker--time .picker__box{font-size:1em;background:#f2f2f2;padding:0}@media (min-height:40.125em){.picker--time .picker__box{margin-bottom:5em}}.annotator-filter *,.annotator-notice,.annotator-widget *{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-weight:400;text-align:left;margin:0;padding:0;background:none;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;-moz-box-shadow:none;-webkit-box-shadow:none;-o-box-shadow:none;box-shadow:none;color:#909090}.annotator-adder{background-image:url(img/annotator-icon-sprite.png);background-repeat:no-repeat}.annotator-editor a:after,.annotator-filter .annotator-filter-navigation button:after,.annotator-filter .annotator-filter-property .annotator-filter-clear,.annotator-resize,.annotator-viewer .annotator-controls a,.annotator-viewer .annotator-controls button,.annotator-widget:after{background-image:url(img/annotator-glyph-sprite.png);background-repeat:no-repeat}.annotator-hl{background:#ffff0a;background:rgba(255,255,10,.3);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4DFFFF0A, endColorstr=#4DFFFF0A)"}.annotator-hl-temporary{background:#007cff;background:rgba(0,124,255,.3);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4D007CFF, endColorstr=#4D007CFF)"}.annotator-wrapper{position:relative}.annotator-adder,.annotator-notice,.annotator-outer{z-index:1020}.annotator-filter{z-index:1010}.annotator-adder,.annotator-notice,.annotator-outer,.annotator-widget{position:absolute;font-size:10px;line-height:1}.annotator-hide{display:none;visibility:hidden}.annotator-adder{margin-top:-48px;margin-left:-24px;width:48px;height:48px;background-position:0 0}.annotator-adder:hover{background-position:top}.annotator-adder:active{background-position:100%}.annotator-adder button{display:block;width:36px;height:41px;margin:0 auto;border:none;background:none;text-indent:-999em;cursor:pointer}.annotator-outer{width:0;height:0}.annotator-widget{margin:0;padding:0;bottom:15px;left:-18px;min-width:265px;background-color:#fbfbfb;background-color:hsla(0,0%,98%,.98);border:1px solid #7a7a7a;border:1px solid hsla(0,0%,48%,.6);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.2);-moz-box-shadow:0 5px 15px rgba(0,0,0,.2);-o-box-shadow:0 5px 15px rgba(0,0,0,.2);box-shadow:0 5px 15px rgba(0,0,0,.2)}.annotator-invert-x .annotator-widget{left:auto;right:-18px}.annotator-invert-y .annotator-widget{bottom:auto;top:8px}.annotator-widget strong{font-weight:700}.annotator-widget .annotator-item,.annotator-widget .annotator-listing{padding:0;margin:0;list-style:none}.annotator-widget:after{content:"";display:block;width:18px;height:10px;background-position:0 0;position:absolute;bottom:-10px;left:8px}.annotator-invert-x .annotator-widget:after{left:auto;right:8px}.annotator-invert-y .annotator-widget:after{background-position:0 -15px;bottom:auto;top:-9px}.annotator-editor .annotator-item input,.annotator-editor .annotator-item textarea,.annotator-widget .annotator-item{position:relative;font-size:12px}.annotator-viewer .annotator-item{border-top:2px solid #7a7a7a;border-top:2px solid hsla(0,0%,48%,.2)}.annotator-widget .annotator-item:first-child{border-top:none}.annotator-editor .annotator-item,.annotator-viewer div{border-top:1px solid #858585;border-top:1px solid hsla(0,0%,52%,.11)}.annotator-viewer div{padding:6px}.annotator-viewer .annotator-item ol,.annotator-viewer .annotator-item ul{padding:4px 16px}.annotator-editor .annotator-item:first-child textarea,.annotator-viewer div:first-of-type{padding-top:12px;padding-bottom:12px;color:#3c3c3c;font-size:13px;font-style:italic;line-height:1.3;border-top:none}.annotator-viewer .annotator-controls{position:relative;top:5px;right:5px;padding-left:5px;opacity:0;-webkit-transition:opacity .2s ease-in;-moz-transition:opacity .2s ease-in;-o-transition:opacity .2s ease-in;transition:opacity .2s ease-in;float:right}.annotator-viewer li .annotator-controls.annotator-visible,.annotator-viewer li:hover .annotator-controls{opacity:1}.annotator-viewer .annotator-controls a,.annotator-viewer .annotator-controls button{cursor:pointer;display:inline-block;width:13px;height:13px;margin-left:2px;border:none;opacity:.2;text-indent:-900em;background-color:transparent;outline:none}.annotator-viewer .annotator-controls a:focus,.annotator-viewer .annotator-controls a:hover,.annotator-viewer .annotator-controls button:focus,.annotator-viewer .annotator-controls button:hover{opacity:.9}.annotator-viewer .annotator-controls a:active,.annotator-viewer .annotator-controls button:active{opacity:1}.annotator-viewer .annotator-controls button[disabled]{display:none}.annotator-viewer .annotator-controls .annotator-edit{background-position:0 -60px}.annotator-viewer .annotator-controls .annotator-delete{background-position:0 -75px}.annotator-viewer .annotator-controls .annotator-link{background-position:0 -270px}.annotator-editor .annotator-item{position:relative}.annotator-editor .annotator-item label{top:0;display:inline;cursor:pointer;font-size:12px}.annotator-editor .annotator-item input,.annotator-editor .annotator-item textarea{display:block;min-width:100%;padding:10px 8px;border:none;margin:0;color:#3c3c3c;background:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;resize:none}.annotator-editor .annotator-item textarea::-webkit-scrollbar{height:8px;width:8px}.annotator-editor .annotator-item textarea::-webkit-scrollbar-track-piece{margin:13px 0 3px;background-color:#e5e5e5;-webkit-border-radius:4px}.annotator-editor .annotator-item textarea::-webkit-scrollbar-thumb:vertical{height:25px;background-color:#ccc;-webkit-border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1)}.annotator-editor .annotator-item textarea::-webkit-scrollbar-thumb:horizontal{width:25px;background-color:#ccc;-webkit-border-radius:4px}.annotator-editor .annotator-item:first-child textarea{min-height:5.5em;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.annotator-editor .annotator-item input:focus,.annotator-editor .annotator-item textarea:focus{background-color:#f3f3f3;outline:none}.annotator-editor .annotator-item input[type=checkbox],.annotator-editor .annotator-item input[type=radio]{width:auto;min-width:0;padding:0;display:inline;margin:0 4px 0 0;cursor:pointer}.annotator-editor .annotator-checkbox{padding:8px 6px}.annotator-editor .annotator-controls,.annotator-filter,.annotator-filter .annotator-filter-navigation button{text-align:right;padding:3px;border-top:1px solid #d4d4d4;background-color:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),color-stop(.6,#dcdcdc),to(#d2d2d2));background-image:-moz-linear-gradient(to bottom,#f5f5f5,#dcdcdc 60%,#d2d2d2);background-image:-webkit-linear-gradient(180deg,#f5f5f5,#dcdcdc 60%,#d2d2d2);background-image:linear-gradient(180deg,#f5f5f5,#dcdcdc 60%,#d2d2d2);-webkit-box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);-moz-box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);-o-box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);box-shadow:inset 1px 0 0 hsla(0,0%,100%,.7),inset -1px 0 0 hsla(0,0%,100%,.7),inset 0 1px 0 hsla(0,0%,100%,.7);-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-o-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.annotator-editor.annotator-invert-y .annotator-controls{border-top:none;border-bottom:1px solid #b4b4b4;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.annotator-editor a,.annotator-filter .annotator-filter-property label{position:relative;display:inline-block;padding:0 6px 0 22px;color:#363636;text-shadow:0 1px 0 hsla(0,0%,100%,.75);text-decoration:none;line-height:24px;font-size:12px;font-weight:700;border:1px solid #a2a2a2;background-color:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),color-stop(.5,#d2d2d2),color-stop(.5,#bebebe),to(#d2d2d2));background-image:-moz-linear-gradient(to bottom,#f5f5f5,#d2d2d2 50%,#bebebe 50%,#d2d2d2);background-image:-webkit-linear-gradient(180deg,#f5f5f5,#d2d2d2 50%,#bebebe 0,#d2d2d2);background-image:linear-gradient(180deg,#f5f5f5,#d2d2d2 50%,#bebebe 0,#d2d2d2);-webkit-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-moz-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-o-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;border-radius:5px}.annotator-editor a:after{position:absolute;top:50%;left:5px;display:block;content:"";width:15px;height:15px;margin-top:-7px;background-position:0 -90px}.annotator-editor a.annotator-focus,.annotator-editor a:focus,.annotator-editor a:hover,.annotator-filter .annotator-filter-active label,.annotator-filter .annotator-filter-navigation button:hover{outline:none;border-color:#435aa0;background-color:#3865f9;background-image:-webkit-gradient(linear,left top,left bottom,from(#7691fb),color-stop(.5,#5075fb),color-stop(.5,#3865f9),to(#3665fa));background-image:-moz-linear-gradient(to bottom,#7691fb,#5075fb 50%,#3865f9 50%,#3665fa);background-image:-webkit-linear-gradient(180deg,#7691fb,#5075fb 50%,#3865f9 0,#3665fa);background-image:linear-gradient(180deg,#7691fb,#5075fb 50%,#3865f9 0,#3665fa);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.42)}.annotator-editor a:focus:after,.annotator-editor a:hover:after{margin-top:-8px;background-position:0 -105px}.annotator-editor a:active,.annotator-filter .annotator-filter-navigation button:active{border-color:#700c49;background-color:#d12e8e;background-image:-webkit-gradient(linear,left top,left bottom,from(#fc7cca),color-stop(.5,#e85db2),color-stop(.5,#d12e8e),to(#ff009c));background-image:-moz-linear-gradient(to bottom,#fc7cca,#e85db2 50%,#d12e8e 50%,#ff009c);background-image:-webkit-linear-gradient(180deg,#fc7cca,#e85db2 50%,#d12e8e 0,#ff009c);background-image:linear-gradient(180deg,#fc7cca,#e85db2 50%,#d12e8e 0,#ff009c)}.annotator-editor a.annotator-save:after{background-position:0 -120px}.annotator-editor a.annotator-save.annotator-focus:after,.annotator-editor a.annotator-save:focus:after,.annotator-editor a.annotator-save:hover:after{margin-top:-8px;background-position:0 -135px}.annotator-editor .annotator-widget:after{background-position:0 -30px}.annotator-editor.annotator-invert-y .annotator-widget .annotator-controls{background-color:#f2f2f2}.annotator-editor.annotator-invert-y .annotator-widget:after{background-position:0 -45px;height:11px}.annotator-resize{position:absolute;top:0;right:0;width:12px;height:12px;background-position:2px -150px}.annotator-invert-x .annotator-resize{right:auto;left:0;background-position:0 -195px}.annotator-invert-y .annotator-resize{top:auto;bottom:0;background-position:2px -165px}.annotator-invert-y.annotator-invert-x .annotator-resize{background-position:0 -180px}.annotator-notice{color:#fff;position:fixed;top:-54px;left:0;width:100%;font-size:14px;line-height:50px;text-align:center;background:#000;background:rgba(0,0,0,.9);border-bottom:4px solid #d4d4d4;-webkit-transition:top .4s ease-out;-moz-transition:top .4s ease-out;-o-transition:top .4s ease-out;transition:top .4s ease-out}.annotator-notice-success{border-color:#3665f9}.annotator-notice-error{border-color:#ff7e00}.annotator-notice p{margin:0}.annotator-notice a{color:#fff}.annotator-notice-show{top:0}.annotator-tags{margin-bottom:-2px}.annotator-tags .annotator-tag{display:inline-block;padding:0 8px;margin-bottom:2px;line-height:1.6;font-weight:700;background-color:#e6e6e6;-webkit-border-radius:8px;-moz-border-radius:8px;-o-border-radius:8px;border-radius:8px}.annotator-filter{position:fixed;top:0;right:0;left:0;text-align:left;line-height:0;border:none;border-bottom:1px solid #878787;padding-left:10px;padding-right:10px;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3);-moz-box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3);-o-box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3);box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.3)}.annotator-filter strong{font-size:12px;font-weight:700;color:#3c3c3c;text-shadow:0 1px 0 hsla(0,0%,100%,.7);position:relative;top:-9px}.annotator-filter .annotator-filter-navigation,.annotator-filter .annotator-filter-property{position:relative;display:inline-block;overflow:hidden;line-height:10px;padding:2px 0;margin-right:8px}.annotator-filter .annotator-filter-navigation button,.annotator-filter .annotator-filter-property label{text-align:left;display:block;float:left;line-height:20px;-webkit-border-radius:10px 0 0 10px;-moz-border-radius:10px 0 0 10px;-o-border-radius:10px 0 0 10px;border-radius:10px 0 0 10px}.annotator-filter .annotator-filter-property label{padding-left:8px}.annotator-filter .annotator-filter-property input{display:block;float:right;-webkit-appearance:none;background-color:#fff;border:1px solid #878787;border-left:none;padding:2px 4px;line-height:16px;min-height:16px;font-size:12px;width:150px;color:#333;background-color:#f8f8f8;-webkit-border-radius:0 10px 10px 0;-moz-border-radius:0 10px 10px 0;-o-border-radius:0 10px 10px 0;border-radius:0 10px 10px 0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);-o-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px rgba(0,0,0,.2)}.annotator-filter .annotator-filter-property input:focus{outline:none;background-color:#fff}.annotator-filter .annotator-filter-clear{position:absolute;right:3px;top:6px;border:none;text-indent:-900em;width:15px;height:15px;background-position:0 -90px;opacity:.4}.annotator-filter .annotator-filter-clear:focus,.annotator-filter .annotator-filter-clear:hover{opacity:.8}.annotator-filter .annotator-filter-clear:active{opacity:1}.annotator-filter .annotator-filter-navigation button{border:1px solid #a2a2a2;padding:0;text-indent:-900px;width:20px;min-height:22px;-webkit-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-moz-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);-o-box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8);box-shadow:inset 0 0 5px hsla(0,0%,100%,.2),inset 0 0 1px hsla(0,0%,100%,.8)}.annotator-filter .annotator-filter-navigation button,.annotator-filter .annotator-filter-navigation button:focus,.annotator-filter .annotator-filter-navigation button:hover{color:transparent}.annotator-filter .annotator-filter-navigation button:after{position:absolute;top:8px;left:8px;content:"";display:block;width:9px;height:9px;background-position:0 -210px}.annotator-filter .annotator-filter-navigation button:hover:after{background-position:0 -225px}.annotator-filter .annotator-filter-navigation .annotator-filter-next{-webkit-border-radius:0 10px 10px 0;-moz-border-radius:0 10px 10px 0;-o-border-radius:0 10px 10px 0;border-radius:0 10px 10px 0;border-left:none}.annotator-filter .annotator-filter-navigation .annotator-filter-next:after{left:auto;right:7px;background-position:0 -240px}.annotator-filter .annotator-filter-navigation .annotator-filter-next:hover:after{background-position:0 -255px}.annotator-hl-active{background:#ffff0a;background:rgba(255,255,10,.8);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#CCFFFF0A, endColorstr=#CCFFFF0A)"}.annotator-hl-filtered{background-color:transparent}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(fonts/MaterialIcons-Regular.woff2) format("woff2"),url(fonts/MaterialIcons-Regular.woff) format("woff"),url(fonts/MaterialIcons-Regular.ttf) format("truetype")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}@font-face{font-family:Lato;font-weight:100;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-hairline.woff2) format("woff2"),url(fonts/lato-hairline.woff) format("woff")}@font-face{font-family:Lato;font-weight:100;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-hairline-italic.woff2) format("woff2"),url(fonts/lato-hairline-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:200;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-thin.woff2) format("woff2"),url(fonts/lato-thin.woff) format("woff")}@font-face{font-family:Lato;font-weight:200;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-thin-italic.woff2) format("woff2"),url(fonts/lato-thin-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:300;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-light.woff2) format("woff2"),url(fonts/lato-light.woff) format("woff")}@font-face{font-family:Lato;font-weight:300;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-light-italic.woff2) format("woff2"),url(fonts/lato-light-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:400;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-normal.woff2) format("woff2"),url(fonts/lato-normal.woff) format("woff")}@font-face{font-family:Lato;font-weight:400;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-normal-italic.woff2) format("woff2"),url(fonts/lato-normal-italic.woff) format("woff")}@font-face{font-family:Lato Medium;font-weight:400;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-medium.woff2) format("woff2"),url(fonts/lato-medium.woff) format("woff")}@font-face{font-family:Lato Medium;font-weight:400;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-medium-italic.woff2) format("woff2"),url(fonts/lato-medium-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:500;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-semibold.woff2) format("woff2"),url(fonts/lato-semibold.woff) format("woff")}@font-face{font-family:Lato;font-weight:500;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-semibold-italic.woff2) format("woff2"),url(fonts/lato-semibold-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:600;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-bold.woff2) format("woff2"),url(fonts/lato-bold.woff) format("woff")}@font-face{font-family:Lato;font-weight:600;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-bold-italic.woff2) format("woff2"),url(fonts/lato-bold-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:800;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-heavy.woff2) format("woff2"),url(fonts/lato-heavy.woff) format("woff")}@font-face{font-family:Lato;font-weight:800;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-heavy-italic.woff2) format("woff2"),url(fonts/lato-heavy-italic.woff) format("woff")}@font-face{font-family:Lato;font-weight:900;font-style:normal;text-rendering:optimizeLegibility;src:url(fonts/lato-black.woff2) format("woff2"),url(fonts/lato-black.woff) format("woff")}@font-face{font-family:Lato;font-weight:900;font-style:italic;text-rendering:optimizeLegibility;src:url(fonts/lato-black-italic.woff2) format("woff2"),url(fonts/lato-black-italic.woff) format("woff")}.material-icons.md-18{font-size:18px}.material-icons.md-24{font-size:24px}.material-icons.md-36{font-size:36px}.material-icons.md-48{font-size:48px}.material-icons.md-dark{color:rgba(0,0,0,.54)}.material-icons.md-dark.md-inactive{color:rgba(0,0,0,.26)}.material-icons.md-light{color:#fff}.material-icons.md-light.md-inactive{color:hsla(0,0%,100%,.3)}.hljs{display:block;overflow-x:auto;padding:.5em;color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta-string,.hljs-regexp,.hljs-string{color:#50a14f}.hljs-built_in,.hljs-class .hljs-title{color:#c18401}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#4078f2}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}#article{font-size:20px;margin:0 auto;max-width:45em}#article article{color:#424242;font-size:18px;line-height:1.7em;overflow-wrap:break-word}#article article h1,#article article h2,#article article h3,#article article h4,#article article h5,#article article h6{color:#212121}#article article h1 strong,#article article h2 strong,#article article h3 strong,#article article h4 strong,#article article h5 strong,#article article h6 strong{font-weight:500}#article article h6{font-size:1.2rem}#article article h5{font-size:1.6rem}#article article h4{font-size:1.9rem}#article article h3{font-size:2.2rem}#article article h2{font-size:2.5rem}#article article h1{font-size:2.7rem}#article article a{border-bottom:1px dotted #03a9f4;text-decoration:none}#article article a:hover{border-bottom-style:solid}#article article ul{padding-left:30px}#article article ul,#article article ul li{list-style-type:disc}#article article blockquote{font-style:italic}#article article strong{font-weight:700}#article figure,#article img{max-width:100%;height:auto}#article pre{box-sizing:border-box;margin:0 0 1.75em;border:1px solid #e3f2fd;width:100%;padding:10px;font-family:monospace;font-size:.8em;white-space:pre;overflow:auto;background:#f5f5f5;border-radius:3px}#article>header>h1{font-size:2em;margin:2.1rem 0 .68rem}#article aside .tools{display:flex;flex-flow:row wrap}#article aside .tools .stats{font-size:.8em;margin:8px 5px 5px}#article aside .tools .stats li{display:inline-flex;vertical-align:middle;margin:3px 5px}#article aside .tools .stats li i.material-icons{color:#3e3e3e;margin-right:3px}#article aside .tools .stats a{color:#000;text-decoration:none}#article aside .tools .tags{float:right;margin:5px 15px 10px}#article aside .chip{background-color:rgba(0,151,167,.85);padding:0 15px 0 10px;margin:auto 2px;border-radius:6px}#article aside .chip a,#article aside .chip i{color:#fff}#article aside .chip i.material-icons{float:right;font-size:20px;line-height:32px;padding-left:8px}.reader-mode{width:70px!important;transition:width .2s ease}.reader-mode .collapsible-body{height:0;overflow:hidden}.reader-mode span{opacity:0;transition:opacity .2s ease}.reader-mode:hover{width:260px!important}.reader-mode:hover .collapsible-body{height:auto}.reader-mode:hover .collapsible-body li a i.material-icons{margin:auto 5px auto -8px}.reader-mode:hover span{opacity:1}.progress{position:fixed;top:0;width:100%;height:3px;margin:0;z-index:9999}main #content{padding:0 .5rem}main ul.row{margin:.4rem 0 0;padding:0 .75rem}.data .card .card-body{height:19em;overflow:hidden}.card .card-content .card-title,.card .card-reveal .card-title{line-height:22.8px;max-height:80px;font-size:19px;font-family:roberto,Helvetica Neue,Helvetica,Arial,sans-serif}.card .card-stacked .card-content .card-title{display:inline-block}.card .card-content .activator,.card .card-reveal .activator{cursor:pointer;font-family:Material Icons}.card .card-content i.right,.card .card-reveal i.right{margin-left:0}.card .card-content .original{line-height:24px;font-size:15px}.card .card-entry-labels{position:absolute;top:10px;z-index:90;max-width:50%}.card .card-entry-labels-hidden{margin:2.5px auto}.card .card-entry-labels-hidden li{display:inline-block;background-color:rgba(0,151,167,.85);margin:0 5px;padding:5px 12px;border-radius:3px;color:#fff;max-height:2em;max-width:calc(100% - 15px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .card-content .estimatedTime{margin-bottom:10px}.card .card-action{padding:10px 5px 10px 15px}.card .card-action ul.links{margin:0;font-size:24px;line-height:24px}.card .card-action a{color:#fff;margin:0}.card .card-action a:hover{color:#fff}.card .card-action ul.tools li a.tool{margin-right:5px!important}.card .card-action .reading-time{display:inline-flex;vertical-align:middle}.card .card-action .reading-time span{margin-right:5px}.card .card-image{height:10em}.card .card-fullimage{height:13.5em}.card .card-fullimage .preview,.card .card-image .preview{height:14em;background:no-repeat 50%/cover;display:block}.card.sw{max-width:370px;margin-left:auto;margin-right:auto}a.original:not(.waves-effect){text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.card-entry-labels li,.card-tag-labels li{margin:10px 10px 10px auto;padding:5px 12px 5px 16px!important;background-color:rgba(0,151,167,.85);border-radius:3px;color:#fff;cursor:default}.card-entry-labels li{text-overflow:ellipsis;white-space:nowrap;border-radius:0 3px 3px 0;overflow:hidden}.card-tag-labels li{display:flex;justify-content:space-between}#list .chip a,.card-entry-labels-hidden a,.card-entry-labels a,.card-entry-tags a,.card-tag-labels a{text-decoration:none;font-weight:400;color:#fff}.card-tag-labels a{height:100%;align-items:center}.card-tag-link{display:flex;min-width:100px;flex-grow:1}.card-tag-rss{display:flex}.card-tag-labels{display:flex;flex-wrap:wrap}.card-tag-labels li{margin:10px;flex-basis:19%;flex-grow:1;align-items:center}.card-stacked{display:flex;flex-flow:row wrap}.card-stacked:hover ul.tools-list{display:inline;text-align:right}.card-stacked .preview{max-width:100px;height:auto;margin-right:10px;flex:1}.card-stacked .preview img{max-width:100%;max-height:100%}.card-stacked div.metadata .chip{background-color:rgba(0,151,167,.85);padding:0 15px 0 10px;margin:auto 2px;border-radius:6px}.card-stacked div.metadata .chip a,.card-stacked div.metadata .chip i{color:#fff}.card-stacked div.metadata .chip i.material-icons{float:right;font-size:20px;line-height:32px;padding-left:8px}.card-stacked div.card-content{flex:4}.card-stacked ul.tools-list{flex:1;display:none;flex-basis:5em;align-self:flex-end;float:right;max-width:6em}.card-stacked .tags{display:inline-block}#content .collection .collection-item{min-height:65px;height:auto}.quickstart .card .card-action a,.quickstart .card .card-action a:hover{color:#fff!important}.settings .div_tabs{padding-bottom:15px}@media only screen and (min-width:992px){.card-tag-labels li{max-width:50%}}.collection{margin:15px 15px 0}.collection .collection-item{padding:7px;height:65px}.results{display:flex;padding:1rem 1rem 0;flex-wrap:wrap;justify-content:space-between}.results .nb-results{display:inline-flex}.results a{color:#444}.pagination ul{display:flex;margin:0;flex-wrap:wrap;justify-content:space-around}.pagination ul .next.disabled,.pagination ul .prev.disabled{display:none}.pagination li{padding:0}.pagination a,.pagination span{padding:0 10px;height:30px;display:block;line-height:30px}.pagination .disabled{margin-right:10px;margin-left:10px}.pagination li.active span{padding:0 10px;height:30px;display:block;color:#fff}.footer-text{margin:.7rem .5rem}.hidden,.picker__date-display{display:none}footer.page-footer{margin-top:10px;padding-top:0}footer .row{margin-bottom:10px}#filters button{padding:0;width:100%}#filters div.with-checkbox{height:3rem;margin-top:0}body{display:flex;min-height:100vh;flex-direction:column;background:#fafafa}body.login main{padding:0;min-height:100vh}.border-bottom{border-bottom:1px solid #ddd}#content,.valign-wrapper,main{height:100%}.typo-logo{max-width:150px}#main{flex:1 0 auto}#main .logo a{height:100pt}#main .logo img{height:100pt;width:100pt}#main .logo:hover{background:transparent}nav{height:auto;line-height:normal}nav input{color:#aaa}nav ul a:hover{background-color:initial}.nav-panel-item .button-collapse{margin-left:0;margin-right:.5rem;padding:0 .5rem;height:auto;line-height:1;background-color:transparent;border:none}.nav-panel-item{display:flex;padding:.6rem .4rem .6rem .75rem;flex-wrap:wrap;justify-content:space-between;align-items:center}.nav-panel-item .material-icons{height:46px;line-height:46px}.nav-input{display:none}.nav-panel-buttom{display:flex;flex-grow:1;justify-content:flex-end}.nav-panel-item .add,.nav-panel-item .search,.nav-panels .close{color:#444!important}.nav-panels{transition:background .2s ease}.nav-panels .action{margin:0;font-size:2.1rem}.nav-panels .input-field input{display:block;line-height:inherit;height:3rem}.nav-panels .input-field input:focus{background-color:#fff;border:0;box-shadow:none;color:#444}.nav-panel-top{display:flex;align-items:center}.input-field.nav-panel-item label{left:1rem}.input-field.nav-panel-item .close{color:transparent;cursor:pointer;font-size:2rem;transition:color .3s}.input-field.nav-panel-item{display:flex;flex:1;flex-wrap:nowrap;align-items:center}.input-field.nav-panel-add.disabled,.input-field.nav-panel-add.disabled input{background-color:#f5f5f5}.nav-form-button{padding:0;background-color:transparent;border:none}.nav-form-button:focus{background-color:inherit}.nav-form-button,.nav-panel-item .close{margin:0 1%}#button_export,#button_filters{display:none}@media (min-width:993px){.button-collapse{display:none}}.side-nav{width:240px}.side-nav li{padding:0}.side-nav li.logo>a:hover{background:initial}.side-nav a{margin:0}.side-nav.fixed a{font-size:13px;line-height:44px;height:44px}.side-nav .collapsible-header,.side-nav.fixed .collapsible-header{height:45px;line-height:44px;padding:0 20px}.side-nav>li.logo{line-height:0;text-align:center}.bold>a{font-weight:700}span.numberItems{float:right}div.settings div.file-field div,div.settings div.file-field ul{margin-top:40px}div.settings div.file-field div{margin-top:inherit}.input-field label.active{font-size:1rem}nav .input-field input{margin:0;padding-left:.5rem}.tabs{display:flex}.tab{flex:1}@font-face{font-family:icomoon;src:url(fonts/IcoMoon-Free.ttf);font-weight:400;font-style:normal}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;width:1em;height:1em;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.material-icons .md-18{font-size:18px}.material-icons .md-24{font-size:24px}.material-icons .md-36{font-size:36px}.material-icons .md-48{font-size:48px}.material-icons .md-dark{color:rgba(0,0,0,.54)}.material-icons .md-dark .md-inactive{color:rgba(0,0,0,.26)}.material-icons .md-light{color:#fff}.material-icons .md-light .md-inactive{color:hsla(0,0%,100%,.3)}[class*=" icon-"]:before,[class^=icon-]:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;background-size:24px;letter-spacing:0;font-feature-settings:"liga"}.icon-eye:before{content:"\E9CE"}.icon-no-eye:before{content:"\E9D1"}.icon-calendar:before{content:"\E953"}.icon-mail:before{content:"\EA86"}.icon-time:before{content:"\E952"}a.icon-image{background-repeat:no-repeat;padding-right:.4em!important;padding-left:0!important;margin-left:25px}a.icon-image:before{content:"";display:block;width:24px;height:24px;float:left;margin:7px 1.5px 0 0}a.icon-image.carrot:before{background:url(themes/_global/img/icons/carrot-icon--black.png) no-repeat 50%/90%}a.icon-image.diaspora:before{background:url(themes/_global/img/icons/diaspora-icon--black.png) no-repeat 50%/80%}a.icon-image.unmark:before{background:url(themes/_global/img/icons/unmark-icon--black.png) no-repeat 50%/80%}a.icon-image.shaarli:before{background:url(themes/_global/img/icons/shaarli.png) no-repeat 50%/80%}a.icon-image.scuttle:before{background:url(themes/_global/img/icons/scuttle.png) no-repeat 50%/80%}.icon-google-plus2:before{content:"\EA89"}.icon-facebook2:before{content:"\EA8D"}.icon-twitter:before{content:"\EA96"}.icon-apple:before{content:"\EABF"}.icon-android:before{content:"\EAC1"}.icon-chrome:before{content:"\EAE5"}.icon-firefox:before{content:"\EAE6"}.icon-link:before{content:"\E9CB"}footer [class*=" icon-"],footer [class^=icon-]{font-size:2em;transition:text-shadow .2s ease;padding-right:10px}footer [class*=" icon-"]:hover,footer [class^=icon-]:hover{text-shadow:0 0 10px rgba(0,0,0,.3)}@media print{body{font-family:Serif;background-color:#fff}@page{margin:1cm}img{max-width:100%!important}#article .mbm a,#article>aside,#article_toolbar,#links,#slide-out,#sort,.entry+.results,.hide-on-large-only,.messages,.progress,.top_link,body>footer,body>header,div.tools,header div{display:none!important}main{padding-left:0!important}#article{margin:inherit!important}article{border:none!important}.vieworiginal a:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.pagination span.current{border-style:dashed}#main{margin:0;padding:0}#article,#main{width:100%}}@media only screen and (min-width:992px){body:not(.entry):not(.login) main,footer,nav{padding-left:240px}.pagination{margin-left:auto}}@media only screen and (max-width:992px){footer,header,main,nav{padding-left:0}table{display:block;overflow:auto}iframe{max-width:100%;height:auto}.nav-panels .action{padding-right:.75rem}.nav-panel-buttom{justify-content:space-between}#article{max-width:35em;margin-left:auto;margin-right:auto;font-size:18px}#article>header>h1{font-size:1.33em}.reader-mode{width:240px!important}.reader-mode span{opacity:1}.tabs{display:inline-block;height:auto}.tab{min-width:100%}.indicator{display:none}.pagination li{margin-bottom:.5rem}.pagination li.next,.pagination li.prev{width:auto}.drag-target+.drag-target{height:50%}.drag-target+.drag-target+.drag-target{top:50%}}@media only screen and (min-width:1200px) and (max-width:1650px){.row .col.l3{width:33.33333%;margin-left:0}}@media only screen and (min-width:993px) and (max-width:1200px){.row .col.l1{width:25%;margin-left:0}.row .col.l2{width:33.33333%;margin-left:0}.row .col.l3{width:41.66667%;margin-left:0}.row .col.l4{width:50%;margin-left:0}.row .col.l5{width:58.33333%;margin-left:0}.row .col.l6{width:66.66667%;margin-left:0}.row .col.l7{width:75%;margin-left:0}.row .col.l8{width:83.33333%;margin-left:0}.row .col.l9{width:91.66667%;margin-left:0}.row .col.l10{width:100%;margin-left:0}}@media only screen and (max-width:350px){.nb-results{display:none}.row .col,main ul.row{padding:0}}
2/*# sourceMappingURL=material.css.map*/ \ No newline at end of file 2/*# sourceMappingURL=material.css.map*/ \ No newline at end of file
diff --git a/web/wallassets/material.js b/web/wallassets/material.js
index 9c368c93..629f5b97 100644
--- a/web/wallassets/material.js
+++ b/web/wallassets/material.js
@@ -1 +1 @@
!function(t){function __webpack_require__(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,__webpack_require__),i.l=!0,i.exports}var e={};__webpack_require__.m=t,__webpack_require__.c=e,__webpack_require__.i=function(t){return t},__webpack_require__.d=function(t,e,n){__webpack_require__.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},__webpack_require__.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return __webpack_require__.d(e,"a",e),e},__webpack_require__.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=54)}([function(t,e,n){var i,r;!function(e,n){"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,function(n,o){function isArrayLike(t){var e=!!t&&"length"in t&&t.length,n=v.type(t);return"function"!==n&&!v.isWindow(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function winnow(t,e,n){if(v.isFunction(e))return v.grep(t,function(t,i){return!!e.call(t,i,t)!==n});if(e.nodeType)return v.grep(t,function(t){return t===e!==n});if("string"==typeof e){if(S.test(e))return v.filter(e,t,n);e=v.filter(e,t)}return v.grep(t,function(t){return d.call(e,t)>-1!==n})}function sibling(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function createOptions(t){var e={};return v.each(t.match(O)||[],function(t,n){e[n]=!0}),e}function completed(){s.removeEventListener("DOMContentLoaded",completed),n.removeEventListener("load",completed),v.ready()}function Data(){this.expando=v.expando+Data.uid++}function dataAttr(t,e,n){var i;if(void 0===n&&1===t.nodeType)if(i="data-"+e.replace(F,"-$&").toLowerCase(),"string"==typeof(n=t.getAttribute(i))){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:z.test(n)?v.parseJSON(n):n)}catch(t){}L.set(t,e,n)}else n=void 0;return n}function adjustCSS(t,e,n,i){var r,o=1,a=20,s=i?function(){return i.cur()}:function(){return v.css(t,e,"")},l=s(),u=n&&n[3]||(v.cssNumber[e]?"":"px"),c=(v.cssNumber[e]||"px"!==u&&+l)&&H.exec(v.css(t,e));if(c&&c[3]!==u){u=u||c[3],n=n||[],c=+l||1;do{o=o||".5",c/=o,v.style(t,e,c+u)}while(o!==(o=s()/l)&&1!==o&&--a)}return n&&(c=+c||+l||0,r=n[1]?c+(n[1]+1)*n[2]:+n[2],i&&(i.unit=u,i.start=c,i.end=r)),r}function getAll(t,e){var n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[];return void 0===e||e&&v.nodeName(t,e)?v.merge([t],n):n}function setGlobalEval(t,e){for(var n=0,i=t.length;n<i;n++)R.set(t[n],"globalEval",!e||R.get(e[n],"globalEval"))}function buildFragment(t,e,n,i,r){for(var o,a,s,l,u,c,d=e.createDocumentFragment(),f=[],h=0,p=t.length;h<p;h++)if((o=t[h])||0===o)if("object"===v.type(o))v.merge(f,o.nodeType?[o]:o);else if(Y.test(o)){for(a=a||d.appendChild(e.createElement("div")),s=(V.exec(o)||["",""])[1].toLowerCase(),l=$[s]||$._default,a.innerHTML=l[1]+v.htmlPrefilter(o)+l[2],c=l[0];c--;)a=a.lastChild;v.merge(f,a.childNodes),a=d.firstChild,a.textContent=""}else f.push(e.createTextNode(o));for(d.textContent="",h=0;o=f[h++];)if(i&&v.inArray(o,i)>-1)r&&r.push(o);else if(u=v.contains(o.ownerDocument,o),a=getAll(d.appendChild(o),"script"),u&&setGlobalEval(a),n)for(c=0;o=a[c++];)X.test(o.type||"")&&n.push(o);return d}function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return s.activeElement}catch(t){}}function on(t,e,n,i,r,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(i=i||n,n=void 0);for(s in e)on(t,s,n,i,e[s],o);return t}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"==typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),!1===r)r=returnFalse;else if(!r)return t;return 1===o&&(a=r,r=function(t){return v().off(t),a.apply(this,arguments)},r.guid=a.guid||(a.guid=v.guid++)),t.each(function(){v.event.add(this,e,r,i,n)})}function manipulationTarget(t,e){return v.nodeName(t,"table")&&v.nodeName(11!==e.nodeType?e:e.firstChild,"tr")?t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody")):t}function disableScript(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function restoreScript(t){var e=tt.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function cloneCopyEvent(t,e){var n,i,r,o,a,s,l,u;if(1===e.nodeType){if(R.hasData(t)&&(o=R.access(t),a=R.set(e,o),u=o.events)){delete a.handle,a.events={};for(r in u)for(n=0,i=u[r].length;n<i;n++)v.event.add(e,r,u[r][n])}L.hasData(t)&&(s=L.access(t),l=v.extend({},s),L.set(e,l))}}function fixInput(t,e){var n=e.nodeName.toLowerCase();"input"===n&&B.test(t.type)?e.checked=t.checked:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}function domManip(t,e,n,i){e=u.apply([],e);var r,o,a,s,l,c,d=0,f=t.length,h=f-1,p=e[0],m=v.isFunction(p);if(m||f>1&&"string"==typeof p&&!g.checkClone&&Z.test(p))return t.each(function(r){var o=t.eq(r);m&&(e[0]=p.call(this,r,o.html())),domManip(o,e,n,i)});if(f&&(r=buildFragment(e,t[0].ownerDocument,!1,t,i),o=r.firstChild,1===r.childNodes.length&&(r=o),o||i)){for(a=v.map(getAll(r,"script"),disableScript),s=a.length;d<f;d++)l=r,d!==h&&(l=v.clone(l,!0,!0),s&&v.merge(a,getAll(l,"script"))),n.call(t[d],l,d);if(s)for(c=a[a.length-1].ownerDocument,v.map(a,restoreScript),d=0;d<s;d++)l=a[d],X.test(l.type||"")&&!R.access(l,"globalEval")&&v.contains(c,l)&&(l.src?v._evalUrl&&v._evalUrl(l.src):v.globalEval(l.textContent.replace(et,"")))}return t}function remove(t,e,n){for(var i,r=e?v.filter(e,t):t,o=0;null!=(i=r[o]);o++)n||1!==i.nodeType||v.cleanData(getAll(i)),i.parentNode&&(n&&v.contains(i.ownerDocument,i)&&setGlobalEval(getAll(i,"script")),i.parentNode.removeChild(i));return t}function actualDisplay(t,e){var n=v(e.createElement(t)).appendTo(e.body),i=v.css(n[0],"display");return n.detach(),i}function defaultDisplay(t){var e=s,n=it[t];return n||(n=actualDisplay(t,e),"none"!==n&&n||(nt=(nt||v("<iframe frameborder='0' width='0' height='0'/>")).appendTo(e.documentElement),e=nt[0].contentDocument,e.write(),e.close(),n=actualDisplay(t,e),nt.detach()),it[t]=n),n}function curCSS(t,e,n){var i,r,o,a,s=t.style;return n=n||at(t),a=n?n.getPropertyValue(e)||n[e]:void 0,""!==a&&void 0!==a||v.contains(t.ownerDocument,t)||(a=v.style(t,e)),n&&!g.pixelMarginRight()&&ot.test(a)&&rt.test(e)&&(i=s.width,r=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=i,s.minWidth=r,s.maxWidth=o),void 0!==a?a+"":a}function addGetHookIf(t,e){return{get:function(){return t()?void delete this.get:(this.get=e).apply(this,arguments)}}}function vendorPropName(t){if(t in ht)return t;for(var e=t[0].toUpperCase()+t.slice(1),n=ft.length;n--;)if((t=ft[n]+e)in ht)return t}function setPositiveNumber(t,e,n){var i=H.exec(e);return i?Math.max(0,i[2]-(n||0))+(i[3]||"px"):e}function augmentWidthOrHeight(t,e,n,i,r){for(var o=n===(i?"border":"content")?4:"width"===e?1:0,a=0;o<4;o+=2)"margin"===n&&(a+=v.css(t,n+j[o],!0,r)),i?("content"===n&&(a-=v.css(t,"padding"+j[o],!0,r)),"margin"!==n&&(a-=v.css(t,"border"+j[o]+"Width",!0,r))):(a+=v.css(t,"padding"+j[o],!0,r),"padding"!==n&&(a+=v.css(t,"border"+j[o]+"Width",!0,r)));return a}function getWidthOrHeight(t,e,n){var i=!0,r="width"===e?t.offsetWidth:t.offsetHeight,o=at(t),a="border-box"===v.css(t,"boxSizing",!1,o);if(r<=0||null==r){if(r=curCSS(t,e,o),(r<0||null==r)&&(r=t.style[e]),ot.test(r))return r;i=a&&(g.boxSizingReliable()||r===t.style[e]),r=parseFloat(r)||0}return r+augmentWidthOrHeight(t,e,n||(a?"border":"content"),i,o)+"px"}function showHide(t,e){for(var n,i,r,o=[],a=0,s=t.length;a<s;a++)i=t[a],i.style&&(o[a]=R.get(i,"olddisplay"),n=i.style.display,e?(o[a]||"none"!==n||(i.style.display=""),""===i.style.display&&W(i)&&(o[a]=R.access(i,"olddisplay",defaultDisplay(i.nodeName)))):(r=W(i),"none"===n&&r||R.set(i,"olddisplay",r?n:v.css(i,"display"))));for(a=0;a<s;a++)i=t[a],i.style&&(e&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=e?o[a]||"":"none"));return t}function Tween(t,e,n,i,r){return new Tween.prototype.init(t,e,n,i,r)}function createFxNow(){return n.setTimeout(function(){pt=void 0}),pt=v.now()}function genFx(t,e){var n,i=0,r={height:t};for(e=e?1:0;i<4;i+=2-e)n=j[i],r["margin"+n]=r["padding"+n]=t;return e&&(r.opacity=r.width=t),r}function createTween(t,e,n){for(var i,r=(Animation.tweeners[e]||[]).concat(Animation.tweeners["*"]),o=0,a=r.length;o<a;o++)if(i=r[o].call(n,e,t))return i}function defaultPrefilter(t,e,n){var i,r,o,a,s,l,u,c=this,d={},f=t.style,h=t.nodeType&&W(t),p=R.get(t,"fxshow");n.queue||(s=v._queueHooks(t,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,c.always(function(){c.always(function(){s.unqueued--,v.queue(t,"fx").length||s.empty.fire()})})),1===t.nodeType&&("height"in e||"width"in e)&&(n.overflow=[f.overflow,f.overflowX,f.overflowY],u=v.css(t,"display"),"inline"===("none"===u?R.get(t,"olddisplay")||defaultDisplay(t.nodeName):u)&&"none"===v.css(t,"float")&&(f.display="inline-block")),n.overflow&&(f.overflow="hidden",c.always(function(){f.overflow=n.overflow[0],f.overflowX=n.overflow[1],f.overflowY=n.overflow[2]}));for(i in e)if(r=e[i],vt.exec(r)){if(delete e[i],o=o||"toggle"===r,r===(h?"hide":"show")){if("show"!==r||!p||void 0===p[i])continue;h=!0}d[i]=p&&p[i]||v.style(t,i)}else u=void 0;if(v.isEmptyObject(d))"inline"===("none"===u?defaultDisplay(t.nodeName):u)&&(f.display=u);else{p?"hidden"in p&&(h=p.hidden):p=R.access(t,"fxshow",{}),o&&(p.hidden=!h),h?v(t).show():c.done(function(){v(t).hide()}),c.done(function(){var e;R.remove(t,"fxshow");for(e in d)v.style(t,e,d[e])});for(i in d)a=createTween(h?p[i]:0,i,c),i in p||(p[i]=a.start,h&&(a.end=a.start,a.start="width"===i||"height"===i?1:0))}}function propFilter(t,e){var n,i,r,o,a;for(n in t)if(i=v.camelCase(n),r=e[i],o=t[n],v.isArray(o)&&(r=o[1],o=t[n]=o[0]),n!==i&&(t[i]=o,delete t[n]),(a=v.cssHooks[i])&&"expand"in a){o=a.expand(o),delete t[i];for(n in o)n in t||(t[n]=o[n],e[n]=r)}else e[i]=r}function Animation(t,e,n){var i,r,o=0,a=Animation.prefilters.length,s=v.Deferred().always(function(){delete l.elem}),l=function(){if(r)return!1;for(var e=pt||createFxNow(),n=Math.max(0,u.startTime+u.duration-e),i=n/u.duration||0,o=1-i,a=0,l=u.tweens.length;a<l;a++)u.tweens[a].run(o);return s.notifyWith(t,[u,o,n]),o<1&&l?n:(s.resolveWith(t,[u]),!1)},u=s.promise({elem:t,props:v.extend({},e),opts:v.extend(!0,{specialEasing:{},easing:v.easing._default},n),originalProperties:e,originalOptions:n,startTime:pt||createFxNow(),duration:n.duration,tweens:[],createTween:function(e,n){var i=v.Tween(t,u.opts,e,n,u.opts.specialEasing[e]||u.opts.easing);return u.tweens.push(i),i},stop:function(e){var n=0,i=e?u.tweens.length:0;if(r)return this;for(r=!0;n<i;n++)u.tweens[n].run(1);return e?(s.notifyWith(t,[u,1,0]),s.resolveWith(t,[u,e])):s.rejectWith(t,[u,e]),this}}),c=u.props;for(propFilter(c,u.opts.specialEasing);o<a;o++)if(i=Animation.prefilters[o].call(u,t,c,u.opts))return v.isFunction(i.stop)&&(v._queueHooks(u.elem,u.opts.queue).stop=v.proxy(i.stop,i)),i;return v.map(c,createTween,u),v.isFunction(u.opts.start)&&u.opts.start.call(t,u),v.fx.timer(v.extend(l,{elem:t,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function getClass(t){return t.getAttribute&&t.getAttribute("class")||""}function addToPrefiltersOrTransports(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var i,r=0,o=e.toLowerCase().match(O)||[];if(v.isFunction(n))for(;i=o[r++];)"+"===i[0]?(i=i.slice(1)||"*",(t[i]=t[i]||[]).unshift(n)):(t[i]=t[i]||[]).push(n)}}function inspectPrefiltersOrTransports(t,e,n,i){function inspect(a){var s;return r[a]=!0,v.each(t[a]||[],function(t,a){var l=a(e,n,i);return"string"!=typeof l||o||r[l]?o?!(s=l):void 0:(e.dataTypes.unshift(l),inspect(l),!1)}),s}var r={},o=t===Lt;return inspect(e.dataTypes[0])||!r["*"]&&inspect("*")}function ajaxExtend(t,e){var n,i,r=v.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((r[n]?t:i||(i={}))[n]=e[n]);return i&&v.extend(!0,t,i),t}function ajaxHandleResponses(t,e,n){for(var i,r,o,a,s=t.contents,l=t.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=t.mimeType||e.getResponseHeader("Content-Type"));if(i)for(r in s)if(s[r]&&s[r].test(i)){l.unshift(r);break}if(l[0]in n)o=l[0];else{for(r in n){if(!l[0]||t.converters[r+" "+l[0]]){o=r;break}a||(a=r)}o=o||a}if(o)return o!==l[0]&&l.unshift(o),n[o]}function ajaxConvert(t,e,n,i){var r,o,a,s,l,u={},c=t.dataTypes.slice();if(c[1])for(a in t.converters)u[a.toLowerCase()]=t.converters[a];for(o=c.shift();o;)if(t.responseFields[o]&&(n[t.responseFields[o]]=e),!l&&i&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(a=u[l+" "+o]||u["* "+o]))for(r in u)if(s=r.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){!0===a?a=u[r]:!0!==u[r]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&t.throws)e=a(e);else try{e=a(e)}catch(t){return{state:"parsererror",error:a?t:"No conversion from "+l+" to "+o}}}return{state:"success",data:e}}function buildParams(t,e,n,i){var r;if(v.isArray(e))v.each(e,function(e,r){n||Ht.test(t)?i(t,r):buildParams(t+"["+("object"==typeof r&&null!=r?e:"")+"]",r,n,i)});else if(n||"object"!==v.type(e))i(t,e);else for(r in e)buildParams(t+"["+r+"]",e[r],n,i)}function getWindow(t){return v.isWindow(t)?t:9===t.nodeType&&t.defaultView}var a=[],s=n.document,l=a.slice,u=a.concat,c=a.push,d=a.indexOf,f={},h=f.toString,p=f.hasOwnProperty,g={},v=function(t,e){return new v.fn.init(t,e)},m=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,y=/^-ms-/,b=/-([\da-z])/gi,w=function(t,e){return e.toUpperCase()};v.fn=v.prototype={jquery:"2.2.4",constructor:v,selector:"",length:0,toArray:function(){return l.call(this)},get:function(t){return null!=t?t<0?this[t+this.length]:this[t]:l.call(this)},pushStack:function(t){var e=v.merge(this.constructor(),t);return e.prevObject=this,e.context=this.context,e},each:function(t){return v.each(this,t)},map:function(t){return this.pushStack(v.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack(l.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n<e?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:c,sort:a.sort,splice:a.splice},v.extend=v.fn.extend=function(){var t,e,n,i,r,o,a=arguments[0]||{},s=1,l=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[s]||{},s++),"object"==typeof a||v.isFunction(a)||(a={}),s===l&&(a=this,s--);s<l;s++)if(null!=(t=arguments[s]))for(e in t)n=a[e],i=t[e],a!==i&&(u&&i&&(v.isPlainObject(i)||(r=v.isArray(i)))?(r?(r=!1,o=n&&v.isArray(n)?n:[]):o=n&&v.isPlainObject(n)?n:{},a[e]=v.extend(u,o,i)):void 0!==i&&(a[e]=i));return a},v.extend({expando:"jQuery"+("2.2.4"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isFunction:function(t){return"function"===v.type(t)},isArray:Array.isArray,isWindow:function(t){return null!=t&&t===t.window},isNumeric:function(t){var e=t&&t.toString();return!v.isArray(t)&&e-parseFloat(e)+1>=0},isPlainObject:function(t){var e;if("object"!==v.type(t)||t.nodeType||v.isWindow(t))return!1;if(t.constructor&&!p.call(t,"constructor")&&!p.call(t.constructor.prototype||{},"isPrototypeOf"))return!1;for(e in t);return void 0===e||p.call(t,e)},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},type:function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?f[h.call(t)]||"object":typeof t},globalEval:function(t){var e,n=eval;(t=v.trim(t))&&(1===t.indexOf("use strict")?(e=s.createElement("script"),e.text=t,s.head.appendChild(e).parentNode.removeChild(e)):n(t))},camelCase:function(t){return t.replace(y,"ms-").replace(b,w)},nodeName:function(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()},each:function(t,e){var n,i=0;if(isArrayLike(t))for(n=t.length;i<n&&!1!==e.call(t[i],i,t[i]);i++);else for(i in t)if(!1===e.call(t[i],i,t[i]))break;return t},trim:function(t){return null==t?"":(t+"").replace(m,"")},makeArray:function(t,e){var n=e||[];return null!=t&&(isArrayLike(Object(t))?v.merge(n,"string"==typeof t?[t]:t):c.call(n,t)),n},inArray:function(t,e,n){return null==e?-1:d.call(e,t,n)},merge:function(t,e){for(var n=+e.length,i=0,r=t.length;i<n;i++)t[r++]=e[i];return t.length=r,t},grep:function(t,e,n){for(var i=[],r=0,o=t.length,a=!n;r<o;r++)!e(t[r],r)!==a&&i.push(t[r]);return i},map:function(t,e,n){var i,r,o=0,a=[];if(isArrayLike(t))for(i=t.length;o<i;o++)null!=(r=e(t[o],o,n))&&a.push(r);else for(o in t)null!=(r=e(t[o],o,n))&&a.push(r);return u.apply([],a)},guid:1,proxy:function(t,e){var n,i,r;if("string"==typeof e&&(n=t[e],e=t,t=n),v.isFunction(t))return i=l.call(arguments,2),r=function(){return t.apply(e||this,i.concat(l.call(arguments)))},r.guid=t.guid=t.guid||v.guid++,r},now:Date.now,support:g}),"function"==typeof Symbol&&(v.fn[Symbol.iterator]=a[Symbol.iterator]),v.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){f["[object "+e+"]"]=e.toLowerCase()});var x=function(t){function Sizzle(t,e,i,r){var o,s,u,c,d,p,m,y,T=e&&e.ownerDocument,C=e?e.nodeType:9;if(i=i||[],"string"!=typeof t||!t||1!==C&&9!==C&&11!==C)return i;if(!r&&((e?e.ownerDocument||e:x)!==h&&f(e),e=e||h,g)){if(11!==C&&(p=J.exec(t)))if(o=p[1]){if(9===C){if(!(u=e.getElementById(o)))return i;if(u.id===o)return i.push(u),i}else if(T&&(u=T.getElementById(o))&&b(e,u)&&u.id===o)return i.push(u),i}else{if(p[2])return M.apply(i,e.getElementsByTagName(t)),i;if((o=p[3])&&n.getElementsByClassName&&e.getElementsByClassName)return M.apply(i,e.getElementsByClassName(o)),i}if(n.qsa&&!S[t+" "]&&(!v||!v.test(t))){if(1!==C)T=e,y=t;else if("object"!==e.nodeName.toLowerCase()){for((c=e.getAttribute("id"))?c=c.replace(tt,"\\$&"):e.setAttribute("id",c=w),m=a(t),s=m.length,d=Y.test(c)?"#"+c:"[id='"+c+"']";s--;)m[s]=d+" "+toSelector(m[s]);y=m.join(","),T=Z.test(t)&&testContext(e.parentNode)||e}if(y)try{return M.apply(i,T.querySelectorAll(y)),i}catch(t){}finally{c===w&&e.removeAttribute("id")}}}return l(t.replace(W,"$1"),e,i,r)}function createCache(){function cache(e,n){return t.push(e+" ")>i.cacheLength&&delete cache[t.shift()],cache[e+" "]=n}var t=[];return cache}function markFunction(t){return t[w]=!0,t}function assert(t){var e=h.createElement("div");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function addHandle(t,e){for(var n=t.split("|"),r=n.length;r--;)i.attrHandle[n[r]]=e}function siblingCheck(t,e){var n=e&&t,i=n&&1===t.nodeType&&1===e.nodeType&&(~e.sourceIndex||A)-(~t.sourceIndex||A);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function createPositionalPseudo(t){return markFunction(function(e){return e=+e,markFunction(function(n,i){for(var r,o=t([],n.length,e),a=o.length;a--;)n[r=o[a]]&&(n[r]=!(i[r]=n[r]))})})}function testContext(t){return t&&void 0!==t.getElementsByTagName&&t}function setFilters(){}function toSelector(t){for(var e=0,n=t.length,i="";e<n;e++)i+=t[e].value;return i}function addCombinator(t,e,n){var i=e.dir,r=n&&"parentNode"===i,o=C++;return e.first?function(e,n,o){for(;e=e[i];)if(1===e.nodeType||r)return t(e,n,o)}:function(e,n,a){var s,l,u,c=[T,o];if(a){for(;e=e[i];)if((1===e.nodeType||r)&&t(e,n,a))return!0}else for(;e=e[i];)if(1===e.nodeType||r){if(u=e[w]||(e[w]={}),l=u[e.uniqueID]||(u[e.uniqueID]={}),(s=l[i])&&s[0]===T&&s[1]===o)return c[2]=s[2];if(l[i]=c,c[2]=t(e,n,a))return!0}}}function elementMatcher(t){return t.length>1?function(e,n,i){for(var r=t.length;r--;)if(!t[r](e,n,i))return!1;return!0}:t[0]}function multipleContexts(t,e,n){for(var i=0,r=e.length;i<r;i++)Sizzle(t,e[i],n);return n}function condense(t,e,n,i,r){for(var o,a=[],s=0,l=t.length,u=null!=e;s<l;s++)(o=t[s])&&(n&&!n(o,i,r)||(a.push(o),u&&e.push(s)));return a}function setMatcher(t,e,n,i,r,o){return i&&!i[w]&&(i=setMatcher(i)),r&&!r[w]&&(r=setMatcher(r,o)),markFunction(function(o,a,s,l){var u,c,d,f=[],h=[],p=a.length,g=o||multipleContexts(e||"*",s.nodeType?[s]:s,[]),v=!t||!o&&e?g:condense(g,f,t,s,l),m=n?r||(o?t:p||i)?[]:a:v;if(n&&n(v,m,s,l),i)for(u=condense(m,h),i(u,[],s,l),c=u.length;c--;)(d=u[c])&&(m[h[c]]=!(v[h[c]]=d));if(o){if(r||t){if(r){for(u=[],c=m.length;c--;)(d=m[c])&&u.push(v[c]=d);r(null,m=[],u,l)}for(c=m.length;c--;)(d=m[c])&&(u=r?R(o,d):f[c])>-1&&(o[u]=!(a[u]=d))}}else m=condense(m===a?m.splice(p,m.length):m),r?r(null,a,m,l):M.apply(a,m)})}function matcherFromTokens(t){for(var e,n,r,o=t.length,a=i.relative[t[0].type],s=a||i.relative[" "],l=a?1:0,c=addCombinator(function(t){return t===e},s,!0),d=addCombinator(function(t){return R(e,t)>-1},s,!0),f=[function(t,n,i){var r=!a&&(i||n!==u)||((e=n).nodeType?c(t,n,i):d(t,n,i));return e=null,r}];l<o;l++)if(n=i.relative[t[l].type])f=[addCombinator(elementMatcher(f),n)];else{if(n=i.filter[t[l].type].apply(null,t[l].matches),n[w]){for(r=++l;r<o&&!i.relative[t[r].type];r++);return setMatcher(l>1&&elementMatcher(f),l>1&&toSelector(t.slice(0,l-1).concat({value:" "===t[l-2].type?"*":""})).replace(W,"$1"),n,l<r&&matcherFromTokens(t.slice(l,r)),r<o&&matcherFromTokens(t=t.slice(r)),r<o&&toSelector(t))}f.push(n)}return elementMatcher(f)}function matcherFromGroupMatchers(t,e){var n=e.length>0,r=t.length>0,o=function(o,a,s,l,c){var d,p,v,m=0,y="0",b=o&&[],w=[],x=u,C=o||r&&i.find.TAG("*",c),k=T+=null==x?1:Math.random()||.1,E=C.length;for(c&&(u=a===h||a||c);y!==E&&null!=(d=C[y]);y++){if(r&&d){for(p=0,a||d.ownerDocument===h||(f(d),s=!g);v=t[p++];)if(v(d,a||h,s)){l.push(d);break}c&&(T=k)}n&&((d=!v&&d)&&m--,o&&b.push(d))}if(m+=y,n&&y!==m){for(p=0;v=e[p++];)v(b,w,a,s);if(o){if(m>0)for(;y--;)b[y]||w[y]||(w[y]=O.call(l));w=condense(w)}M.apply(l,w),c&&!o&&w.length>0&&m+e.length>1&&Sizzle.uniqueSort(l)}return c&&(T=k,u=x),b};return n?markFunction(o):o}var e,n,i,r,o,a,s,l,u,c,d,f,h,p,g,v,m,y,b,w="sizzle"+1*new Date,x=t.document,T=0,C=0,k=createCache(),E=createCache(),S=createCache(),_=function(t,e){return t===e&&(d=!0),0},A=1<<31,P={}.hasOwnProperty,D=[],O=D.pop,N=D.push,M=D.push,I=D.slice,R=function(t,e){for(var n=0,i=t.length;n<i;n++)if(t[n]===e)return n;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",z="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",q="\\["+z+"*("+F+")(?:"+z+"*([*^$|!~]?=)"+z+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+F+"))|)"+z+"*\\]",H=":("+F+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+q+")*)|.*)\\)|)",j=new RegExp(z+"+","g"),W=new RegExp("^"+z+"+|((?:^|[^\\\\])(?:\\\\.)*)"+z+"+$","g"),B=new RegExp("^"+z+"*,"+z+"*"),V=new RegExp("^"+z+"*([>+~]|"+z+")"+z+"*"),X=new RegExp("="+z+"*([^\\]'\"]*?)"+z+"*\\]","g"),$=new RegExp(H),Y=new RegExp("^"+F+"$"),U={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),TAG:new RegExp("^("+F+"|[*])"),ATTR:new RegExp("^"+q),PSEUDO:new RegExp("^"+H),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+z+"*(even|odd|(([+-]|)(\\d*)n|)"+z+"*(?:([+-]|)"+z+"*(\\d+)|))"+z+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+z+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+z+"*((?:-\\d)?\\d*)"+z+"*\\)|)(?=[^-]|$)","i")},Q=/^(?:input|select|textarea|button)$/i,G=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/[+~]/,tt=/'|\\/g,et=new RegExp("\\\\([\\da-f]{1,6}"+z+"?|("+z+")|.)","ig"),nt=function(t,e,n){var i="0x"+e-65536;return i!==i||n?e:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},it=function(){f()};try{M.apply(D=I.call(x.childNodes),x.childNodes),D[x.childNodes.length].nodeType}catch(t){M={apply:D.length?function(t,e){N.apply(t,I.call(e))}:function(t,e){for(var n=t.length,i=0;t[n++]=e[i++];);t.length=n-1}}}n=Sizzle.support={},o=Sizzle.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},f=Sizzle.setDocument=function(t){var e,r,a=t?t.ownerDocument||t:x;return a!==h&&9===a.nodeType&&a.documentElement?(h=a,p=h.documentElement,g=!o(h),(r=h.defaultView)&&r.top!==r&&(r.addEventListener?r.addEventListener("unload",it,!1):r.attachEvent&&r.attachEvent("onunload",it)),n.attributes=assert(function(t){return t.className="i",!t.getAttribute("className")}),n.getElementsByTagName=assert(function(t){return t.appendChild(h.createComment("")),!t.getElementsByTagName("*").length}),n.getElementsByClassName=K.test(h.getElementsByClassName),n.getById=assert(function(t){return p.appendChild(t).id=w,!h.getElementsByName||!h.getElementsByName(w).length}),n.getById?(i.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n=e.getElementById(t);return n?[n]:[]}},i.filter.ID=function(t){var e=t.replace(et,nt);return function(t){return t.getAttribute("id")===e}}):(delete i.find.ID,i.filter.ID=function(t){var e=t.replace(et,nt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}}),i.find.TAG=n.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):n.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,i=[],r=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[r++];)1===n.nodeType&&i.push(n);return i}return o},i.find.CLASS=n.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&g)return e.getElementsByClassName(t)},m=[],v=[],(n.qsa=K.test(h.querySelectorAll))&&(assert(function(t){p.appendChild(t).innerHTML="<a id='"+w+"'></a><select id='"+w+"-\r\\' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+z+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||v.push("\\["+z+"*(?:value|"+L+")"),t.querySelectorAll("[id~="+w+"-]").length||v.push("~="),t.querySelectorAll(":checked").length||v.push(":checked"),t.querySelectorAll("a#"+w+"+*").length||v.push(".#.+[+~]")}),assert(function(t){var e=h.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&v.push("name"+z+"*[*^$|!~]?="),t.querySelectorAll(":enabled").length||v.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=K.test(y=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&assert(function(t){n.disconnectedMatch=y.call(t,"div"),y.call(t,"[s!='']:x"),m.push("!=",H)}),v=v.length&&new RegExp(v.join("|")),m=m.length&&new RegExp(m.join("|")),e=K.test(p.compareDocumentPosition),b=e||K.test(p.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,i=e&&e.parentNode;return t===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):t.compareDocumentPosition&&16&t.compareDocumentPosition(i)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},_=e?function(t,e){if(t===e)return d=!0,0;var i=!t.compareDocumentPosition-!e.compareDocumentPosition;return i||(i=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1,1&i||!n.sortDetached&&e.compareDocumentPosition(t)===i?t===h||t.ownerDocument===x&&b(x,t)?-1:e===h||e.ownerDocument===x&&b(x,e)?1:c?R(c,t)-R(c,e):0:4&i?-1:1)}:function(t,e){if(t===e)return d=!0,0;var n,i=0,r=t.parentNode,o=e.parentNode,a=[t],s=[e];if(!r||!o)return t===h?-1:e===h?1:r?-1:o?1:c?R(c,t)-R(c,e):0;if(r===o)return siblingCheck(t,e);for(n=t;n=n.parentNode;)a.unshift(n);for(n=e;n=n.parentNode;)s.unshift(n);for(;a[i]===s[i];)i++;return i?siblingCheck(a[i],s[i]):a[i]===x?-1:s[i]===x?1:0},h):h},Sizzle.matches=function(t,e){return Sizzle(t,null,null,e)},Sizzle.matchesSelector=function(t,e){if((t.ownerDocument||t)!==h&&f(t),e=e.replace(X,"='$1']"),n.matchesSelector&&g&&!S[e+" "]&&(!m||!m.test(e))&&(!v||!v.test(e)))try{var i=y.call(t,e);if(i||n.disconnectedMatch||t.document&&11!==t.document.nodeType)return i}catch(t){}return Sizzle(e,h,null,[t]).length>0},Sizzle.contains=function(t,e){return(t.ownerDocument||t)!==h&&f(t),b(t,e)},Sizzle.attr=function(t,e){(t.ownerDocument||t)!==h&&f(t);var r=i.attrHandle[e.toLowerCase()],o=r&&P.call(i.attrHandle,e.toLowerCase())?r(t,e,!g):void 0;return void 0!==o?o:n.attributes||!g?t.getAttribute(e):(o=t.getAttributeNode(e))&&o.specified?o.value:null},Sizzle.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},Sizzle.uniqueSort=function(t){var e,i=[],r=0,o=0;if(d=!n.detectDuplicates,c=!n.sortStable&&t.slice(0),t.sort(_),d){for(;e=t[o++];)e===t[o]&&(r=i.push(o));for(;r--;)t.splice(i[r],1)}return c=null,t},r=Sizzle.getText=function(t){var e,n="",i=0,o=t.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=r(t)}else if(3===o||4===o)return t.nodeValue}else for(;e=t[i++];)n+=r(e);return n},i=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:U,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(et,nt),t[3]=(t[3]||t[4]||t[5]||"").replace(et,nt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||Sizzle.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&Sizzle.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return U.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&$.test(n)&&(e=a(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(et,nt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=k[t+" "];return e||(e=new RegExp("(^|"+z+")"+t+"("+z+"|$)"))&&k(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,e,n){return function(i){var r=Sizzle.attr(i,t);return null==r?"!="===e:!e||(r+="","="===e?r===n:"!="===e?r!==n:"^="===e?n&&0===r.indexOf(n):"*="===e?n&&r.indexOf(n)>-1:"$="===e?n&&r.slice(-n.length)===n:"~="===e?(" "+r.replace(j," ")+" ").indexOf(n)>-1:"|="===e&&(r===n||r.slice(0,n.length+1)===n+"-"))}},CHILD:function(t,e,n,i,r){var o="nth"!==t.slice(0,3),a="last"!==t.slice(-4),s="of-type"===e;return 1===i&&0===r?function(t){return!!t.parentNode}:function(e,n,l){var u,c,d,f,h,p,g=o!==a?"nextSibling":"previousSibling",v=e.parentNode,m=s&&e.nodeName.toLowerCase(),y=!l&&!s,b=!1;if(v){if(o){for(;g;){for(f=e;f=f[g];)if(s?f.nodeName.toLowerCase()===m:1===f.nodeType)return!1;p=g="only"===t&&!p&&"nextSibling"}return!0}if(p=[a?v.firstChild:v.lastChild],a&&y){for(f=v,d=f[w]||(f[w]={}),c=d[f.uniqueID]||(d[f.uniqueID]={}),u=c[t]||[],h=u[0]===T&&u[1],b=h&&u[2],f=h&&v.childNodes[h];f=++h&&f&&f[g]||(b=h=0)||p.pop();)if(1===f.nodeType&&++b&&f===e){c[t]=[T,h,b];break}}else if(y&&(f=e,d=f[w]||(f[w]={}),c=d[f.uniqueID]||(d[f.uniqueID]={}),u=c[t]||[],h=u[0]===T&&u[1],b=h),!1===b)for(;(f=++h&&f&&f[g]||(b=h=0)||p.pop())&&((s?f.nodeName.toLowerCase()!==m:1!==f.nodeType)||!++b||(y&&(d=f[w]||(f[w]={}),c=d[f.uniqueID]||(d[f.uniqueID]={}),c[t]=[T,b]),f!==e)););return(b-=r)===i||b%i==0&&b/i>=0}}},PSEUDO:function(t,e){var n,r=i.pseudos[t]||i.setFilters[t.toLowerCase()]||Sizzle.error("unsupported pseudo: "+t);return r[w]?r(e):r.length>1?(n=[t,t,"",e],i.setFilters.hasOwnProperty(t.toLowerCase())?markFunction(function(t,n){for(var i,o=r(t,e),a=o.length;a--;)i=R(t,o[a]),t[i]=!(n[i]=o[a])}):function(t){return r(t,0,n)}):r}},pseudos:{not:markFunction(function(t){var e=[],n=[],i=s(t.replace(W,"$1"));return i[w]?markFunction(function(t,e,n,r){for(var o,a=i(t,null,r,[]),s=t.length;s--;)(o=a[s])&&(t[s]=!(e[s]=o))}):function(t,r,o){return e[0]=t,i(e,null,o,n),e[0]=null,!n.pop()}}),has:markFunction(function(t){return function(e){return Sizzle(t,e).length>0}}),contains:markFunction(function(t){return t=t.replace(et,nt),function(e){return(e.textContent||e.innerText||r(e)).indexOf(t)>-1}}),lang:markFunction(function(t){return Y.test(t||"")||Sizzle.error("unsupported lang: "+t),t=t.replace(et,nt).toLowerCase(),function(e){var n;do{if(n=g?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===p},focus:function(t){return t===h.activeElement&&(!h.hasFocus||h.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:function(t){return!1===t.disabled},disabled:function(t){return!0===t.disabled},checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!i.pseudos.empty(t)},header:function(t){return G.test(t.nodeName)},input:function(t){return Q.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(t,e){return[e-1]}),eq:createPositionalPseudo(function(t,e,n){return[n<0?n+e:n]}),even:createPositionalPseudo(function(t,e){for(var n=0;n<e;n+=2)t.push(n);return t}),odd:createPositionalPseudo(function(t,e){for(var n=1;n<e;n+=2)t.push(n);return t}),lt:createPositionalPseudo(function(t,e,n){for(var i=n<0?n+e:n;--i>=0;)t.push(i);return t}),gt:createPositionalPseudo(function(t,e,n){for(var i=n<0?n+e:n;++i<e;)t.push(i);return t})}},i.pseudos.nth=i.pseudos.eq;for(e in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[e]=function(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}(e);for(e in{submit:!0,reset:!0})i.pseudos[e]=function(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}(e);return setFilters.prototype=i.filters=i.pseudos,i.setFilters=new setFilters,a=Sizzle.tokenize=function(t,e){var n,r,o,a,s,l,u,c=E[t+" "];if(c)return e?0:c.slice(0);for(s=t,l=[],u=i.preFilter;s;){n&&!(r=B.exec(s))||(r&&(s=s.slice(r[0].length)||s),l.push(o=[])),n=!1,(r=V.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return e?s.length:s?Sizzle.error(t):E(t,l).slice(0)},s=Sizzle.compile=function(t,e){var n,i=[],r=[],o=S[t+" "];if(!o){for(e||(e=a(t)),n=e.length;n--;)o=matcherFromTokens(e[n]),o[w]?i.push(o):r.push(o);o=S(t,matcherFromGroupMatchers(r,i)),o.selector=t}return o},l=Sizzle.select=function(t,e,r,o){var l,u,c,d,f,h="function"==typeof t&&t,p=!o&&a(t=h.selector||t);if(r=r||[],1===p.length){if(u=p[0]=p[0].slice(0),u.length>2&&"ID"===(c=u[0]).type&&n.getById&&9===e.nodeType&&g&&i.relative[u[1].type]){if(!(e=(i.find.ID(c.matches[0].replace(et,nt),e)||[])[0]))return r;h&&(e=e.parentNode),t=t.slice(u.shift().value.length)}for(l=U.needsContext.test(t)?0:u.length;l--&&(c=u[l],!i.relative[d=c.type]);)if((f=i.find[d])&&(o=f(c.matches[0].replace(et,nt),Z.test(u[0].type)&&testContext(e.parentNode)||e))){if(u.splice(l,1),!(t=o.length&&toSelector(u)))return M.apply(r,o),r;break}}return(h||s(t,p))(o,e,!g,r,!e||Z.test(t)&&testContext(e.parentNode)||e),r},n.sortStable=w.split("").sort(_).join("")===w,n.detectDuplicates=!!d,f(),n.sortDetached=assert(function(t){return 1&t.compareDocumentPosition(h.createElement("div"))}),assert(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||addHandle("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),n.attributes&&assert(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||addHandle("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),assert(function(t){return null==t.getAttribute("disabled")})||addHandle(L,function(t,e,n){var i;if(!n)return!0===t[e]?e.toLowerCase():(i=t.getAttributeNode(e))&&i.specified?i.value:null}),Sizzle}(n);v.find=x,v.expr=x.selectors,v.expr[":"]=v.expr.pseudos,v.uniqueSort=v.unique=x.uniqueSort,v.text=x.getText,v.isXMLDoc=x.isXML,v.contains=x.contains;var T=function(t,e,n){for(var i=[],r=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(r&&v(t).is(n))break;i.push(t)}return i},C=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},k=v.expr.match.needsContext,E=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,S=/^.[^:#\[\.,]*$/;v.filter=function(t,e,n){var i=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===i.nodeType?v.find.matchesSelector(i,t)?[i]:[]:v.find.matches(t,v.grep(e,function(t){return 1===t.nodeType}))},v.fn.extend({find:function(t){var e,n=this.length,i=[],r=this;if("string"!=typeof t)return this.pushStack(v(t).filter(function(){for(e=0;e<n;e++)if(v.contains(r[e],this))return!0}));for(e=0;e<n;e++)v.find(t,r[e],i);return i=this.pushStack(n>1?v.unique(i):i),i.selector=this.selector?this.selector+" "+t:t,i},filter:function(t){return this.pushStack(winnow(this,t||[],!1))},not:function(t){return this.pushStack(winnow(this,t||[],!0))},is:function(t){return!!winnow(this,"string"==typeof t&&k.test(t)?v(t):t||[],!1).length}});var _,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(v.fn.init=function(t,e,n){var i,r;if(!t)return this;if(n=n||_,"string"==typeof t){if(!(i="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:A.exec(t))||!i[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(i[1]){if(e=e instanceof v?e[0]:e,v.merge(this,v.parseHTML(i[1],e&&e.nodeType?e.ownerDocument||e:s,!0)),E.test(i[1])&&v.isPlainObject(e))for(i in e)v.isFunction(this[i])?this[i](e[i]):this.attr(i,e[i]);return this}return r=s.getElementById(i[2]),r&&r.parentNode&&(this.length=1,this[0]=r),this.context=s,this.selector=t,this}return t.nodeType?(this.context=this[0]=t,this.length=1,this):v.isFunction(t)?void 0!==n.ready?n.ready(t):t(v):(void 0!==t.selector&&(this.selector=t.selector,this.context=t.context),v.makeArray(t,this))}).prototype=v.fn,_=v(s);var P=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({has:function(t){var e=v(t,this),n=e.length;return this.filter(function(){for(var t=0;t<n;t++)if(v.contains(this,e[t]))return!0})},closest:function(t,e){for(var n,i=0,r=this.length,o=[],a=k.test(t)||"string"!=typeof t?v(t,e||this.context):0;i<r;i++)for(n=this[i];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&v.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?v.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?d.call(v(t),this[0]):d.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(v.uniqueSort(v.merge(this.get(),v(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),v.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return T(t,"parentNode")},parentsUntil:function(t,e,n){return T(t,"parentNode",n)},next:function(t){return sibling(t,"nextSibling")},prev:function(t){return sibling(t,"previousSibling")},nextAll:function(t){return T(t,"nextSibling")},prevAll:function(t){return T(t,"previousSibling")},nextUntil:function(t,e,n){return T(t,"nextSibling",n)},prevUntil:function(t,e,n){return T(t,"previousSibling",n)},siblings:function(t){return C((t.parentNode||{}).firstChild,t)},children:function(t){return C(t.firstChild)},contents:function(t){return t.contentDocument||v.merge([],t.childNodes)}},function(t,e){v.fn[t]=function(n,i){var r=v.map(this,e,n);return"Until"!==t.slice(-5)&&(i=n),i&&"string"==typeof i&&(r=v.filter(i,r)),this.length>1&&(D[t]||v.uniqueSort(r),P.test(t)&&r.reverse()),this.pushStack(r)}});var O=/\S+/g;v.Callbacks=function(t){t="string"==typeof t?createOptions(t):v.extend({},t);var e,n,i,r,o=[],a=[],s=-1,l=function(){for(r=t.once,i=e=!0;a.length;s=-1)for(n=a.shift();++s<o.length;)!1===o[s].apply(n[0],n[1])&&t.stopOnFalse&&(s=o.length,n=!1);t.memory||(n=!1),e=!1,r&&(o=n?[]:"")},u={add:function(){return o&&(n&&!e&&(s=o.length-1,a.push(n)),function add(e){v.each(e,function(e,n){v.isFunction(n)?t.unique&&u.has(n)||o.push(n):n&&n.length&&"string"!==v.type(n)&&add(n)})}(arguments),n&&!e&&l()),this},remove:function(){return v.each(arguments,function(t,e){for(var n;(n=v.inArray(e,o,n))>-1;)o.splice(n,1),n<=s&&s--}),this},has:function(t){return t?v.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return r=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return r=a=[],n||(o=n=""),this},locked:function(){return!!r},fireWith:function(t,n){return r||(n=n||[],n=[t,n.slice?n.slice():n],a.push(n),e||l()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!i}};return u},v.extend({Deferred:function(t){var e=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return r.done(arguments).fail(arguments),this},then:function(){var t=arguments;return v.Deferred(function(n){v.each(e,function(e,o){var a=v.isFunction(t[e])&&t[e];r[o[1]](function(){var t=a&&a.apply(this,arguments);t&&v.isFunction(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+"With"](this===i?n.promise():this,a?[t]:arguments)})}),t=null}).promise()},promise:function(t){return null!=t?v.extend(t,i):i}},r={};return i.pipe=i.then,v.each(e,function(t,o){var a=o[2],s=o[3];i[o[1]]=a.add,s&&a.add(function(){n=s},e[1^t][2].disable,e[2][2].lock),r[o[0]]=function(){return r[o[0]+"With"](this===r?i:this,arguments),this},r[o[0]+"With"]=a.fireWith}),i.promise(r),t&&t.call(r,r),r},when:function(t){var e,n,i,r=0,o=l.call(arguments),a=o.length,s=1!==a||t&&v.isFunction(t.promise)?a:0,u=1===s?t:v.Deferred(),c=function(t,n,i){return function(r){n[t]=this,i[t]=arguments.length>1?l.call(arguments):r,i===e?u.notifyWith(n,i):--s||u.resolveWith(n,i)}};if(a>1)for(e=new Array(a),n=new Array(a),i=new Array(a);r<a;r++)o[r]&&v.isFunction(o[r].promise)?o[r].promise().progress(c(r,n,e)).done(c(r,i,o)).fail(u.reject):--s;return s||u.resolveWith(i,o),u.promise()}});var N;v.fn.ready=function(t){return v.ready.promise().done(t),this},v.extend({isReady:!1,readyWait:1,holdReady:function(t){t?v.readyWait++:v.ready(!0)},ready:function(t){(!0===t?--v.readyWait:v.isReady)||(v.isReady=!0,!0!==t&&--v.readyWait>0||(N.resolveWith(s,[v]),v.fn.triggerHandler&&(v(s).triggerHandler("ready"),v(s).off("ready"))))}}),v.ready.promise=function(t){return N||(N=v.Deferred(),"complete"===s.readyState||"loading"!==s.readyState&&!s.documentElement.doScroll?n.setTimeout(v.ready):(s.addEventListener("DOMContentLoaded",completed),n.addEventListener("load",completed))),N.promise(t)},v.ready.promise();var M=function(t,e,n,i,r,o,a){var s=0,l=t.length,u=null==n;if("object"===v.type(n)){r=!0;for(s in n)M(t,e,s,n[s],!0,o,a)}else if(void 0!==i&&(r=!0,v.isFunction(i)||(a=!0),u&&(a?(e.call(t,i),e=null):(u=e,e=function(t,e,n){return u.call(v(t),n)})),e))for(;s<l;s++)e(t[s],n,a?i:i.call(t[s],s,e(t[s],n)));return r?t:u?e.call(t):l?e(t[0],n):o},I=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};Data.uid=1,Data.prototype={register:function(t,e){var n=e||{};return t.nodeType?t[this.expando]=n:Object.defineProperty(t,this.expando,{value:n,writable:!0,configurable:!0}),t[this.expando]},cache:function(t){if(!I(t))return{};var e=t[this.expando];return e||(e={},I(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,n){var i,r=this.cache(t);if("string"==typeof e)r[e]=n;else for(i in e)r[i]=e[i];return r},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][e]},access:function(t,e,n){var i;return void 0===e||e&&"string"==typeof e&&void 0===n?(i=this.get(t,e),void 0!==i?i:this.get(t,v.camelCase(e))):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,i,r,o=t[this.expando];if(void 0!==o){if(void 0===e)this.register(t);else{v.isArray(e)?i=e.concat(e.map(v.camelCase)):(r=v.camelCase(e),e in o?i=[e,r]:(i=r,i=i in o?[i]:i.match(O)||[])),n=i.length;for(;n--;)delete o[i[n]]}(void 0===e||v.isEmptyObject(o))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!v.isEmptyObject(e)}};var R=new Data,L=new Data,z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,F=/[A-Z]/g;v.extend({hasData:function(t){return L.hasData(t)||R.hasData(t)},data:function(t,e,n){return L.access(t,e,n)},removeData:function(t,e){L.remove(t,e)},_data:function(t,e,n){return R.access(t,e,n)},_removeData:function(t,e){R.remove(t,e)}}),v.fn.extend({data:function(t,e){var n,i,r,o=this[0],a=o&&o.attributes;if(void 0===t){if(this.length&&(r=L.get(o),1===o.nodeType&&!R.get(o,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&(i=a[n].name,0===i.indexOf("data-")&&(i=v.camelCase(i.slice(5)),dataAttr(o,i,r[i])));R.set(o,"hasDataAttrs",!0)}return r}return"object"==typeof t?this.each(function(){L.set(this,t)}):M(this,function(e){var n,i;if(o&&void 0===e){if(void 0!==(n=L.get(o,t)||L.get(o,t.replace(F,"-$&").toLowerCase())))return n;if(i=v.camelCase(t),void 0!==(n=L.get(o,i)))return n;if(void 0!==(n=dataAttr(o,i,void 0)))return n}else i=v.camelCase(t),this.each(function(){var n=L.get(this,i);L.set(this,i,e),t.indexOf("-")>-1&&void 0!==n&&L.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){L.remove(this,t)})}}),v.extend({queue:function(t,e,n){var i;if(t)return e=(e||"fx")+"queue",i=R.get(t,e),n&&(!i||v.isArray(n)?i=R.access(t,e,v.makeArray(n)):i.push(n)),i||[]},dequeue:function(t,e){e=e||"fx";var n=v.queue(t,e),i=n.length,r=n.shift(),o=v._queueHooks(t,e),a=function(){v.dequeue(t,e)};"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===e&&n.unshift("inprogress"),delete o.stop,r.call(t,a,o)),!i&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return R.get(t,n)||R.access(t,n,{empty:v.Callbacks("once memory").add(function(){R.remove(t,[e+"queue",n])})})}}),v.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length<n?v.queue(this[0],t):void 0===e?this:this.each(function(){var n=v.queue(this,t,e);v._queueHooks(this,t),"fx"===t&&"inprogress"!==n[0]&&v.dequeue(this,t)})},dequeue:function(t){return this.each(function(){v.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,i=1,r=v.Deferred(),o=this,a=this.length,s=function(){--i||r.resolveWith(o,[o])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";a--;)(n=R.get(o[a],t+"queueHooks"))&&n.empty&&(i++,n.empty.add(s));return s(),r.promise(e)}});var q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,H=new RegExp("^(?:([+-])=|)("+q+")([a-z%]*)$","i"),j=["Top","Right","Bottom","Left"],W=function(t,e){return t=e||t,"none"===v.css(t,"display")||!v.contains(t.ownerDocument,t)},B=/^(?:checkbox|radio)$/i,V=/<([\w:-]+)/,X=/^$|\/(?:java|ecma)script/i,$={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;var Y=/<|&#?\w+;/;!function(){var t=s.createDocumentFragment(),e=t.appendChild(s.createElement("div")),n=s.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),g.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",g.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var U=/^key/,Q=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,G=/^([^.]*)(?:\.(.+)|)/;v.event={global:{},add:function(t,e,n,i,r){var o,a,s,l,u,c,d,f,h,p,g,m=R.get(t);if(m)for(n.handler&&(o=n,n=o.handler,r=o.selector),n.guid||(n.guid=v.guid++),(l=m.events)||(l=m.events={}),(a=m.handle)||(a=m.handle=function(e){return void 0!==v&&v.event.triggered!==e.type?v.event.dispatch.apply(t,arguments):void 0}),e=(e||"").match(O)||[""],u=e.length;u--;)s=G.exec(e[u])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h&&(d=v.event.special[h]||{},h=(r?d.delegateType:d.bindType)||h,d=v.event.special[h]||{},c=v.extend({type:h,origType:g,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&v.expr.match.needsContext.test(r),namespace:p.join(".")},o),(f=l[h])||(f=l[h]=[],f.delegateCount=0,d.setup&&!1!==d.setup.call(t,i,p,a)||t.addEventListener&&t.addEventListener(h,a)),d.add&&(d.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),r?f.splice(f.delegateCount++,0,c):f.push(c),v.event.global[h]=!0)},remove:function(t,e,n,i,r){var o,a,s,l,u,c,d,f,h,p,g,m=R.hasData(t)&&R.get(t);if(m&&(l=m.events)){for(e=(e||"").match(O)||[""],u=e.length;u--;)if(s=G.exec(e[u])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h){for(d=v.event.special[h]||{},h=(i?d.delegateType:d.bindType)||h,f=l[h]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=f.length;o--;)c=f[o],!r&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||i&&i!==c.selector&&("**"!==i||!c.selector)||(f.splice(o,1),c.selector&&f.delegateCount--,d.remove&&d.remove.call(t,c));a&&!f.length&&(d.teardown&&!1!==d.teardown.call(t,p,m.handle)||v.removeEvent(t,h,m.handle),delete l[h])}else for(h in l)v.event.remove(t,h+e[u],n,i,!0);v.isEmptyObject(l)&&R.remove(t,"handle events")}},dispatch:function(t){t=v.event.fix(t);var e,n,i,r,o,a=[],s=l.call(arguments),u=(R.get(this,"events")||{})[t.type]||[],c=v.event.special[t.type]||{};if(s[0]=t,t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){for(a=v.event.handlers.call(this,t,u),e=0;(r=a[e++])&&!t.isPropagationStopped();)for(t.currentTarget=r.elem,n=0;(o=r.handlers[n++])&&!t.isImmediatePropagationStopped();)t.rnamespace&&!t.rnamespace.test(o.namespace)||(t.handleObj=o,t.data=o.data,void 0!==(i=((v.event.special[o.origType]||{}).handle||o.handler).apply(r.elem,s))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(t,e){var n,i,r,o,a=[],s=e.delegateCount,l=t.target;if(s&&l.nodeType&&("click"!==t.type||isNaN(t.button)||t.button<1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(!0!==l.disabled||"click"!==t.type)){for(i=[],n=0;n<s;n++)o=e[n],r=o.selector+" ",void 0===i[r]&&(i[r]=o.needsContext?v(r,this).index(l)>-1:v.find(r,this,null,[l]).length),i[r]&&i.push(o);i.length&&a.push({elem:l,handlers:i})}return s<e.length&&a.push({elem:this,handlers:e.slice(s)}),a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(t,e){return null==t.which&&(t.which=null!=e.charCode?e.charCode:e.keyCode),t}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(t,e){var n,i,r,o=e.button;return null==t.pageX&&null!=e.clientX&&(n=t.target.ownerDocument||s,i=n.documentElement,r=n.body,t.pageX=e.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),t.pageY=e.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),t.which||void 0===o||(t.which=1&o?1:2&o?3:4&o?2:0),t}},fix:function(t){if(t[v.expando])return t;var e,n,i,r=t.type,o=t,a=this.fixHooks[r];for(a||(this.fixHooks[r]=a=Q.test(r)?this.mouseHooks:U.test(r)?this.keyHooks:{}),i=a.props?this.props.concat(a.props):this.props,t=new v.Event(o),e=i.length;e--;)n=i[e],t[n]=o[n];return t.target||(t.target=s),3===t.target.nodeType&&(t.target=t.target.parentNode),a.filter?a.filter(t,o):t},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&v.nodeName(this,"input"))return this.click(),!1},_default:function(t){return v.nodeName(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},v.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n)},v.Event=function(t,e){if(!(this instanceof v.Event))return new v.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&!1===t.returnValue?returnTrue:returnFalse):this.type=t,e&&v.extend(this,e),this.timeStamp=t&&t.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={constructor:v.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=returnTrue,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=returnTrue,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},v.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){v.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,i=this,r=t.relatedTarget,o=t.handleObj;return r&&(r===i||v.contains(i,r))||(t.type=o.origType,n=o.handler.apply(this,arguments),t.type=e),n}}}),v.fn.extend({on:function(t,e,n,i){return on(this,t,e,n,i)},one:function(t,e,n,i){return on(this,t,e,n,i,1)},off:function(t,e,n){var i,r;if(t&&t.preventDefault&&t.handleObj)return i=t.handleObj,v(t.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof t){for(r in t)this.off(r,e,t[r]);return this}return!1!==e&&"function"!=typeof e||(n=e,e=void 0),!1===n&&(n=returnFalse),this.each(function(){v.event.remove(this,t,n,e)})}});var K=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,J=/<script|<style|<link/i,Z=/checked\s*(?:[^=]|=\s*.checked.)/i,tt=/^true\/(.*)/,et=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;v.extend({htmlPrefilter:function(t){return t.replace(K,"<$1></$2>")},clone:function(t,e,n){var i,r,o,a,s=t.cloneNode(!0),l=v.contains(t.ownerDocument,t);if(!(g.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||v.isXMLDoc(t)))for(a=getAll(s),o=getAll(t),i=0,r=o.length;i<r;i++)fixInput(o[i],a[i]);if(e)if(n)for(o=o||getAll(t),a=a||getAll(s),i=0,r=o.length;i<r;i++)cloneCopyEvent(o[i],a[i]);else cloneCopyEvent(t,s);return a=getAll(s,"script"),a.length>0&&setGlobalEval(a,!l&&getAll(t,"script")),s},cleanData:function(t){for(var e,n,i,r=v.event.special,o=0;void 0!==(n=t[o]);o++)if(I(n)){if(e=n[R.expando]){if(e.events)for(i in e.events)r[i]?v.event.remove(n,i):v.removeEvent(n,i,e.handle);n[R.expando]=void 0}n[L.expando]&&(n[L.expando]=void 0)}}}),v.fn.extend({domManip:domManip,detach:function(t){return remove(this,t,!0)},remove:function(t){return remove(this,t)},text:function(t){return M(this,function(t){return void 0===t?v.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return domManip(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){manipulationTarget(this,t).appendChild(t)}})},prepend:function(){return domManip(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=manipulationTarget(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return domManip(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return domManip(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(v.cleanData(getAll(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return v.clone(this,t,e)})},html:function(t){return M(this,function(t){var e=this[0]||{},n=0,i=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!J.test(t)&&!$[(V.exec(t)||["",""])[1].toLowerCase()]){t=v.htmlPrefilter(t);try{for(;n<i;n++)e=this[n]||{},1===e.nodeType&&(v.cleanData(getAll(e,!1)),e.innerHTML=t);e=0}catch(t){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=[];return domManip(this,arguments,function(e){var n=this.parentNode;v.inArray(this,t)<0&&(v.cleanData(getAll(this)),n&&n.replaceChild(e,this))},t)}}),v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){v.fn[t]=function(t){for(var n,i=[],r=v(t),o=r.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),v(r[a])[e](n),c.apply(i,n.get());return this.pushStack(i)}});var nt,it={HTML:"block",BODY:"block"},rt=/^margin/,ot=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),at=function(t){var e=t.ownerDocument.defaultView;return e&&e.opener||(e=n),e.getComputedStyle(t)},st=function(t,e,n,i){var r,o,a={};for(o in e)a[o]=t.style[o],t.style[o]=e[o];r=n.apply(t,i||[]);for(o in e)t.style[o]=a[o];return r},lt=s.documentElement;!function(){function computeStyleTests(){a.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",lt.appendChild(o);var s=n.getComputedStyle(a);t="1%"!==s.top,r="2px"===s.marginLeft,e="4px"===s.width,a.style.marginRight="50%",i="4px"===s.marginRight,lt.removeChild(o)}var t,e,i,r,o=s.createElement("div"),a=s.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",g.clearCloneStyle="content-box"===a.style.backgroundClip,o.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",o.appendChild(a),v.extend(g,{pixelPosition:function(){return computeStyleTests(),t},boxSizingReliable:function(){return null==e&&computeStyleTests(),e},pixelMarginRight:function(){return null==e&&computeStyleTests(),i},reliableMarginLeft:function(){return null==e&&computeStyleTests(),r},reliableMarginRight:function(){var t,e=a.appendChild(s.createElement("div"));return e.style.cssText=a.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",e.style.marginRight=e.style.width="0",a.style.width="1px",lt.appendChild(o),t=!parseFloat(n.getComputedStyle(e).marginRight),lt.removeChild(o),a.removeChild(e),t}}))}();var ut=/^(none|table(?!-c[ea]).+)/,ct={position:"absolute",visibility:"hidden",display:"block"},dt={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","O","Moz","ms"],ht=s.createElement("div").style;v.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=curCSS(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(t,e,n,i){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var r,o,a,s=v.camelCase(e),l=t.style;if(e=v.cssProps[s]||(v.cssProps[s]=vendorPropName(s)||s),a=v.cssHooks[e]||v.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(r=a.get(t,!1,i))?r:l[e];o=typeof n,"string"===o&&(r=H.exec(n))&&r[1]&&(n=adjustCSS(t,e,r),o="number"),null!=n&&n===n&&("number"===o&&(n+=r&&r[3]||(v.cssNumber[s]?"":"px")),g.clearCloneStyle||""!==n||0!==e.indexOf("background")||(l[e]="inherit"),a&&"set"in a&&void 0===(n=a.set(t,n,i))||(l[e]=n))}},css:function(t,e,n,i){var r,o,a,s=v.camelCase(e);return e=v.cssProps[s]||(v.cssProps[s]=vendorPropName(s)||s),a=v.cssHooks[e]||v.cssHooks[s],a&&"get"in a&&(r=a.get(t,!0,n)),void 0===r&&(r=curCSS(t,e,i)),"normal"===r&&e in dt&&(r=dt[e]),""===n||n?(o=parseFloat(r),!0===n||isFinite(o)?o||0:r):r}}),v.each(["height","width"],function(t,e){v.cssHooks[e]={get:function(t,n,i){if(n)return ut.test(v.css(t,"display"))&&0===t.offsetWidth?st(t,ct,function(){return getWidthOrHeight(t,e,i)}):getWidthOrHeight(t,e,i)},set:function(t,n,i){var r,o=i&&at(t),a=i&&augmentWidthOrHeight(t,e,i,"border-box"===v.css(t,"boxSizing",!1,o),o);return a&&(r=H.exec(n))&&"px"!==(r[3]||"px")&&(t.style[e]=n,n=v.css(t,e)),setPositiveNumber(t,n,a)}}}),v.cssHooks.marginLeft=addGetHookIf(g.reliableMarginLeft,function(t,e){if(e)return(parseFloat(curCSS(t,"marginLeft"))||t.getBoundingClientRect().left-st(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+"px"}),v.cssHooks.marginRight=addGetHookIf(g.reliableMarginRight,function(t,e){if(e)return st(t,{display:"inline-block"},curCSS,[t,"marginRight"])}),v.each({margin:"",padding:"",border:"Width"},function(t,e){v.cssHooks[t+e]={expand:function(n){for(var i=0,r={},o="string"==typeof n?n.split(" "):[n];i<4;i++)r[t+j[i]+e]=o[i]||o[i-2]||o[0];return r}},rt.test(t)||(v.cssHooks[t+e].set=setPositiveNumber)}),v.fn.extend({css:function(t,e){return M(this,function(t,e,n){var i,r,o={},a=0;if(v.isArray(e)){for(i=at(t),r=e.length;a<r;a++)o[e[a]]=v.css(t,e[a],!1,i);return o}return void 0!==n?v.style(t,e,n):v.css(t,e)},t,e,arguments.length>1)},show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){W(this)?v(this).show():v(this).hide()})}}),v.Tween=Tween,Tween.prototype={constructor:Tween,init:function(t,e,n,i,r,o){this.elem=t,this.prop=n,this.easing=r||v.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=i,this.unit=o||(v.cssNumber[n]?"":"px")},cur:function(){var t=Tween.propHooks[this.prop];return t&&t.get?t.get(this):Tween.propHooks._default.get(this)},run:function(t){var e,n=Tween.propHooks[this.prop];return this.options.duration?this.pos=e=v.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=v.css(t.elem,t.prop,""),e&&"auto"!==e?e:0)},set:function(t){v.fx.step[t.prop]?v.fx.step[t.prop](t):1!==t.elem.nodeType||null==t.elem.style[v.cssProps[t.prop]]&&!v.cssHooks[t.prop]?t.elem[t.prop]=t.now:v.style(t.elem,t.prop,t.now+t.unit)}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},v.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},v.fx=Tween.prototype.init,v.fx.step={};var pt,gt,vt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;v.Animation=v.extend(Animation,{tweeners:{"*":[function(t,e){var n=this.createTween(t,e);return adjustCSS(n.elem,t,H.exec(e),n),n}]},tweener:function(t,e){v.isFunction(t)?(e=t,t=["*"]):t=t.match(O);for(var n,i=0,r=t.length;i<r;i++)n=t[i],Animation.tweeners[n]=Animation.tweeners[n]||[],Animation.tweeners[n].unshift(e)},prefilters:[defaultPrefilter],prefilter:function(t,e){e?Animation.prefilters.unshift(t):Animation.prefilters.push(t)}}),v.speed=function(t,e,n){var i=t&&"object"==typeof t?v.extend({},t):{complete:n||!n&&e||v.isFunction(t)&&t,duration:t,easing:n&&e||e&&!v.isFunction(e)&&e};return i.duration=v.fx.off?0:"number"==typeof i.duration?i.duration:i.duration in v.fx.speeds?v.fx.speeds[i.duration]:v.fx.speeds._default,null!=i.queue&&!0!==i.queue||(i.queue="fx"),i.old=i.complete,i.complete=function(){v.isFunction(i.old)&&i.old.call(this),i.queue&&v.dequeue(this,i.queue)},i},v.fn.extend({fadeTo:function(t,e,n,i){return this.filter(W).css("opacity",0).show().end().animate({opacity:e},t,n,i)},animate:function(t,e,n,i){var r=v.isEmptyObject(t),o=v.speed(e,n,i),a=function(){var e=Animation(this,v.extend({},t),o);(r||R.get(this,"finish"))&&e.stop(!0)};return a.finish=a,r||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(t,e,n){var i=function(t){var e=t.stop;delete t.stop,e(n)};return"string"!=typeof t&&(n=e,e=t,t=void 0),e&&!1!==t&&this.queue(t||"fx",[]),this.each(function(){var e=!0,r=null!=t&&t+"queueHooks",o=v.timers,a=R.get(this);if(r)a[r]&&a[r].stop&&i(a[r]);else for(r in a)a[r]&&a[r].stop&&mt.test(r)&&i(a[r]);for(r=o.length;r--;)o[r].elem!==this||null!=t&&o[r].queue!==t||(o[r].anim.stop(n),e=!1,o.splice(r,1));!e&&n||v.dequeue(this,t)})},finish:function(t){return!1!==t&&(t=t||"fx"),this.each(function(){var e,n=R.get(this),i=n[t+"queue"],r=n[t+"queueHooks"],o=v.timers,a=i?i.length:0;for(n.finish=!0,v.queue(this,t,[]),r&&r.stop&&r.stop.call(this,!0),e=o.length;e--;)o[e].elem===this&&o[e].queue===t&&(o[e].anim.stop(!0),o.splice(e,1));for(e=0;e<a;e++)i[e]&&i[e].finish&&i[e].finish.call(this);delete n.finish})}}),v.each(["toggle","show","hide"],function(t,e){var n=v.fn[e];v.fn[e]=function(t,i,r){return null==t||"boolean"==typeof t?n.apply(this,arguments):this.animate(genFx(e,!0),t,i,r)}}),v.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){v.fn[t]=function(t,n,i){return this.animate(e,t,n,i)}}),v.timers=[],v.fx.tick=function(){var t,e=0,n=v.timers;for(pt=v.now();e<n.length;e++)(t=n[e])()||n[e]!==t||n.splice(e--,1);n.length||v.fx.stop(),pt=void 0},v.fx.timer=function(t){v.timers.push(t),t()?v.fx.start():v.timers.pop()},v.fx.interval=13,v.fx.start=function(){gt||(gt=n.setInterval(v.fx.tick,v.fx.interval))},v.fx.stop=function(){n.clearInterval(gt),gt=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fn.delay=function(t,e){return t=v.fx?v.fx.speeds[t]||t:t,e=e||"fx",this.queue(e,function(e,i){var r=n.setTimeout(e,t);i.stop=function(){n.clearTimeout(r)}})},function(){var t=s.createElement("input"),e=s.createElement("select"),n=e.appendChild(s.createElement("option"));t.type="checkbox",g.checkOn=""!==t.value,g.optSelected=n.selected,e.disabled=!0,g.optDisabled=!n.disabled,t=s.createElement("input"),t.value="t",t.type="radio",g.radioValue="t"===t.value}();var yt,bt=v.expr.attrHandle;v.fn.extend({attr:function(t,e){return M(this,v.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){v.removeAttr(this,t)})}}),v.extend({attr:function(t,e,n){var i,r,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===t.getAttribute?v.prop(t,e,n):(1===o&&v.isXMLDoc(t)||(e=e.toLowerCase(),r=v.attrHooks[e]||(v.expr.match.bool.test(e)?yt:void 0)),void 0!==n?null===n?void v.removeAttr(t,e):r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:(t.setAttribute(e,n+""),n):r&&"get"in r&&null!==(i=r.get(t,e))?i:(i=v.find.attr(t,e),null==i?void 0:i))},attrHooks:{type:{set:function(t,e){if(!g.radioValue&&"radio"===e&&v.nodeName(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,i,r=0,o=e&&e.match(O);if(o&&1===t.nodeType)for(;n=o[r++];)i=v.propFix[n]||n,v.expr.match.bool.test(n)&&(t[i]=!1),t.removeAttribute(n)}}),yt={set:function(t,e,n){return!1===e?v.removeAttr(t,n):t.setAttribute(n,n),n}},v.each(v.expr.match.bool.source.match(/\w+/g),function(t,e){var n=bt[e]||v.find.attr;bt[e]=function(t,e,i){var r,o;return i||(o=bt[e],bt[e]=r,r=null!=n(t,e,i)?e.toLowerCase():null,bt[e]=o),r}});var wt=/^(?:input|select|textarea|button)$/i,xt=/^(?:a|area)$/i;v.fn.extend({prop:function(t,e){return M(this,v.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[v.propFix[t]||t]})}}),v.extend({prop:function(t,e,n){var i,r,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&v.isXMLDoc(t)||(e=v.propFix[e]||e,r=v.propHooks[e]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:t[e]=n:r&&"get"in r&&null!==(i=r.get(t,e))?i:t[e]},propHooks:{tabIndex:{get:function(t){var e=v.find.attr(t,"tabindex");return e?parseInt(e,10):wt.test(t.nodeName)||xt.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),g.optSelected||(v.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),v.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){v.propFix[this.toLowerCase()]=this});var Tt=/[\t\r\n\f]/g;v.fn.extend({addClass:function(t){var e,n,i,r,o,a,s,l=0;if(v.isFunction(t))return this.each(function(e){v(this).addClass(t.call(this,e,getClass(this)))});if("string"==typeof t&&t)for(e=t.match(O)||[];n=this[l++];)if(r=getClass(n),i=1===n.nodeType&&(" "+r+" ").replace(Tt," ")){for(a=0;o=e[a++];)i.indexOf(" "+o+" ")<0&&(i+=o+" ");s=v.trim(i),r!==s&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,i,r,o,a,s,l=0;if(v.isFunction(t))return this.each(function(e){v(this).removeClass(t.call(this,e,getClass(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof t&&t)for(e=t.match(O)||[];n=this[l++];)if(r=getClass(n),i=1===n.nodeType&&(" "+r+" ").replace(Tt," ")){for(a=0;o=e[a++];)for(;i.indexOf(" "+o+" ")>-1;)i=i.replace(" "+o+" "," ");s=v.trim(i),r!==s&&n.setAttribute("class",s)}return this},toggleClass:function(t,e){var n=typeof t;return"boolean"==typeof e&&"string"===n?e?this.addClass(t):this.removeClass(t):v.isFunction(t)?this.each(function(n){v(this).toggleClass(t.call(this,n,getClass(this),e),e)}):this.each(function(){var e,i,r,o;if("string"===n)for(i=0,r=v(this),o=t.match(O)||[];e=o[i++];)r.hasClass(e)?r.removeClass(e):r.addClass(e);else void 0!==t&&"boolean"!==n||(e=getClass(this),e&&R.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":R.get(this,"__className__")||""))})},hasClass:function(t){var e,n,i=0;for(e=" "+t+" ";n=this[i++];)if(1===n.nodeType&&(" "+getClass(n)+" ").replace(Tt," ").indexOf(e)>-1)return!0;return!1}});var Ct=/\r/g,kt=/[\x20\t\r\n\f]+/g;v.fn.extend({val:function(t){var e,n,i,r=this[0];{if(arguments.length)return i=v.isFunction(t),this.each(function(n){var r;1===this.nodeType&&(r=i?t.call(this,n,v(this).val()):t,null==r?r="":"number"==typeof r?r+="":v.isArray(r)&&(r=v.map(r,function(t){return null==t?"":t+""})),(e=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,r,"value")||(this.value=r))});if(r)return(e=v.valHooks[r.type]||v.valHooks[r.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(r,"value"))?n:(n=r.value,"string"==typeof n?n.replace(Ct,""):null==n?"":n)}}}),v.extend({valHooks:{option:{get:function(t){var e=v.find.attr(t,"value");return null!=e?e:v.trim(v.text(t)).replace(kt," ")}},select:{get:function(t){for(var e,n,i=t.options,r=t.selectedIndex,o="select-one"===t.type||r<0,a=o?null:[],s=o?r+1:i.length,l=r<0?s:o?r:0;l<s;l++)if(n=i[l],(n.selected||l===r)&&(g.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){if(e=v(n).val(),o)return e;a.push(e)}return a},set:function(t,e){for(var n,i,r=t.options,o=v.makeArray(e),a=r.length;a--;)i=r[a],(i.selected=v.inArray(v.valHooks.option.get(i),o)>-1)&&(n=!0);return n||(t.selectedIndex=-1),o}}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]={set:function(t,e){if(v.isArray(e))return t.checked=v.inArray(v(t).val(),e)>-1}},g.checkOn||(v.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})});var Et=/^(?:focusinfocus|focusoutblur)$/;v.extend(v.event,{trigger:function(t,e,i,r){var o,a,l,u,c,d,f,h=[i||s],g=p.call(t,"type")?t.type:t,m=p.call(t,"namespace")?t.namespace.split("."):[];if(a=l=i=i||s,3!==i.nodeType&&8!==i.nodeType&&!Et.test(g+v.event.triggered)&&(g.indexOf(".")>-1&&(m=g.split("."),g=m.shift(),m.sort()),c=g.indexOf(":")<0&&"on"+g,t=t[v.expando]?t:new v.Event(g,"object"==typeof t&&t),t.isTrigger=r?2:3,t.namespace=m.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),e=null==e?[t]:v.makeArray(e,[t]),f=v.event.special[g]||{},r||!f.trigger||!1!==f.trigger.apply(i,e))){if(!r&&!f.noBubble&&!v.isWindow(i)){for(u=f.delegateType||g,Et.test(u+g)||(a=a.parentNode);a;a=a.parentNode)h.push(a),l=a;l===(i.ownerDocument||s)&&h.push(l.defaultView||l.parentWindow||n)}for(o=0;(a=h[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||g,d=(R.get(a,"events")||{})[t.type]&&R.get(a,"handle"),d&&d.apply(a,e),(d=c&&a[c])&&d.apply&&I(a)&&(t.result=d.apply(a,e),!1===t.result&&t.preventDefault());return t.type=g,r||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(h.pop(),e)||!I(i)||c&&v.isFunction(i[g])&&!v.isWindow(i)&&(l=i[c],l&&(i[c]=null),v.event.triggered=g,i[g](),v.event.triggered=void 0,l&&(i[c]=l)),t.result}},simulate:function(t,e,n){var i=v.extend(new v.Event,n,{type:t,isSimulated:!0});v.event.trigger(i,null,e)}}),v.fn.extend({trigger:function(t,e){return this.each(function(){v.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return v.event.trigger(t,e,n,!0)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(t,e){v.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}}),v.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),g.focusin="onfocusin"in n,g.focusin||v.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){v.event.simulate(e,t.target,v.event.fix(t))};v.event.special[e]={setup:function(){var i=this.ownerDocument||this,r=R.access(i,e);r||i.addEventListener(t,n,!0),R.access(i,e,(r||0)+1)},teardown:function(){var i=this.ownerDocument||this,r=R.access(i,e)-1;r?R.access(i,e,r):(i.removeEventListener(t,n,!0),R.remove(i,e))}}});var St=n.location,_t=v.now(),At=/\?/;v.parseJSON=function(t){return JSON.parse(t+"")},v.parseXML=function(t){var e;if(!t||"string"!=typeof t)return null;try{e=(new n.DOMParser).parseFromString(t,"text/xml")}catch(t){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||v.error("Invalid XML: "+t),e};var Pt=/#.*$/,Dt=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Nt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,It=/^\/\//,Rt={},Lt={},zt="*/".concat("*"),Ft=s.createElement("a");Ft.href=St.href,v.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:St.href,type:"GET",isLocal:Nt.test(St.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":zt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?ajaxExtend(ajaxExtend(t,v.ajaxSettings),e):ajaxExtend(v.ajaxSettings,t)},ajaxPrefilter:addToPrefiltersOrTransports(Rt),ajaxTransport:addToPrefiltersOrTransports(Lt),ajax:function(t,e){function done(t,e,a,s){var u,d,b,w,T,k=e;2!==x&&(x=2,l&&n.clearTimeout(l),i=void 0,o=s||"",C.readyState=t>0?4:0,u=t>=200&&t<300||304===t,a&&(w=ajaxHandleResponses(f,C,a)),w=ajaxConvert(f,w,C,u),u?(f.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(v.lastModified[r]=T),(T=C.getResponseHeader("etag"))&&(v.etag[r]=T)),204===t||"HEAD"===f.type?k="nocontent":304===t?k="notmodified":(k=w.state,d=w.data,b=w.error,u=!b)):(b=k,!t&&k||(k="error",t<0&&(t=0))),C.status=t,C.statusText=(e||k)+"",u?g.resolveWith(h,[d,k,C]):g.rejectWith(h,[C,k,b]),C.statusCode(y),y=void 0,c&&p.trigger(u?"ajaxSuccess":"ajaxError",[C,f,u?d:b]),m.fireWith(h,[C,k]),c&&(p.trigger("ajaxComplete",[C,f]),--v.active||v.event.trigger("ajaxStop")))}"object"==typeof t&&(e=t,t=void 0),e=e||{};var i,r,o,a,l,u,c,d,f=v.ajaxSetup({},e),h=f.context||f,p=f.context&&(h.nodeType||h.jquery)?v(h):v.event,g=v.Deferred(),m=v.Callbacks("once memory"),y=f.statusCode||{},b={},w={},x=0,T="canceled",C={readyState:0,getResponseHeader:function(t){var e;if(2===x){if(!a)for(a={};e=Ot.exec(o);)a[e[1].toLowerCase()]=e[2];e=a[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return 2===x?o:null},setRequestHeader:function(t,e){var n=t.toLowerCase();return x||(t=w[n]=w[n]||t,b[t]=e),this},overrideMimeType:function(t){return x||(f.mimeType=t),this},statusCode:function(t){var e;if(t)if(x<2)for(e in t)y[e]=[y[e],t[e]];else C.always(t[C.status]);return this},abort:function(t){var e=t||T;return i&&i.abort(e),done(0,e),this}};if(g.promise(C).complete=m.add,C.success=C.done,C.error=C.fail,f.url=((t||f.url||St.href)+"").replace(Pt,"").replace(It,St.protocol+"//"),f.type=e.method||e.type||f.method||f.type,f.dataTypes=v.trim(f.dataType||"*").toLowerCase().match(O)||[""],null==f.crossDomain){u=s.createElement("a");try{u.href=f.url,u.href=u.href,f.crossDomain=Ft.protocol+"//"+Ft.host!=u.protocol+"//"+u.host}catch(t){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=v.param(f.data,f.traditional)),inspectPrefiltersOrTransports(Rt,f,e,C),2===x)return C;c=v.event&&f.global,c&&0==v.active++&&v.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!Mt.test(f.type),r=f.url,f.hasContent||(f.data&&(r=f.url+=(At.test(r)?"&":"?")+f.data,delete f.data),!1===f.cache&&(f.url=Dt.test(r)?r.replace(Dt,"$1_="+_t++):r+(At.test(r)?"&":"?")+"_="+_t++)),f.ifModified&&(v.lastModified[r]&&C.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&C.setRequestHeader("If-None-Match",v.etag[r])),(f.data&&f.hasContent&&!1!==f.contentType||e.contentType)&&C.setRequestHeader("Content-Type",f.contentType),C.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+zt+"; q=0.01":""):f.accepts["*"]);for(d in f.headers)C.setRequestHeader(d,f.headers[d]);if(f.beforeSend&&(!1===f.beforeSend.call(h,C,f)||2===x))return C.abort();T="abort";for(d in{success:1,error:1,complete:1})C[d](f[d]);if(i=inspectPrefiltersOrTransports(Lt,f,e,C)){if(C.readyState=1,c&&p.trigger("ajaxSend",[C,f]),2===x)return C;f.async&&f.timeout>0&&(l=n.setTimeout(function(){C.abort("timeout")},f.timeout));try{x=1,i.send(b,done)}catch(t){if(!(x<2))throw t;done(-1,t)}}else done(-1,"No Transport");return C},getJSON:function(t,e,n){return v.get(t,e,n,"json")},getScript:function(t,e){return v.get(t,void 0,e,"script")}}),v.each(["get","post"],function(t,e){v[e]=function(t,n,i,r){return v.isFunction(n)&&(r=r||i,i=n,n=void 0),v.ajax(v.extend({url:t,type:e,dataType:r,data:n,success:i},v.isPlainObject(t)&&t))}}),v._evalUrl=function(t){return v.ajax({url:t,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},v.fn.extend({wrapAll:function(t){var e;return v.isFunction(t)?this.each(function(e){v(this).wrapAll(t.call(this,e))}):(this[0]&&(e=v(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this)},wrapInner:function(t){return v.isFunction(t)?this.each(function(e){v(this).wrapInner(t.call(this,e))}):this.each(function(){var e=v(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=v.isFunction(t);return this.each(function(n){v(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()}}),v.expr.filters.hidden=function(t){return!v.expr.filters.visible(t)},v.expr.filters.visible=function(t){return t.offsetWidth>0||t.offsetHeight>0||t.getClientRects().length>0};var qt=/%20/g,Ht=/\[\]$/,jt=/\r?\n/g,Wt=/^(?:submit|button|image|reset|file)$/i,Bt=/^(?:input|select|textarea|keygen)/i;v.param=function(t,e){var n,i=[],r=function(t,e){e=v.isFunction(e)?e():null==e?"":e,i[i.length]=encodeURIComponent(t)+"="+encodeURIComponent(e)};if(void 0===e&&(e=v.ajaxSettings&&v.ajaxSettings.traditional),v.isArray(t)||t.jquery&&!v.isPlainObject(t))v.each(t,function(){r(this.name,this.value)});else for(n in t)buildParams(n,t[n],e,r);return i.join("&").replace(qt,"+")},v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=v.prop(this,"elements");return t?v.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!v(this).is(":disabled")&&Bt.test(this.nodeName)&&!Wt.test(t)&&(this.checked||!B.test(t))}).map(function(t,e){var n=v(this).val();return null==n?null:v.isArray(n)?v.map(n,function(t){return{name:e.name,value:t.replace(jt,"\r\n")}}):{name:e.name,value:n.replace(jt,"\r\n")}}).get()}}),v.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}};var Vt={0:200,1223:204},Xt=v.ajaxSettings.xhr();g.cors=!!Xt&&"withCredentials"in Xt,g.ajax=Xt=!!Xt,v.ajaxTransport(function(t){var e,i;if(g.cors||Xt&&!t.crossDomain)return{send:function(r,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(a in r)s.setRequestHeader(a,r[a]);e=function(t){return function(){e&&(e=i=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===t?s.abort():"error"===t?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=e(),i=s.onerror=e("error"),void 0!==s.onabort?s.onabort=i:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){e&&i()})},e=e("abort");try{s.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return v.globalEval(t),t}}}),v.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),v.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(i,r){e=v("<script>").prop({charset:t.scriptCharset,src:t.url}).on("load error",n=function(t){e.remove(),n=null,t&&r("error"===t.type?404:200,t.type)}),s.head.appendChild(e[0])},abort:function(){n&&n()}}}});var $t=[],Yt=/(=)\?(?=&|$)|\?\?/;v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=$t.pop()||v.expando+"_"+_t++;return this[t]=!0,t}}),v.ajaxPrefilter("json jsonp",function(t,e,i){var r,o,a,s=!1!==t.jsonp&&(Yt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return r=t.jsonpCallback=v.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Yt,"$1"+r):!1!==t.jsonp&&(t.url+=(At.test(t.url)?"&":"?")+t.jsonp+"="+r),t.converters["script json"]=function(){return a||v.error(r+" was not called"),a[0]},t.dataTypes[0]="json",o=n[r],n[r]=function(){a=arguments},i.always(function(){void 0===o?v(n).removeProp(r):n[r]=o,t[r]&&(t.jsonpCallback=e.jsonpCallback,$t.push(r)),a&&v.isFunction(o)&&o(a[0]),a=o=void 0}),"script"}),v.parseHTML=function(t,e,n){if(!t||"string"!=typeof t)return null;"boolean"==typeof e&&(n=e,e=!1),e=e||s;var i=E.exec(t),r=!n&&[];return i?[e.createElement(i[1])]:(i=buildFragment([t],e,r),r&&r.length&&v(r).remove(),v.merge([],i.childNodes))};var Ut=v.fn.load;v.fn.load=function(t,e,n){if("string"!=typeof t&&Ut)return Ut.apply(this,arguments);var i,r,o,a=this,s=t.indexOf(" ");return s>-1&&(i=v.trim(t.slice(s)),t=t.slice(0,s)),v.isFunction(e)?(n=e,e=void 0):e&&"object"==typeof e&&(r="POST"),a.length>0&&v.ajax({url:t,type:r||"GET",dataType:"html",data:e}).done(function(t){o=arguments,a.html(i?v("<div>").append(v.parseHTML(t)).find(i):t)}).always(n&&function(t,e){a.each(function(){n.apply(this,o||[t.responseText,e,t])})}),this},v.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){v.fn[e]=function(t){return this.on(e,t)}}),v.expr.filters.animated=function(t){return v.grep(v.timers,function(e){return t===e.elem}).length},v.offset={setOffset:function(t,e,n){var i,r,o,a,s,l,u,c=v.css(t,"position"),d=v(t),f={};"static"===c&&(t.style.position="relative"),s=d.offset(),o=v.css(t,"top"),l=v.css(t,"left"),u=("absolute"===c||"fixed"===c)&&(o+l).indexOf("auto")>-1,u?(i=d.position(),a=i.top,r=i.left):(a=parseFloat(o)||0,r=parseFloat(l)||0),v.isFunction(e)&&(e=e.call(t,n,v.extend({},s))),null!=e.top&&(f.top=e.top-s.top+a),null!=e.left&&(f.left=e.left-s.left+r),"using"in e?e.using.call(t,f):d.css(f)}},v.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){v.offset.setOffset(this,t,e)});var e,n,i=this[0],r={top:0,left:0},o=i&&i.ownerDocument;if(o)return e=o.documentElement,v.contains(e,i)?(r=i.getBoundingClientRect(),n=getWindow(o),{top:r.top+n.pageYOffset-e.clientTop,left:r.left+n.pageXOffset-e.clientLeft}):r},position:function(){if(this[0]){var t,e,n=this[0],i={top:0,left:0};return"fixed"===v.css(n,"position")?e=n.getBoundingClientRect():(t=this.offsetParent(),e=this.offset(),v.nodeName(t[0],"html")||(i=t.offset()),i.top+=v.css(t[0],"borderTopWidth",!0),i.left+=v.css(t[0],"borderLeftWidth",!0)),{top:e.top-i.top-v.css(n,"marginTop",!0),left:e.left-i.left-v.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&"static"===v.css(t,"position");)t=t.offsetParent;return t||lt})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,e){var n="pageYOffset"===e;v.fn[t]=function(i){return M(this,function(t,i,r){var o=getWindow(t);if(void 0===r)return o?o[e]:t[i];o?o.scrollTo(n?o.pageXOffset:r,n?r:o.pageYOffset):t[i]=r},t,i,arguments.length)}}),v.each(["top","left"],function(t,e){v.cssHooks[e]=addGetHookIf(g.pixelPosition,function(t,n){if(n)return n=curCSS(t,e),ot.test(n)?v(t).position()[e]+"px":n})}),v.each({Height:"height",Width:"width"},function(t,e){v.each({padding:"inner"+t,content:e,"":"outer"+t},function(n,i){v.fn[i]=function(i,r){var o=arguments.length&&(n||"boolean"!=typeof i),a=n||(!0===i||!0===r?"margin":"border");return M(this,function(e,n,i){var r;return v.isWindow(e)?e.document.documentElement["client"+t]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+t],r["scroll"+t],e.body["offset"+t],r["offset"+t],r["client"+t])):void 0===i?v.css(e,n,a):v.style(e,n,i,a)},e,o?i:void 0,o,null)}})}),v.fn.extend({bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,i){return this.on(e,t,n,i)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)},size:function(){return this.length}}),v.fn.andSelf=v.fn.addBack,i=[],void 0!==(r=function(){return v}.apply(e,i))&&(t.exports=r);var Qt=n.jQuery,Gt=n.$;return v.noConflict=function(t){return n.$===v&&(n.$=Gt),t&&n.jQuery===v&&(n.jQuery=Qt),v},o||(n.jQuery=n.$=v),v})},function(t,e,n){"use strict";(function(t){function escapeHtml(t){return String(t).replace(/[&<>"'\/]/g,function(t){return o[t]})}function mousePosition(e){var n=t.document.body,r={top:0,left:0};return"static"!==i(n).css("position")&&(r=i(n).offset()),{top:e.pageY-r.top,left:e.pageX-r.left}}var i=n(0),r=n(17).Promise,o={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"},a=function(){if("function"==typeof t.Gettext){var e=new t.Gettext({domain:"annotator"});return function(t){return e.gettext(t)}}return function(t){return t}}();e.$=i,e.Promise=r,e.gettext=a,e.escapeHtml=escapeHtml,e.mousePosition=mousePosition}).call(e,n(2))},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";(function(t){function Widget(t){this.element=o(this.constructor.template),this.classes=o.extend({},Widget.classes,this.constructor.classes),this.options=o.extend({},Widget.options,this.constructor.options,t),this.extensionsInstalled=!1}var i=n(16),r=n(1),o=r.$;Widget.prototype.destroy=function(){this.element.remove()},Widget.prototype.installExtensions=function(){if(this.options.extensions)for(var t=0,e=this.options.extensions.length;t<e;t++){var n=this.options.extensions[t];n(this)}},Widget.prototype._maybeInstallExtensions=function(){this.extensionsInstalled||(this.extensionsInstalled=!0,this.installExtensions())},Widget.prototype.attach=function(){this.element.appendTo(this.options.appendTo),this._maybeInstallExtensions()},Widget.prototype.show=function(){this.element.removeClass(this.classes.hide),this.checkOrientation()},Widget.prototype.hide=function(){o(this.element).addClass(this.classes.hide)},Widget.prototype.isShown=function(){return!o(this.element).hasClass(this.classes.hide)},Widget.prototype.checkOrientation=function(){this.resetOrientation();var e=o(t),n=this.element.children(":first"),i=n.offset(),r={top:e.scrollTop(),right:e.width()+e.scrollLeft()},a={top:i.top,right:i.left+n.width()};return a.top-r.top<0&&this.invertY(),a.right-r.right>0&&this.invertX(),this},Widget.prototype.resetOrientation=function(){return this.element.removeClass(this.classes.invert.x).removeClass(this.classes.invert.y),this},Widget.prototype.invertX=function(){return this.element.addClass(this.classes.invert.x),this},Widget.prototype.invertY=function(){return this.element.addClass(this.classes.invert.y),this},Widget.prototype.isInvertedY=function(){return this.element.hasClass(this.classes.invert.y)},Widget.prototype.isInvertedX=function(){return this.element.hasClass(this.classes.invert.x)},Widget.classes={hide:"annotator-hide",invert:{x:"annotator-invert-x",y:"annotator-invert-y"}},Widget.template="<div></div>",Widget.options={appendTo:"body"},Widget.extend=i,e.Widget=Widget}).call(e,n(2))},function(t,e,n){var i;!function(r,o,a){function _addEvent(t,e,n){if(t.addEventListener)return void t.addEventListener(e,n,!1);t.attachEvent("on"+e,n)}function _characterFromEvent(t){if("keypress"==t.type){var e=String.fromCharCode(t.which);return t.shiftKey||(e=e.toLowerCase()),e}return l[t.which]?l[t.which]:u[t.which]?u[t.which]:String.fromCharCode(t.which).toLowerCase()}function _modifiersMatch(t,e){return t.sort().join(",")===e.sort().join(",")}function _eventModifiers(t){var e=[];return t.shiftKey&&e.push("shift"),t.altKey&&e.push("alt"),t.ctrlKey&&e.push("ctrl"),t.metaKey&&e.push("meta"),e}function _preventDefault(t){if(t.preventDefault)return void t.preventDefault();t.returnValue=!1}function _stopPropagation(t){if(t.stopPropagation)return void t.stopPropagation();t.cancelBubble=!0}function _isModifier(t){return"shift"==t||"ctrl"==t||"alt"==t||"meta"==t}function _getReverseMap(){if(!s){s={};for(var t in l)t>95&&t<112||l.hasOwnProperty(t)&&(s[l[t]]=t)}return s}function _pickBestAction(t,e,n){return n||(n=_getReverseMap()[t]?"keydown":"keypress"),"keypress"==n&&e.length&&(n="keydown"),n}function _keysFromString(t){return"+"===t?["+"]:(t=t.replace(/\+{2}/g,"+plus"),t.split("+"))}function _getKeyInfo(t,e){var n,i,r,o=[];for(n=_keysFromString(t),r=0;r<n.length;++r)i=n[r],d[i]&&(i=d[i]),e&&"keypress"!=e&&c[i]&&(i=c[i],o.push("shift")),_isModifier(i)&&o.push(i);return e=_pickBestAction(i,o,e),{key:i,modifiers:o,action:e}}function _belongsTo(t,e){return null!==t&&t!==o&&(t===e||_belongsTo(t.parentNode,e))}function Mousetrap(t){function _resetSequences(t){t=t||{};var e,n=!1;for(e in i)t[e]?n=!0:i[e]=0;n||(s=!1)}function _getMatches(t,n,r,o,a,s){var l,u,c=[],d=r.type;if(!e._callbacks[t])return[];for("keyup"==d&&_isModifier(t)&&(n=[t]),l=0;l<e._callbacks[t].length;++l)if(u=e._callbacks[t][l],(o||!u.seq||i[u.seq]==u.level)&&d==u.action&&("keypress"==d&&!r.metaKey&&!r.ctrlKey||_modifiersMatch(n,u.modifiers))){var f=!o&&u.combo==a,h=o&&u.seq==o&&u.level==s;(f||h)&&e._callbacks[t].splice(l,1),c.push(u)}return c}function _fireCallback(t,n,i,r){e.stopCallback(n,n.target||n.srcElement,i,r)||!1===t(n,i)&&(_preventDefault(n),_stopPropagation(n))}function _handleKeyEvent(t){"number"!=typeof t.which&&(t.which=t.keyCode);var n=_characterFromEvent(t);if(n)return"keyup"==t.type&&r===n?void(r=!1):void e.handleKey(n,_eventModifiers(t),t)}function _resetSequenceTimer(){clearTimeout(n),n=setTimeout(_resetSequences,1e3)}function _bindSequence(t,e,n,o){function _callbackAndReset(e){_fireCallback(n,e,t),"keyup"!==o&&(r=_characterFromEvent(e)),setTimeout(_resetSequences,10)}i[t]=0;for(var a=0;a<e.length;++a){var l=a+1===e.length,u=l?_callbackAndReset:function(e){return function(){s=e,++i[t],_resetSequenceTimer()}}(o||_getKeyInfo(e[a+1]).action);_bindSingle(e[a],u,o,t,a)}}function _bindSingle(t,n,i,r,o){e._directMap[t+":"+i]=n,t=t.replace(/\s+/g," ");var a,s=t.split(" ");if(s.length>1)return void _bindSequence(t,s,n,i);a=_getKeyInfo(t,i),e._callbacks[a.key]=e._callbacks[a.key]||[],_getMatches(a.key,a.modifiers,{type:a.action},r,t,o),e._callbacks[a.key][r?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:r,level:o,combo:t})}var e=this;if(t=t||o,!(e instanceof Mousetrap))return new Mousetrap(t);e.target=t,e._callbacks={},e._directMap={};var n,i={},r=!1,a=!1,s=!1;e._handleKey=function(t,e,n){var i,r=_getMatches(t,e,n),o={},l=0,u=!1;for(i=0;i<r.length;++i)r[i].seq&&(l=Math.max(l,r[i].level));for(i=0;i<r.length;++i)if(r[i].seq){if(r[i].level!=l)continue;u=!0,o[r[i].seq]=1,_fireCallback(r[i].callback,n,r[i].combo,r[i].seq)}else u||_fireCallback(r[i].callback,n,r[i].combo);var c="keypress"==n.type&&a;n.type!=s||_isModifier(t)||c||_resetSequences(o),a=u&&"keydown"==n.type},e._bindMultiple=function(t,e,n){for(var i=0;i<t.length;++i)_bindSingle(t[i],e,n)},_addEvent(t,"keypress",_handleKeyEvent),_addEvent(t,"keydown",_handleKeyEvent),_addEvent(t,"keyup",_handleKeyEvent)}if(r){for(var s,l={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},u={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},c={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},d={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},f=1;f<20;++f)l[111+f]="f"+f;for(f=0;f<=9;++f)l[f+96]=f.toString();Mousetrap.prototype.bind=function(t,e,n){var i=this;return t=t instanceof Array?t:[t],i._bindMultiple.call(i,t,e,n),i},Mousetrap.prototype.unbind=function(t,e){var n=this;return n.bind.call(n,t,function(){},e)},Mousetrap.prototype.trigger=function(t,e){var n=this;return n._directMap[t+":"+e]&&n._directMap[t+":"+e]({},t),n},Mousetrap.prototype.reset=function(){var t=this;return t._callbacks={},t._directMap={},t},Mousetrap.prototype.stopCallback=function(t,e){var n=this;return!((" "+e.className+" ").indexOf(" mousetrap ")>-1)&&(!_belongsTo(e,n.target)&&("INPUT"==e.tagName||"SELECT"==e.tagName||"TEXTAREA"==e.tagName||e.isContentEditable))},Mousetrap.prototype.handleKey=function(){var t=this;return t._handleKey.apply(t,arguments)},Mousetrap.addKeycodes=function(t){for(var e in t)t.hasOwnProperty(e)&&(l[e]=t[e]);s=null},Mousetrap.init=function(){var t=Mousetrap(o);for(var e in t)"_"!==e.charAt(0)&&(Mousetrap[e]=function(e){return function(){return t[e].apply(t,arguments)}}(e))},Mousetrap.init(),r.Mousetrap=Mousetrap,void 0!==t&&t.exports&&(t.exports=Mousetrap),void 0!==(i=function(){return Mousetrap}.call(e,n,e,t))&&(t.exports=i)}}("undefined"!=typeof window?window:null,"undefined"!=typeof window?document:null)},function(t,e,n){"use strict";var i;e.acl=function(){var t=new i;return{configure:function(e){e.registerUtility(t,"authorizationPolicy")}}},i=e.AclAuthzPolicy=function(){},i.prototype.permits=function(t,e,n){var i=this.authorizedUserId(n),r=e.permissions;if(r){var o=r[t];if(void 0===o||null===o)return!0;for(var a=0,s=o.length;a<s;a++)if(i===o[a])return!0;return!1}return!e.user||i===e.user},i.prototype.authorizedUserId=function(t){return t}},function(t,e,n){"use strict";var i;e.simple=function(){var t=new i;return{configure:function(e){e.registerUtility(t,"identityPolicy")},beforeAnnotationCreated:function(e){e.user=t.who()}}},i=function(){this.identity=null},e.SimpleIdentityPolicy=i,i.prototype.who=function(){return this.identity}},function(t,e,n){"use strict";(function(t){function banner(e,n){void 0!==n&&null!==n||(n=o);var l=r(a)[0],u=!1,c=function(){u||(u=!0,r(l).removeClass(s.show).removeClass(s[n]),setTimeout(function(){r(l).remove()},500))};return r(l).addClass(s.show).addClass(s[n]).html(i.escapeHtml(e||"")).appendTo(t.document.body),r(l).on("click",c),setTimeout(c,5e3),{close:c}}var i=n(1),r=i.$,o="info",a="<div class='annotator-notice'></div>",s={show:"annotator-notice-show",info:"annotator-notice-info",success:"annotator-notice-success",error:"annotator-notice-error"};e.banner=banner,e.defaultNotifier=banner,e.INFO=o,e.SUCCESS="success",e.ERROR="error"}).call(e,n(2))},function(t,e,n){"use strict";function StorageAdapter(t,e){this.store=t,this.runHook=e}var i=n(1),r=i.$,o=i.gettext,a=i.Promise,s=function(){var t;return t=-1,function(){return t+=1}}();e.debug=function(){function trace(t,e){var n=JSON.parse(JSON.stringify(e));console.debug("annotator.storage.debug: "+t,n)}return{create:function(t){return t.id=s(),trace("create",t),t},update:function(t){return trace("update",t),t},delete:function(t){return trace("destroy",t),t},query:function(t){return trace("query",t),{results:[],meta:{total:0}}},configure:function(t){t.registerUtility(this,"storage")}}},e.noop=function(){return{create:function(t){return void 0!==t.id&&null!==t.id||(t.id=s()),t},update:function(t){return t},delete:function(t){return t},query:function(){return{results:[]}},configure:function(t){t.registerUtility(this,"storage")}}};var l;e.http=function(t){var e=function(){};void 0!==t&&null!==t||(t={}),t.onError=t.onError||function(t,n){console.error(t,n),e(t,"error")};var n=new l(t);return{configure:function(t){t.registerUtility(n,"storage")},start:function(t){e=t.notify}}},l=e.HttpStorage=function HttpStorage(t){this.options=r.extend(!0,{},HttpStorage.options,t),this.onError=this.options.onError},l.prototype.create=function(t){return this._apiRequest("create",t)},l.prototype.update=function(t){return this._apiRequest("update",t)},l.prototype.delete=function(t){return this._apiRequest("destroy",t)},l.prototype.query=function(t){return this._apiRequest("search",t).then(function(t){var e=t.rows;return delete t.rows,{results:e,meta:t}})},l.prototype.setHeader=function(t,e){this.options.headers[t]=e},l.prototype._apiRequest=function(t,e){var n=e&&e.id,i=this._urlFor(t,n),o=this._apiRequestOptions(t,e),a=r.ajax(i,o);return a._id=n,a._action=t,a},l.prototype._apiRequestOptions=function(t,e){var n=this._methodFor(t),i=this,o={type:n,dataType:"json",error:function(){i._onError.apply(i,arguments)},headers:this.options.headers};if(!this.options.emulateHTTP||"PUT"!==n&&"DELETE"!==n||(o.headers=r.extend(o.headers,{"X-HTTP-Method-Override":n}),o.type="POST"),"search"===t)return o=r.extend(o,{data:e});var a=e&&JSON.stringify(e);return this.options.emulateJSON?(o.data={json:a},this.options.emulateHTTP&&(o.data._method=n),o):o=r.extend(o,{data:a,contentType:"application/json; charset=utf-8"})},l.prototype._urlFor=function(t,e){void 0!==e&&null!==e||(e="");var n="";return void 0!==this.options.prefix&&null!==this.options.prefix&&(n=this.options.prefix),n+=this.options.urls[t],n=n.replace(/idAnnotation/,e)},l.prototype._methodFor=function(t){return{create:"POST",update:"PUT",destroy:"DELETE",search:"GET"}[t]},l.prototype._onError=function(t){if("function"==typeof this.onError){var e;e=o(400===t.status?"The annotation store did not understand the request! (Error 400)":401===t.status?"You must be logged in to perform this operation! (Error 401)":403===t.status?"You don't have permission to perform this operation! (Error 403)":404===t.status?"Could not connect to the annotation store! (Error 404)":500===t.status?"Internal error in annotation store! (Error 500)":"Unknown error while speaking to annotation store!"),this.onError(e,t)}},l.options={emulateHTTP:!1,emulateJSON:!1,headers:{},onError:function(t){console.error("API request failed: "+t)},prefix:"/store",urls:{create:"/annotations",update:"/annotations/idAnnotation",destroy:"/annotations/idAnnotation",search:"/search"}},StorageAdapter.prototype.create=function(t){return void 0!==t&&null!==t||(t={}),this._cycle(t,"create","beforeAnnotationCreated","annotationCreated")},StorageAdapter.prototype.update=function(t){if(void 0===t.id||null===t.id)throw new TypeError("annotation must have an id for update()");return this._cycle(t,"update","beforeAnnotationUpdated","annotationUpdated")},StorageAdapter.prototype.delete=function(t){if(void 0===t.id||null===t.id)throw new TypeError("annotation must have an id for delete()");return this._cycle(t,"delete","beforeAnnotationDeleted","annotationDeleted")},StorageAdapter.prototype.query=function(t){return a.resolve(this.store.query(t))},StorageAdapter.prototype.load=function(t){var e=this;return this.query(t).then(function(t){e.runHook("annotationsLoaded",[t.results])})},StorageAdapter.prototype._cycle=function(t,e,n,i){var o=this;return this.runHook(n,[t]).then(function(){var n=r.extend(!0,{},t);delete n._local;var i=o.store[e](n);return a.resolve(i)}).then(function(e){for(var n in t)t.hasOwnProperty(n)&&"_local"!==n&&delete t[n];return r.extend(t,e),o.runHook(i,[t]),t})},e.StorageAdapter=StorageAdapter},function(t,e,n){"use strict";var i=n(3).Widget,r=n(1),o=r.$,a=r.gettext,s="annotator-adder",l=i.extend({constructor:function(t){i.call(this,t),this.ignoreMouseup=!1,this.annotation=null,this.onCreate=this.options.onCreate;var e=this;this.element.on("click."+s,"button",function(t){e._onClick(t)}).on("mousedown."+s,"button",function(t){e._onMousedown(t)}),this.document=this.element[0].ownerDocument,o(this.document.body).on("mouseup."+s,function(t){e._onMouseup(t)})},destroy:function(){this.element.off("."+s),o(this.document.body).off("."+s),i.prototype.destroy.call(this)},load:function(t,e){this.annotation=t,this.show(e)},show:function(t){void 0!==t&&null!==t&&this.element.css({top:t.top,left:t.left}),i.prototype.show.call(this)},_onMousedown:function(t){t.which>1||(t.preventDefault(),this.ignoreMouseup=!0)},_onMouseup:function(t){t.which>1||this.ignoreMouseup&&t.stopImmediatePropagation()},_onClick:function(t){t.which>1||(t.preventDefault(),this.hide(),this.ignoreMouseup=!1,null!==this.annotation&&"function"==typeof this.onCreate&&this.onCreate(this.annotation,t))}});l.template=['<div class="annotator-adder annotator-hide">',' <button type="button">'+a("Annotate")+"</button>","</div>"].join("\n"),l.options={onCreate:null},e.Adder=l},function(t,e,n){"use strict";function preventEventDefault(t){void 0!==t&&null!==t&&"function"==typeof t.preventDefault&&t.preventDefault()}var i=n(3).Widget,r=n(1),o=r.$,a=r.gettext,s=r.Promise,l="annotator-editor",u=function(){var t;return t=-1,function(){return t+=1}}(),c=e.dragTracker=function(t,e){function mouseMove(t){if(!i&&null!==n){var r={y:t.pageY-n.top,x:t.pageX-n.left},o=!0;"function"==typeof e&&(o=e(r)),!1!==o&&(n={top:t.pageY,left:t.pageX}),i=!0,setTimeout(function(){i=!1},1e3/60)}}function mouseUp(){n=null,o(t.ownerDocument).off("mouseup",mouseUp).off("mousemove",mouseMove)}function mouseDown(e){e.target===t&&(n={top:e.pageY,left:e.pageX},o(t.ownerDocument).on("mouseup",mouseUp).on("mousemove",mouseMove),e.preventDefault())}function destroy(){o(t).off("mousedown",mouseDown)}var n=null,i=!1;return o(t).on("mousedown",mouseDown),{destroy:destroy}},d=e.resizer=function(t,e,n){function translate(t){var e=1,i=-1;return"function"==typeof n.invertedX&&n.invertedX()&&(e=-1),"function"==typeof n.invertedY&&n.invertedY()&&(i=1),{x:t.x*e,y:t.y*i}}function resize(t){var e=i.height(),n=i.width(),r=translate(t);return Math.abs(r.x)>0&&i.width(n+r.x),Math.abs(r.y)>0&&i.height(e+r.y),i.height()!==e||i.width()!==n}var i=o(t);return void 0!==n&&null!==n||(n={}),c(e,resize)},f=e.mover=function(t,e){function move(e){o(t).css({top:parseInt(o(t).css("top"),10)+e.y,left:parseInt(o(t).css("left"),10)+e.x})}return c(e,move)},h=e.Editor=i.extend({constructor:function(t){i.call(this,t),this.fields=[],this.annotation={},this.options.defaultFields&&this.addField({type:"textarea",label:a("Comments")+"…",load:function(t,e){o(t).find("textarea").val(e.text||"")},submit:function(t,e){e.text=o(t).find("textarea").val()}});var e=this;this.element.on("submit."+l,"form",function(t){e._onFormSubmit(t)}).on("click."+l,".annotator-save",function(t){e._onSaveClick(t)}).on("click."+l,".annotator-cancel",function(t){e._onCancelClick(t)}).on("mouseover."+l,".annotator-cancel",function(t){e._onCancelMouseover(t)}).on("keydown."+l,"textarea",function(t){e._onTextareaKeydown(t)})},destroy:function(){this.element.off("."+l),i.prototype.destroy.call(this)},show:function(t){void 0!==t&&null!==t&&this.element.css({top:t.top,left:t.left}),this.element.find(".annotator-save").addClass(this.classes.focus),i.prototype.show.call(this),this.element.find(":input:first").focus(),this._setupDraggables()},load:function(t,e){this.annotation=t;for(var n=0,i=this.fields.length;n<i;n++){var r=this.fields[n];r.load(r.element,this.annotation)}var o=this;return new s(function(t,n){o.dfd={resolve:t,reject:n},o.show(e)})},submit:function(){for(var t=0,e=this.fields.length;t<e;t++){var n=this.fields[t];n.submit(n.element,this.annotation)}void 0!==this.dfd&&null!==this.dfd&&this.dfd.resolve(),this.hide()},cancel:function(){void 0!==this.dfd&&null!==this.dfd&&this.dfd.reject("editing cancelled"),this.hide()},addField:function(t){var e=o.extend({id:"annotator-field-"+u(),type:"input",label:"",load:function(){},submit:function(){}},t),n=null,i=o('<li class="annotator-item" />');return e.element=i[0],"textarea"===e.type?n=o("<textarea />"):"checkbox"===e.type?n=o('<input type="checkbox" />'):"input"===e.type?n=o("<input />"):"select"===e.type&&(n=o("<select />")),i.append(n),n.attr({id:e.id,placeholder:e.label}),"checkbox"===e.type&&(i.addClass("annotator-checkbox"),i.append(o("<label />",{for:e.id,html:e.label}))),this.element.find("ul:first").append(i),this.fields.push(e),e.element},checkOrientation:function(){i.prototype.checkOrientation.call(this);var t=this.element.find("ul").first(),e=this.element.find(".annotator-controls");return this.element.hasClass(this.classes.invert.y)?e.insertBefore(t):e.is(":first-child")&&e.insertAfter(t),this},_onFormSubmit:function(t){preventEventDefault(t),this.submit()},_onSaveClick:function(t){preventEventDefault(t),this.submit()},_onCancelClick:function(t){preventEventDefault(t),this.cancel()},_onCancelMouseover:function(){this.element.find("."+this.classes.focus).removeClass(this.classes.focus)},_onTextareaKeydown:function(t){27===t.which?this.cancel():13!==t.which||t.shiftKey||this.submit()},_setupDraggables:function(){void 0!==this._resizer&&null!==this._resizer&&this._resizer.destroy(),void 0!==this._mover&&null!==this._mover&&this._mover.destroy(),this.element.find(".annotator-resize").remove();var t;(t=this.element.hasClass(this.classes.invert.y)?this.element.find(".annotator-item:last"):this.element.find(".annotator-item:first"))&&o('<span class="annotator-resize"></span>').appendTo(t);var e=this.element.find(".annotator-controls")[0],n=this.element.find("textarea:first")[0],i=this.element.find(".annotator-resize")[0],r=this;this._resizer=d(n,i,{invertedX:function(){return r.element.hasClass(r.classes.invert.x)},invertedY:function(){return r.element.hasClass(r.classes.invert.y)}}),this._mover=f(this.element[0],e)}});h.classes={hide:"annotator-hide",focus:"annotator-focus"},h.template=['<div class="annotator-outer annotator-editor annotator-hide">',' <form class="annotator-widget">',' <ul class="annotator-listing"></ul>',' <div class="annotator-controls">',' <a href="#cancel" class="annotator-cancel">'+a("Cancel")+"</a>",' <a href="#save"',' class="annotator-save annotator-focus">'+a("Save")+"</a>"," </div>"," </form>","</div>"].join("\n"),h.options={defaultFields:!0},e.standalone=function(t){var n=new e.Editor(t);return{destroy:function(){n.destroy()},beforeAnnotationCreated:function(t){return n.load(t)},beforeAnnotationUpdated:function(t){return n.load(t)}}}},function(t,e,n){"use strict";(function(t){function highlightRange(e,n){void 0!==n&&null!==n||(n="annotator-hl");for(var i=/^\s*$/,r=e.textNodes(),o=[],a=0,s=r.length;a<s;a++){var l=r[a];if(!i.test(l.nodeValue)){var u=t.document.createElement("span");u.className=n,l.parentNode.replaceChild(u,l),u.appendChild(l),o.push(u)}}return o}function reanchorRange(t,e){try{return i.Range.sniff(t).normalize(e)}catch(t){if(!(t instanceof i.Range.RangeError))throw t}return null}var i=n(18),r=n(1),o=r.$,a=r.Promise,s=e.Highlighter=function Highlighter(t,e){this.element=t,this.options=o.extend(!0,{},Highlighter.options,e)};s.prototype.destroy=function(){o(this.element).find("."+this.options.highlightClass).each(function(t,e){o(e).contents().insertBefore(e),o(e).remove()})},s.prototype.drawAll=function(t){var e=this;return new a(function(n){function loader(t){void 0!==t&&null!==t||(t=[]);for(var r=t.splice(0,e.options.chunkSize),o=0,a=r.length;o<a;o++)i=i.concat(e.draw(r[o]));t.length>0?setTimeout(function(){loader(t)},e.options.chunkDelay):n(i)}var i=[];loader(t.slice())})},s.prototype.draw=function(t){for(var e=[],n=0,i=t.ranges.length;n<i;n++){var r=reanchorRange(t.ranges[n],this.element);null!==r&&e.push(r)}void 0!==t._local&&null!==t._local||(t._local={}),void 0!==t._local.highlights&&null===t._local.highlights||(t._local.highlights=[]);for(var a=0,s=e.length;a<s;a++){var l=e[a];o.merge(t._local.highlights,highlightRange(l,this.options.highlightClass))}return o(t._local.highlights).data("annotation",t),void 0!==t.id&&null!==t.id&&o(t._local.highlights).attr("data-annotation-id",t.id),t._local.highlights},s.prototype.undraw=function(t){if(void 0!==t._local&&null!==t._local&&void 0!==t._local.highlights&&null!==t._local.highlights){for(var e=0,n=t._local.highlights.length;e<n;e++){var i=t._local.highlights[e];null!==i.parentNode&&o(i).replaceWith(i.childNodes)}delete t._local.highlights}},s.prototype.redraw=function(t){return this.undraw(t),this.draw(t)},s.options={highlightClass:"annotator-hl",chunkSize:10,chunkDelay:10},e.standalone=function(t,n){var i=e.Highlighter(t,n);return{destroy:function(){i.destroy()},annotationsLoaded:function(t){i.drawAll(t)},annotationCreated:function(t){i.draw(t)},annotationDeleted:function(t){i.undraw(t)},annotationUpdated:function(t){i.redraw(t)}}}}).call(e,n(2))},function(t,e,n){"use strict";(function(t){function isAnnotator(t){return 0!==o(t).parents().addBack().filter("[class^=annotator-]").length}function TextSelector(t,e){if(this.element=t,this.options=o.extend(!0,{},TextSelector.options,e),this.onSelection=this.options.onSelection,void 0!==this.element.ownerDocument&&null!==this.element.ownerDocument){var n=this;this.document=this.element.ownerDocument,o(this.document.body).on("mouseup."+a,function(t){n._checkForEndSelection(t)})}else console.warn("You created an instance of the TextSelector on an element that doesn't have an ownerDocument. This won't work! Please ensure the element is added to the DOM before the plugin is configured:",this.element)}var i=n(18),r=n(1),o=r.$,a="annotator-textselector";TextSelector.prototype.destroy=function(){this.document&&o(this.document.body).off("."+a)},TextSelector.prototype.captureDocumentSelection=function(){var e,n,r=[],o=[],a=t.getSelection();if(a.isCollapsed)return[];for(e=0;e<a.rangeCount;e++){var s=a.getRangeAt(e),l=new i.Range.BrowserRange(s),u=l.normalize().limit(this.element);null===u?o.push(s):r.push(u)}for(a.removeAllRanges(),e=0,n=o.length;e<n;e++)a.addRange(o[e]);for(e=0,n=r.length;e<n;e++){var c=r[e],d=this.document.createRange();d.setStartBefore(c.start),d.setEndAfter(c.end),a.addRange(d)}return r},TextSelector.prototype._checkForEndSelection=function(t){var e=this,n=function(){"function"==typeof e.onSelection&&e.onSelection([],t)},i=this.captureDocumentSelection();if(0===i.length)return void n();for(var r=0,a=i.length;r<a;r++){var s=i[r].commonAncestor;if(o(s).hasClass("annotator-hl")&&(s=o(s).parents("[class!=annotator-hl]")[0]),isAnnotator(s))return void n()}"function"==typeof this.onSelection&&this.onSelection(i,t)},TextSelector.options={onSelection:null},e.TextSelector=TextSelector}).call(e,n(2))},function(t,e,n){"use strict";function parseLinks(t,e,n){n=o.extend({},n,{rel:e});for(var i=[],r=0,a=t.length;r<a;r++){var s=t[r],l=!0;for(var u in n)if(n.hasOwnProperty(u)&&s[u]!==n[u]){l=!1;break}l&&i.push(s)}return i}var i=n(3).Widget,r=n(1),o=r.$,a=r.gettext,s="annotator-viewer",l=e.Viewer=i.extend({constructor:function(t){i.call(this,t),this.itemTemplate=l.itemTemplate,this.fields=[],this.annotations=[],this.hideTimer=null,this.hideTimerDfd=null,this.hideTimerActivity=null,this.mouseDown=!1,this.render=function(t){return t.text?r.escapeHtml(t.text):"<i>"+a("No comment")+"</i>"};var e=this;if(this.options.defaultFields&&this.addField({load:function(t,n){o(t).html(e.render(n))}}),"function"!=typeof this.options.onEdit)throw new TypeError("onEdit callback must be a function");if("function"!=typeof this.options.onDelete)throw new TypeError("onDelete callback must be a function");if("function"!=typeof this.options.permitEdit)throw new TypeError("permitEdit callback must be a function");if("function"!=typeof this.options.permitDelete)throw new TypeError("permitDelete callback must be a function");this.options.autoViewHighlights&&(this.document=this.options.autoViewHighlights.ownerDocument,o(this.options.autoViewHighlights).on("mouseover."+s,".annotator-hl",function(t){t.target===this&&e._onHighlightMouseover(t)}).on("mouseleave."+s,".annotator-hl",function(){e._startHideTimer()}),o(this.document.body).on("mousedown."+s,function(t){1===t.which&&(e.mouseDown=!0)}).on("mouseup."+s,function(t){1===t.which&&(e.mouseDown=!1)})),this.element.on("click."+s,".annotator-edit",function(t){e._onEditClick(t)}).on("click."+s,".annotator-delete",function(t){e._onDeleteClick(t)}).on("mouseenter."+s,function(){e._clearHideTimer()}).on("mouseleave."+s,function(){e._startHideTimer()})},destroy:function(){this.options.autoViewHighlights&&(o(this.options.autoViewHighlights).off("."+s),o(this.document.body).off("."+s)),this.element.off("."+s),i.prototype.destroy.call(this)},show:function(t){void 0!==t&&null!==t&&this.element.css({top:t.top,left:t.left});var e=this.element.find(".annotator-controls").addClass(this.classes.showControls),n=this;setTimeout(function(){e.removeClass(n.classes.showControls)},500),i.prototype.show.call(this)},load:function(t,e){this.annotations=t||[];for(var n=this.element.find("ul:first").empty(),i=0,r=this.annotations.length;i<r;i++){var o=this.annotations[i];this._annotationItem(o).appendTo(n).data("annotation",o)}this.show(e)},setRenderer:function(t){this.render=t},_annotationItem:function(t){var e=o(this.itemTemplate).clone(),n=e.find(".annotator-controls"),i=n.find(".annotator-link"),r=n.find(".annotator-edit"),a=n.find(".annotator-delete"),s=parseLinks(t.links||[],"alternate",{type:"text/html"});s.length>0&&void 0!==s[0].href&&null!==s[0].href?i.attr("href",s[0].href):i.remove();var l={};this.options.permitEdit(t)?(l.showEdit=function(){r.removeAttr("disabled")},l.hideEdit=function(){r.attr("disabled","disabled")}):r.remove(),this.options.permitDelete(t)?(l.showDelete=function(){a.removeAttr("disabled")},l.hideDelete=function(){a.attr("disabled","disabled")}):a.remove();for(var u=0,c=this.fields.length;u<c;u++){var d=this.fields[u],f=o(d.element).clone().appendTo(e)[0];d.load(f,t,l)}return e},addField:function(t){var e=o.extend({load:function(){}},t);return e.element=o("<div />")[0],this.fields.push(e),this},_onEditClick:function(t){var e=o(t.target).parents(".annotator-annotation").data("annotation");this.hide(),this.options.onEdit(e)},_onDeleteClick:function(t){if(window.confirm(a("Delete this annotation?"))){var e=o(t.target).parents(".annotator-annotation").data("annotation");this.hide(),this.options.onDelete(e)}},_onHighlightMouseover:function(t){if(!this.mouseDown){var e=this;this._startHideTimer(!0).done(function(){var n=o(t.target).parents(".annotator-hl").addBack().map(function(t,e){return o(e).data("annotation")}).toArray();e.load(n,r.mousePosition(t))})}},_startHideTimer:function(t){if(void 0!==t&&null!==t||(t=!1),this.hideTimer){if(!1===t||this.hideTimerActivity===t)return this.hideTimerDfd;this._clearHideTimer()}var e;if(e=t?this.options.activityDelay:this.options.inactivityDelay,this.hideTimerDfd=o.Deferred(),this.isShown()){var n=this;this.hideTimer=setTimeout(function(){n.hide(),n.hideTimerDfd.resolve(),n.hideTimer=null},e),this.hideTimerActivity=Boolean(t)}else this.hideTimer=null,this.hideTimerDfd.resolve(),this.hideTimerActivity=null;return this.hideTimerDfd.promise()},_clearHideTimer:function(){clearTimeout(this.hideTimer),this.hideTimer=null,this.hideTimerDfd.reject(),this.hideTimerActivity=null}});l.classes={showControls:"annotator-visible"},l.template=['<div class="annotator-outer annotator-viewer annotator-hide">',' <ul class="annotator-widget annotator-listing"></ul>',"</div>"].join("\n"),l.itemTemplate=['<li class="annotator-annotation annotator-item">',' <span class="annotator-controls">',' <a href="#"',' title="'+a("View as webpage")+'"',' class="annotator-link">'+a("View as webpage")+"</a>",' <button type="button"',' title="'+a("Edit")+'"',' class="annotator-edit">'+a("Edit")+"</button>",' <button type="button"',' title="'+a("Delete")+'"',' class="annotator-delete">'+a("Delete")+"</button>"," </span>","</li>"].join("\n"),l.options={defaultFields:!0,inactivityDelay:500,activityDelay:100,permitEdit:function(){return!1},permitDelete:function(){return!1},autoViewHighlights:null,onEdit:function(){},onDelete:function(){}},e.standalone=function(t){var n;return void 0!==t&&null!==t||(t={}),{start:function(i){var r=i.registry.getUtility("identityPolicy"),o=i.registry.getUtility("authorizationPolicy");void 0===t.onEdit&&(t.onEdit=function(t){i.annotations.update(t)}),void 0===t.onDelete&&(t.onDelete=function(t){i.annotations.delete(t)}),void 0===t.permitEdit&&(t.permitEdit=function(t){return o.permits("update",t,r.who())}),void 0===t.permitDelete&&(t.permitDelete=function(t){return o.permits("delete",t,r.who())}),n=new e.Viewer(t)},destroy:function(){n.destroy()}}}},function(t,e,n){"use strict"},function(t,e,n){"use strict";var i=n(4),r=function(t){return t&&t.__esModule?t:{default:t}}(i);r.default.bind("g u",function(){window.location.href=Routing.generate("homepage")}),r.default.bind("g s",function(){window.location.href=Routing.generate("starred")}),r.default.bind("g r",function(){window.location.href=Routing.generate("archive")}),r.default.bind("g a",function(){window.location.href=Routing.generate("all")}),r.default.bind("g t",function(){window.location.href=Routing.generate("tag")}),r.default.bind("g c",function(){window.location.href=Routing.generate("config")}),r.default.bind("g i",function(){window.location.href=Routing.generate("import")}),r.default.bind("g d",function(){window.location.href=Routing.generate("developer")}),r.default.bind("?",function(){window.location.href=Routing.generate("howto")}),r.default.bind("g l",function(){window.location.href=Routing.generate("fos_user_security_logout")})},function(t,e,n){!function(e){t.exports=e()}(function(){"use strict";var t={has:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},extend:function(t){for(var e=1;e<arguments.length;++e){var n=arguments[e];if(n)for(var i in n)t[i]=n[i]}return t}};return function(e,n){var i,r=this;i=e&&t.has(e,"constructor")?e.constructor:function(){return r.apply(this,arguments)},t.extend(i,r,n);var o=function(){this.constructor=i};return o.prototype=r.prototype,i.prototype=new o,e&&t.extend(i.prototype,e),i.__super__=r.prototype,i}})},function(t,e,n){(function(e,i){!function(e,n){t.exports=n()}(0,function(){"use strict";function objectOrFunction(t){return"function"==typeof t||"object"==typeof t&&null!==t}function isFunction(t){return"function"==typeof t}function setScheduler(t){s=t}function setAsap(t){l=t}function useVertxTimer(){return function(){a(flush)}}function useSetTimeout(){var t=setTimeout;return function(){return t(flush,1)}}function flush(){for(var t=0;t<o;t+=2){(0,p[t])(p[t+1]),p[t]=void 0,p[t+1]=void 0}o=0}function then(t,e){var n=arguments,i=this,r=new this.constructor(noop);void 0===r[v]&&makePromise(r);var o=i._state;return o?function(){var t=n[o-1];l(function(){return invokeCallback(o,r,t,i._result)})}():subscribe(i,r,t,e),r}function resolve(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var n=new e(noop);return _resolve(n,t),n}function noop(){}function selfFulfillment(){return new TypeError("You cannot resolve a promise with itself")}function cannotReturnOwn(){return new TypeError("A promises callback cannot return that same promise.")}function getThen(t){try{return t.then}catch(t){return w.error=t,w}}function tryThen(t,e,n,i){try{t.call(e,n,i)}catch(t){return t}}function handleForeignThenable(t,e,n){l(function(t){var i=!1,r=tryThen(n,e,function(n){i||(i=!0,e!==n?_resolve(t,n):fulfill(t,n))},function(e){i||(i=!0,_reject(t,e))},"Settle: "+(t._label||" unknown promise"));!i&&r&&(i=!0,_reject(t,r))},t)}function handleOwnThenable(t,e){e._state===y?fulfill(t,e._result):e._state===b?_reject(t,e._result):subscribe(e,void 0,function(e){return _resolve(t,e)},function(e){return _reject(t,e)})}function handleMaybeThenable(t,e,n){e.constructor===t.constructor&&n===then&&e.constructor.resolve===resolve?handleOwnThenable(t,e):n===w?_reject(t,w.error):void 0===n?fulfill(t,e):isFunction(n)?handleForeignThenable(t,e,n):fulfill(t,e)}function _resolve(t,e){t===e?_reject(t,selfFulfillment()):objectOrFunction(e)?handleMaybeThenable(t,e,getThen(e)):fulfill(t,e)}function publishRejection(t){t._onerror&&t._onerror(t._result),publish(t)}function fulfill(t,e){t._state===m&&(t._result=e,t._state=y,0!==t._subscribers.length&&l(publish,t))}function _reject(t,e){t._state===m&&(t._state=b,t._result=e,l(publishRejection,t))}function subscribe(t,e,n,i){var r=t._subscribers,o=r.length;t._onerror=null,r[o]=e,r[o+y]=n,r[o+b]=i,0===o&&t._state&&l(publish,t)}function publish(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var i=void 0,r=void 0,o=t._result,a=0;a<e.length;a+=3)i=e[a],r=e[a+n],i?invokeCallback(n,i,r,o):r(o);t._subscribers.length=0}}function ErrorObject(){this.error=null}function tryCatch(t,e){try{return t(e)}catch(t){return x.error=t,x}}function invokeCallback(t,e,n,i){var r=isFunction(n),o=void 0,a=void 0,s=void 0,l=void 0;if(r){if(o=tryCatch(n,i),o===x?(l=!0,a=o.error,o=null):s=!0,e===o)return void _reject(e,cannotReturnOwn())}else o=i,s=!0;e._state!==m||(r&&s?_resolve(e,o):l?_reject(e,a):t===y?fulfill(e,o):t===b&&_reject(e,o))}function initializePromise(t,e){try{e(function(e){_resolve(t,e)},function(e){_reject(t,e)})}catch(e){_reject(t,e)}}function nextId(){return T++}function makePromise(t){t[v]=T++,t._state=void 0,t._result=void 0,t._subscribers=[]}function Enumerator(t,e){this._instanceConstructor=t,this.promise=new t(noop),this.promise[v]||makePromise(this.promise),r(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?fulfill(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&fulfill(this.promise,this._result))):_reject(this.promise,validationError())}function validationError(){return new Error("Array Methods must be provided an Array")}function all(t){return new Enumerator(this,t).promise}function race(t){var e=this;return new e(r(t)?function(n,i){for(var r=t.length,o=0;o<r;o++)e.resolve(t[o]).then(n,i)}:function(t,e){return e(new TypeError("You must pass an array to race."))})}function reject(t){var e=this,n=new e(noop);return _reject(n,t),n}function needsResolver(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function needsNew(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function Promise(t){this[v]=nextId(),this._result=this._state=void 0,this._subscribers=[],noop!==t&&("function"!=typeof t&&needsResolver(),this instanceof Promise?initializePromise(this,t):needsNew())}function polyfill(){var t=void 0;if(void 0!==i)t=i;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var n=null;try{n=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===n&&!e.cast)return}t.Promise=Promise}var t=void 0;t=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var r=t,o=0,a=void 0,s=void 0,l=function(t,e){p[o]=t,p[o+1]=e,2===(o+=2)&&(s?s(flush):g())},u="undefined"!=typeof window?window:void 0,c=u||{},d=c.MutationObserver||c.WebKitMutationObserver,f="undefined"==typeof self&&void 0!==e&&"[object process]"==={}.toString.call(e),h="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,p=new Array(1e3),g=void 0;g=f?function(){return function(){return e.nextTick(flush)}}():d?function(){var t=0,e=new d(flush),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}():h?function(){var t=new MessageChannel;return t.port1.onmessage=flush,function(){return t.port2.postMessage(0)}}():void 0===u?function(){try{var t=n(39);return a=t.runOnLoop||t.runOnContext,useVertxTimer()}catch(t){return useSetTimeout()}}():useSetTimeout();var v=Math.random().toString(36).substring(16),m=void 0,y=1,b=2,w=new ErrorObject,x=new ErrorObject,T=0;return Enumerator.prototype._enumerate=function(){for(var t=this.length,e=this._input,n=0;this._state===m&&n<t;n++)this._eachEntry(e[n],n)},Enumerator.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,i=n.resolve;if(i===resolve){var r=getThen(t);if(r===then&&t._state!==m)this._settledAt(t._state,e,t._result);else if("function"!=typeof r)this._remaining--,this._result[e]=t;else if(n===Promise){var o=new n(noop);handleMaybeThenable(o,t,r),this._willSettleAt(o,e)}else this._willSettleAt(new n(function(e){return e(t)}),e)}else this._willSettleAt(i(t),e)},Enumerator.prototype._settledAt=function(t,e,n){var i=this.promise;i._state===m&&(this._remaining--,t===b?_reject(i,n):this._result[e]=n),0===this._remaining&&fulfill(i,this._result)},Enumerator.prototype._willSettleAt=function(t,e){var n=this;subscribe(t,void 0,function(t){return n._settledAt(y,e,t)},function(t){return n._settledAt(b,e,t)})},Promise.all=all,Promise.race=race,Promise.resolve=resolve,Promise.reject=reject,Promise._setScheduler=setScheduler,Promise._setAsap=setAsap,Promise._asap=l,Promise.prototype={constructor:Promise,then:then,catch:function(t){return this.then(null,t)}},polyfill(),Promise.polyfill=polyfill,Promise.Promise=Promise,Promise})}).call(e,n(37),n(2))},function(t,e,n){(function(){t.exports={xpath:n(20),Range:n(38)}}).call(this)},function(t,e,n){(function(){var e,i;e=n(0),i={},i.NodeTypes={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12},i.getFirstTextNodeNotBefore=function(t){var e;switch(t.nodeType){case i.NodeTypes.TEXT_NODE:return t;case i.NodeTypes.ELEMENT_NODE:if(null!=t.firstChild&&null!=(e=i.getFirstTextNodeNotBefore(t.firstChild)))return e}return t=t.nextSibling,null!=t?i.getFirstTextNodeNotBefore(t):null},i.getLastTextNodeUpTo=function(t){var e;switch(t.nodeType){case i.NodeTypes.TEXT_NODE:return t;case i.NodeTypes.ELEMENT_NODE:if(null!=t.lastChild&&null!=(e=i.getLastTextNodeUpTo(t.lastChild)))return e}return t=t.previousSibling,null!=t?i.getLastTextNodeUpTo(t):null},i.getTextNodes=function(t){var e;return e=function(t){var n;if(t&&t.nodeType!==i.NodeTypes.TEXT_NODE){if(n=[],t.nodeType!==i.NodeTypes.COMMENT_NODE)for(t=t.lastChild;t;)n.push(e(t)),t=t.previousSibling;return n.reverse()}return t},t.map(function(){return i.flatten(e(this))})},i.getGlobal=function(){return function(){return this}()},i.contains=function(t,e){var n;for(n=e;null!=n;){if(n===t)return!0;n=n.parentNode}return!1},i.flatten=function(t){var n;return(n=function(t){var i,r,o,a;for(r=[],o=0,a=t.length;o<a;o++)i=t[o],r=r.concat(i&&e.isArray(i)?n(i):i);return r})(t)},t.exports=i}).call(this)},function(t,e,n){(function(){var e,i,r,o,a,s,l,u,c,d;e=n(0),i=n(19),r=function(t,e,n){var i,r,a,s,l,u,c,d;null==e&&(e=document),null==n&&(n=null);try{return document.evaluate("."+t,e,n,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}catch(n){for(n,console.log("XPath evaluation failed."),console.log("Trying fallback..."),l=t.substring(1).split("/"),a=e,u=0,c=l.length;u<c;u++)s=l[u],d=s.split("["),r=d[0],i=d[1],i=null!=i?parseInt((null!=i?i.split("]"):void 0)[0]):1,a=o(a,r.toLowerCase(),i);return a}},u=function(t,n){var r;return r=t.map(function(){var t,r,o,a;for(o="",t=this;(null!=t?t.nodeType:void 0)===i.NodeTypes.ELEMENT_NODE&&t!==n;)a=t.tagName.replace(":","\\:"),r=e(t.parentNode).children(a).index(t)+1,r="["+r+"]",o="/"+t.tagName.toLowerCase()+r+o,t=t.parentNode;return o}),r.get()},c=function(t,e){var n,i,r,o;return n=function(t){var e,n;return e=s(t),n=l(t),e+"["+n+"]"},o=e,i=function(t){var e;for(e="";t!==o;){if(null==t)throw new Error("Called getPathTo on a node which was not a descendant of @rootNode. "+o);e=n(t)+"/"+e,t=t.parentNode}return e="/"+e,e=e.replace(/\/$/,"")},r=t.map(function(){return i(this)}),r.get()},o=function(t,e,n){var i,r,o,a,l;if(!t.hasChildNodes())throw new Error("XPath error: node has no children!");for(r=t.childNodes,o=0,a=0,l=r.length;a<l;a++)if(i=r[a],s(i)===e&&(o+=1)===n)return i;throw new Error("XPath error: wanted child not found.")},s=function(t){var e;switch(e=t.nodeName.toLowerCase()){case"#text":return"text()";case"#comment":return"comment()";case"#cdata-section":return"cdata-section()";default:return e}},l=function(t){var e,n;for(e=0,n=t;n;)n.nodeName===t.nodeName&&(e+=1),n=n.previousSibling;return e},a=function(t,e){var n;try{n=u(t,e)}catch(i){i,console.log("jQuery-based XPath construction failed! Falling back to manual."),n=c(t,e)}return n},d=function(t,n){var i,o,a,s;return null==n&&(n=document),e.isXMLDoc(document.documentElement)?(i=document.createNSResolver(null===document.ownerDocument?document.documentElement:document.ownerDocument.documentElement),a=r(t,n,i),a||(t=function(){var e,n,i,r;for(i=t.split("/"),r=[],e=0,n=i.length;e<n;e++)s=i[e],s&&-1===s.indexOf(":")?r.push(s.replace(/^([a-z]+)/,"xhtml:$1")):r.push(s);return r}().join("/"),o=document.lookupNamespaceURI(null),i=function(t){return"xhtml"===t?o:document.documentElement.getAttribute("xmlns:"+t)},a=r(t,n,i)),a):r(t,n)},t.exports={fromNode:a,toNode:d}}).call(this)},function(t,e,n){"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}var i=n(0),r=_interopRequireDefault(i),o=n(22),a=_interopRequireDefault(o);n(34),n(33),n(31),n(14),n(15);var s=n(30);(0,r.default)(document).ready(function(){if((0,r.default)("article").length){var t=new a.default.App;t.include(a.default.ui.main,{element:document.querySelector("article")});var e={permits:function(){return!0}};t.registry.registerUtility(e,"authorizationPolicy");var n=JSON.parse((0,r.default)("#annotationroutes").html());t.include(a.default.storage.http,r.default.extend({},n,{onError:function(t,e){if(!Object.prototype.hasOwnProperty.call(e,"responseJSON"))return void a.default.notification.banner("An error occurred","error");r.default.each(e.responseJSON.children,function(t,e){e.errors&&r.default.each(e.errors,function(t,e){a.default.notification.banner(e,"error")})})}})),t.start().then(function(){t.annotations.load({entry:n.entryId})}),(0,r.default)(window).scroll(function(){var t=(0,r.default)(window).scrollTop(),e=(0,r.default)(document).height(),i=t/e,o=Math.round(100*i)/100;(0,s.savePercent)(n.entryId,o)}),(0,s.retrievePercent)(n.entryId),(0,r.default)(window).resize(function(){(0,s.retrievePercent)(n.entryId)})}})},function(t,e,n){"use strict";(function(t){n(35)(n(32));var i=n(23),r=n(1);e.App=i.App,e.authz=n(5),e.identity=n(6),e.notification=n(7),e.storage=n(8),e.ui=n(25),e.util=r,e.ext={};var o=t.wgxpath;void 0!==o&&null!==o&&"function"==typeof o.install&&o.install();var a=t.annotator;e.noConflict=function(){return t.annotator=a,this}}).call(e,n(2))},function(t,e,n){"use strict";function App(){this.modules=[],this.registry=new l.Registry,this._started=!1,this.registry.registerUtility(s.defaultNotifier,"notifier"),this.include(o.acl),this.include(a.simple),this.include(u.noop)}var i=n(16),r=n(17).Promise,o=n(5),a=n(6),s=n(7),l=n(24),u=n(8);App.prototype.include=function(t,e){var n=t(e);return"function"==typeof n.configure&&n.configure(this.registry),this.modules.push(n),this},App.prototype.start=function(){if(!this._started){this._started=!0;var t=this,e=this.registry;return this.authz=e.getUtility("authorizationPolicy"),this.ident=e.getUtility("identityPolicy"),this.notify=e.getUtility("notifier"),this.annotations=new u.StorageAdapter(e.getUtility("storage"),function(){return t.runHook.apply(t,arguments)}),this.runHook("start",[this])}},App.prototype.destroy=function(){return this.runHook("destroy")},App.prototype.runHook=function(t,e){for(var n=[],i=0,o=this.modules.length;i<o;i++){var a=this.modules[i];"function"==typeof a[t]&&n.push(a[t].apply(a,e))}return r.all(n)},App.extend=i,e.App=App},function(t,e,n){"use strict";function Registry(){this.utilities={}}function LookupError(t){this.name="LookupError",this.message='No utility registered for interface "'+t+'".'}Registry.prototype.registerUtility=function(t,e){this.utilities[e]=t},Registry.prototype.getUtility=function(t){var e=this.queryUtility(t);if(null===e)throw new LookupError(t);return e},Registry.prototype.queryUtility=function(t){var e=this.utilities[t];return void 0===e||null===e?null:e},LookupError.prototype=Object.create(Error.prototype),LookupError.prototype.constructor=LookupError,e.LookupError=LookupError,e.Registry=Registry},function(t,e,n){e.main=n(27).main,e.adder=n(9),e.editor=n(10),e.filter=n(26),e.highlighter=n(11),e.markdown=n(28),e.tags=n(29),e.textselector=n(12),e.viewer=n(13),e.widget=n(3)},function(t,e,n){"use strict";var i=n(1),r=i.$,o=i.gettext,a="annotator-filter",s=e.Filter=function Filter(t){this.options=r.extend(!0,{},Filter.options,t),this.classes=r.extend(!0,{},Filter.classes),this.element=r(Filter.html.element).appendTo(this.options.appendTo),this.filter=r(Filter.html.filter),this.filters=[],this.current=0;for(var e=0,n=this.options.filters.length;e<n;e++){var i=this.options.filters[e];this.addFilter(i)}this.updateHighlights();var s=".annotator-filter-property input",l=this;this.element.on("focus."+a,s,function(t){l._onFilterFocus(t)}).on("blur."+a,s,function(t){l._onFilterBlur(t)}).on("keyup."+a,s,function(t){l._onFilterKeyup(t)}).on("click."+a,".annotator-filter-previous",function(t){l._onPreviousClick(t)}).on("click."+a,".annotator-filter-next",function(t){l._onNextClick(t)}).on("click."+a,".annotator-filter-clear",function(t){l._onClearClick(t)}),this._insertSpacer(),this.options.addAnnotationFilter&&this.addFilter({label:o("Annotation"),property:"text"})};s.prototype.destroy=function(){var t=r("html"),e=parseInt(t.css("padding-top"),10)||0;t.css("padding-top",e-this.element.outerHeight()),this.element.off("."+a),this.element.remove()},s.prototype._insertSpacer=function(){var t=r("html"),e=parseInt(t.css("padding-top"),10)||0;return t.css("padding-top",e+this.element.outerHeight()),this},s.prototype.addFilter=function(t){for(var e=r.extend({label:"",property:"",isFiltered:this.options.isFiltered},t),n=!1,i=0,a=this.filters.length;i<a;i++){if(this.filters[i].property===e.property){n=!0;break}}return n||(e.id="annotator-filter-"+e.property,e.annotations=[],e.element=this.filter.clone().appendTo(this.element),e.element.find("label").html(e.label).attr("for",e.id),e.element.find("input").attr({id:e.id,placeholder:o("Filter by ")+e.label+"…"}),e.element.find("button").hide(),e.element.data("filter",e),this.filters.push(e)),this},s.prototype.updateFilter=function(t){t.annotations=[],this.updateHighlights(),this.resetHighlights();var e=r.trim(t.element.find("input").val());if(e){var n=this.highlights.map(function(){return r(this).data("annotation")});n=r.makeArray(n);for(var i=0,o=n.length;i<o;i++){var a=n[i],s=a[t.property];t.isFiltered(e,s)&&t.annotations.push(a)}this.filterHighlights()}},s.prototype.updateHighlights=function(){this.highlights=r(this.options.filterElement).find(".annotator-hl:visible"),this.filtered=this.highlights.not(this.classes.hl.hide)},s.prototype.filterHighlights=function(){var t=r.grep(this.filters,function(t){return Boolean(t.annotations.length)}),e=[];if(t.length>0&&(e=t[0].annotations),t.length>1){var n=[];r.each(t,function(){r.merge(n,this.annotations)});var i=[];e=[],r.each(n,function(){-1===r.inArray(this,i)?i.push(this):e.push(this)})}for(var o=this.highlights,a=0,s=e.length;a<s;a++)o=o.not(e[a]._local.highlights);return o.addClass(this.classes.hl.hide),this.filtered=this.highlights.not(this.classes.hl.hide),this},s.prototype.resetHighlights=function(){return this.highlights.removeClass(this.classes.hl.hide),this.filtered=this.highlights,this},s.prototype._onFilterFocus=function(t){var e=r(t.target);e.parent().addClass(this.classes.active),e.next("button").show()},s.prototype._onFilterBlur=function(t){if(!t.target.value){var e=r(t.target);e.parent().removeClass(this.classes.active),e.next("button").hide()}},s.prototype._onFilterKeyup=function(t){var e=r(t.target).parent().data("filter");e&&this.updateFilter(e)},s.prototype._findNextHighlight=function(t){if(0===this.highlights.length)return this;var e=-1,n=0,i="gt";t&&(e=0,n=-1,i="lt");var r=this.highlights.not("."+this.classes.hl.hide),o=r.filter("."+this.classes.hl.active);0===o.length&&(o=r.eq(e));var a=o.data("annotation"),s=r.index(o[0]),l=r.filter(":"+i+"("+s+")").not(a._local.highlights).eq(n);0===l.length&&(l=r.eq(n)),this._scrollToHighlight(l.data("annotation")._local.highlights)},s.prototype._onNextClick=function(){this._findNextHighlight()},s.prototype._onPreviousClick=function(){this._findNextHighlight(!0)},s.prototype._scrollToHighlight=function(t){t=r(t),this.highlights.removeClass(this.classes.hl.active),t.addClass(this.classes.hl.active),r("html, body").animate({scrollTop:t.offset().top-(this.element.height()+20)},150)},s.prototype._onClearClick=function(t){r(t.target).prev("input").val("").keyup().blur()},s.classes={active:"annotator-filter-active",hl:{hide:"annotator-hl-filtered",active:"annotator-hl-active"}},s.html={element:['<div class="annotator-filter">'," <strong>"+o("Navigate:")+"</strong>",' <span class="annotator-filter-navigation">',' <button type="button"',' class="annotator-filter-previous">'+o("Previous")+"</button>",' <button type="button"',' class="annotator-filter-next">'+o("Next")+"</button>"," </span>"," <strong>"+o("Filter by:")+"</strong>","</div>"].join("\n"),filter:['<span class="annotator-filter-property">'," <label></label>"," <input/>",' <button type="button"',' class="annotator-filter-clear">'+o("Clear")+"</button>","</span>"].join("\n")},s.options={appendTo:"body",filterElement:"body",filters:[],addAnnotationFilter:!0,isFiltered:function(t,e){if(!t||!e)return!1;for(var n=t.split(/\s+/),i=0,r=n.length;i<r;i++)if(-1===e.indexOf(n[i]))return!1;return!0}},e.standalone=function(t){var n=new e.Filter(t);return{destroy:function(){n.destroy()},annotationsLoaded:function(){n.updateHighlights()},annotationCreated:function(){n.updateHighlights()},annotationUpdated:function(){n.updateHighlights()},annotationDeleted:function(){n.updateHighlights()}}}},function(t,e,n){"use strict";(function(t){function trim(t){return"function"==typeof String.prototype.trim?String.prototype.trim.call(t):t.replace(/^[\s\xA0]+|[\s\xA0]+$/g,"")}function annotationFactory(t,e){return function(n){for(var i=[],r=[],o=0,a=n.length;o<a;o++){var s=n[o];i.push(trim(s.text())),r.push(s.serialize(t,e))}return{quote:i.join(" / "),ranges:r}}}function maxZIndex(t){for(var e=-1,n=0,r=t.length;n<r;n++){var o=i.$(t[n]);if("static"!==o.css("position")){var a=parseFloat(o.css("z-index"));a>e&&(e=a)}}return e}function injectDynamicStyle(){i.$("#annotator-dynamic-style").remove();var e=maxZIndex(i.$(t.document.body).find("*:not(annotator-adder):not(annotator-outer):not(annotator-notice):not(annotator-filter)").get());e=Math.max(e,1e3);var n=[".annotator-adder, .annotator-outer, .annotator-notice {"," z-index: "+(e+20)+";","}",".annotator-filter {"," z-index: "+(e+10)+";","}"].join("\n");i.$("<style>"+n+"</style>").attr("id","annotator-dynamic-style").attr("type","text/css").appendTo("head")}function removeDynamicStyle(){i.$("#annotator-dynamic-style").remove()}function addPermissionsCheckboxes(t,e,n){function createLoadCallback(t){return function(r,o){r=i.$(r).show();var a=e.who(),s=r.find("input");void 0!==a&&null!==a||r.hide(),n.permits("admin",o,a)||r.hide(),n.permits(t,o,null)?s.attr("checked","checked"):s.removeAttr("checked")}}function createSubmitCallback(t){return function(r,o){var a=e.who();void 0!==a&&null!==a&&(o.permissions||(o.permissions={}),i.$(r).find("input").is(":checked")?delete o.permissions[t]:o.permissions[t]=[n.authorizedUserId(a)])}}t.addField({type:"checkbox",label:u("Allow anyone to <strong>view</strong> this annotation"),load:createLoadCallback("read"),submit:createSubmitCallback("read")}),t.addField({type:"checkbox",label:u("Allow anyone to <strong>edit</strong> this annotation"),load:createLoadCallback("update"),submit:createSubmitCallback("update")})}function main(e){function start(t){var c=t.registry.getUtility("identityPolicy"),d=t.registry.getUtility("authorizationPolicy");u.adder=new r.Adder({onCreate:function(e){t.annotations.create(e)}}),u.adder.attach(),u.editor=new o.Editor({extensions:e.editorExtensions}),u.editor.attach(),addPermissionsCheckboxes(u.editor,c,d),u.highlighter=new a.Highlighter(e.element),u.textselector=new s.TextSelector(e.element,{onSelection:function(t,e){if(t.length>0){var r=n(t);u.interactionPoint=i.mousePosition(e),u.adder.load(r,u.interactionPoint)}else u.adder.hide()}}),u.viewer=new l.Viewer({onEdit:function(e){u.interactionPoint=i.$(u.viewer.element).css(["top","left"]),t.annotations.update(e)},onDelete:function(e){t.annotations.delete(e)},permitEdit:function(t){return d.permits("update",t,c.who())},permitDelete:function(t){return d.permits("delete",t,c.who())},autoViewHighlights:e.element,extensions:e.viewerExtensions}),u.viewer.attach(),injectDynamicStyle()}void 0!==e&&null!==e||(e={}),e.element=e.element||t.document.body,e.editorExtensions=e.editorExtensions||[],e.viewerExtensions=e.viewerExtensions||[];var n=annotationFactory(e.element,".annotator-hl"),u={interactionPoint:null};return{start:start,destroy:function(){u.adder.destroy(),u.editor.destroy(),u.highlighter.destroy(),u.textselector.destroy(),u.viewer.destroy(),removeDynamicStyle()},annotationsLoaded:function(t){u.highlighter.drawAll(t)},annotationCreated:function(t){u.highlighter.draw(t)},annotationDeleted:function(t){u.highlighter.undraw(t)},annotationUpdated:function(t){u.highlighter.redraw(t)},beforeAnnotationCreated:function(t){return u.editor.load(t,u.interactionPoint)},beforeAnnotationUpdated:function(t){return u.editor.load(t,u.interactionPoint)}}}var i=n(1),r=n(9),o=n(10),a=n(11),s=n(12),l=n(13),u=i.gettext;e.main=main}).call(e,n(2))},function(t,e,n){"use strict";(function(t){var i=n(1),r=i.gettext,o=e.render=function(e){var n=i.escapeHtml;return t.showdown&&"function"==typeof t.showdown.Converter&&(n=(new t.showdown.Converter).makeHtml),e.text?n(e.text):"<i>"+r("No comment")+"</i>"};e.viewerExtension=function(e){t.showdown&&"function"==typeof t.showdown.Converter||console.warn(r("To use the Markdown plugin, you must include Showdown into the page first.")),e.setRenderer(o)}}).call(e,n(2))},function(t,e,n){"use strict";function stringifyTags(t){return t.join(" ")}function parseTags(t){t=r.trim(t);var e=[];return t&&(e=t.split(/\s+/)),e}var i=n(1),r=i.$,o=i.gettext;e.viewerExtension=function(t){function updateViewer(t,e){t=r(t),e.tags&&r.isArray(e.tags)&&e.tags.length?t.addClass("annotator-tags").html(function(){return r.map(e.tags,function(t){return'<span class="annotator-tag">'+i.escapeHtml(t)+"</span>"}).join(" ")}):t.remove()}t.addField({load:updateViewer})},e.editorExtension=function(t){function updateField(t,e){var i="";e.tags&&(i=stringifyTags(e.tags)),n.val(i)}function setAnnotationTags(t,e){e.tags=parseTags(n.val())}var e=null,n=null;e=t.addField({label:o("Add some tags here")+"…",load:updateField,submit:setAnnotationTags}),n=r(e).find(":input")}},function(t,e,n){"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function supportsLocalStorage(){try{return"localStorage"in window&&null!==window.localStorage}catch(t){return!1}}function savePercent(t,e){return!!supportsLocalStorage()&&(localStorage["wallabag.article."+t+".percent"]=e,!0)}function retrievePercent(t){if(!supportsLocalStorage())return!1;var e=(0,r.default)(document).height(),n=localStorage["wallabag.article."+t+".percent"],i=e*n;return(0,r.default)("html,body").animate({scrollTop:i},"fast"),!0}Object.defineProperty(e,"__esModule",{value:!0}),e.retrievePercent=e.savePercent=void 0;var i=n(0),r=_interopRequireDefault(i);n(15),n(14);var o=n(36);_interopRequireDefault(o);e.savePercent=savePercent,e.retrievePercent=retrievePercent},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){var n={};t.exports=function(t,e){if(!n[t]){n[t]=!0;var i=document.createElement("style");i.setAttribute("type","text/css"),"textContent"in i?i.textContent=t:i.styleSheet.cssText=t;var r=document.getElementsByTagName("head")[0];e&&e.prepend?r.insertBefore(i,r.childNodes[0]):r.appendChild(i)}}},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return t[i].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";t.exports=n(3)},function(t,e){"use strict";!function(){Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(void 0===t||null===t)throw new TypeError("Cannot convert first argument to object");for(var e=Object(t),n=1;n<arguments.length;n++){var i=arguments[n];if(void 0!==i&&null!==i){i=Object(i);for(var r=Object.keys(Object(i)),o=0,a=r.length;o<a;o++){var s=r[o],l=Object.getOwnPropertyDescriptor(i,s);void 0!==l&&l.enumerable&&(e[s]=i[s])}}}return e}})}()},function(t,e){"use strict";t.exports=function(){var t={};return t.utf16to8=function(t){var e,n,i,r;for(e="",i=t.length,n=0;n<i;n++)r=t.charCodeAt(n),r>=1&&r<=127?e+=t.charAt(n):r>2047?(e+=String.fromCharCode(224|r>>12&15),e+=String.fromCharCode(128|r>>6&63),e+=String.fromCharCode(128|r>>0&63)):(e+=String.fromCharCode(192|r>>6&31),e+=String.fromCharCode(128|r>>0&63));return e},t.utf8to16=function(t){var e,n,i,r,o,a;for(e="",i=t.length,n=0;n<i;)switch((r=t.charCodeAt(n++))>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:e+=t.charAt(n-1);break;case 12:case 13:o=t.charCodeAt(n++),e+=String.fromCharCode((31&r)<<6|63&o);break;case 14:o=t.charCodeAt(n++),a=t.charCodeAt(n++),e+=String.fromCharCode((15&r)<<12|(63&o)<<6|(63&a)<<0)}return e},t}()},function(e,n,i){"use strict";i(1),i(4);var r=i(2),o=function(){function t(t){var e=new QRCode(t.typeNumber,t.correctLevel);e.addData(t.text),e.make();var n=document.createElement("canvas");n.width=t.width,n.height=t.height;var i=n.getContext("2d"),r=(t.width-2*t.padding)/e.getModuleCount(),o=(t.height-2*t.padding)/e.getModuleCount();if(t.reverse){var a="rgba(0, 0, 0, 0)";i.fillStyle=a,t.foreground=a}else i.fillStyle=t.background;i.fillRect(0,0,n.width,n.height);for(var s=0;s<e.getModuleCount();s++)for(var l=0;l<e.getModuleCount();l++){i.fillStyle=e.isDark(s,l)?t.foreground:t.background;var u=Math.ceil((l+1)*r)-Math.floor(l*r),c=Math.ceil((s+1)*r)-Math.floor(s*r);i.fillRect(Math.round(l*r)+t.padding,Math.round(s*o)+t.padding,u,c)}return n}var e={};return e.getQrBase64=function(e,n){"string"!=typeof e&&(e=""),"string"==typeof n?n={text:n}:"object"!=typeof n&&(n={}),n=Object.assign({padding:10,width:256,height:256,typeNumber:-1,correctLevel:QRErrorCorrectLevel.H,reverse:!1,background:"#ffffff",foreground:"#000000"},n);try{n.text=r.utf16to8(e)}catch(t){n.text=""+t}return t(n).toDataURL()},e.QRErrorCorrectLevel=QRErrorCorrectLevel,e}();!window.jrQrcode&&(window.jrQrcode=o),e.exports=o},function(t,e){function r(t){this.mode=s.MODE_8BIT_BYTE,this.data=t}function o(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=new Array}function n(t,e){if(void 0==t.length)throw new Error(t.length+"/"+e);for(var n=0;n<t.length&&0==t[n];)n++;this.num=new Array(t.length-n+e);for(var i=0;i<t.length-n;i++)this.num[i]=t[i+n]}function i(t,e){this.totalCount=t,this.dataCount=e}function a(){this.buffer=new Array,this.length=0}r.prototype={getLength:function(t){return this.data.length},write:function(t){for(var e=0;e<this.data.length;e++)t.put(this.data.charCodeAt(e),8)}},o.prototype={addData:function(t){var e=new r(t);this.dataList.push(e),this.dataCache=null},isDark:function(t,e){if(t<0||this.moduleCount<=t||e<0||this.moduleCount<=e)throw new Error(t+","+e);return this.modules[t][e]},getModuleCount:function(){return this.moduleCount},make:function(){if(this.typeNumber<1){var t=1;for(t=1;t<40;t++){for(var e=i.getRSBlocks(t,this.errorCorrectLevel),n=new a,r=0,o=0;o<e.length;o++)r+=e[o].dataCount;for(var o=0;o<this.dataList.length;o++){var s=this.dataList[o];n.put(s.mode,4),n.put(s.getLength(),c.getLengthInBits(s.mode,t)),s.write(n)}if(n.getLengthInBits()<=8*r)break}this.typeNumber=t}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(t,e){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var n=0;n<this.moduleCount;n++){this.modules[n]=new Array(this.moduleCount);for(var i=0;i<this.moduleCount;i++)this.modules[n][i]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(t,e),this.typeNumber>=7&&this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=o.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,e)},setupPositionProbePattern:function(t,e){for(var n=-1;n<=7;n++)if(!(t+n<=-1||this.moduleCount<=t+n))for(var i=-1;i<=7;i++)e+i<=-1||this.moduleCount<=e+i||(this.modules[t+n][e+i]=0<=n&&n<=6&&(0==i||6==i)||0<=i&&i<=6&&(0==n||6==n)||2<=n&&n<=4&&2<=i&&i<=4)},getBestMaskPattern:function(){for(var t=0,e=0,n=0;n<8;n++){this.makeImpl(!0,n);var i=c.getLostPoint(this);(0==n||t>i)&&(t=i,e=n)}return e},createMovieClip:function(t,e,n){var i=t.createEmptyMovieClip(e,n);this.make();for(var r=0;r<this.modules.length;r++)for(var o=1*r,a=0;a<this.modules[r].length;a++){var s=1*a,l=this.modules[r][a];l&&(i.beginFill(0,100),i.moveTo(s,o),i.lineTo(s+1,o),i.lineTo(s+1,o+1),i.lineTo(s,o+1),i.endFill())}return i},setupTimingPattern:function(){for(var t=8;t<this.moduleCount-8;t++)null==this.modules[t][6]&&(this.modules[t][6]=t%2==0);for(var e=8;e<this.moduleCount-8;e++)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0)},setupPositionAdjustPattern:function(){for(var t=c.getPatternPosition(this.typeNumber),e=0;e<t.length;e++)for(var n=0;n<t.length;n++){var i=t[e],r=t[n];if(null==this.modules[i][r])for(var o=-2;o<=2;o++)for(var a=-2;a<=2;a++)this.modules[i+o][r+a]=-2==o||2==o||-2==a||2==a||0==o&&0==a}},setupTypeNumber:function(t){for(var e=c.getBCHTypeNumber(this.typeNumber),n=0;n<18;n++){var i=!t&&1==(e>>n&1);this.modules[Math.floor(n/3)][n%3+this.moduleCount-8-3]=i}for(var n=0;n<18;n++){var i=!t&&1==(e>>n&1);this.modules[n%3+this.moduleCount-8-3][Math.floor(n/3)]=i}},setupTypeInfo:function(t,e){for(var n=this.errorCorrectLevel<<3|e,i=c.getBCHTypeInfo(n),r=0;r<15;r++){var o=!t&&1==(i>>r&1);r<6?this.modules[r][8]=o:r<8?this.modules[r+1][8]=o:this.modules[this.moduleCount-15+r][8]=o}for(var r=0;r<15;r++){var o=!t&&1==(i>>r&1);r<8?this.modules[8][this.moduleCount-r-1]=o:r<9?this.modules[8][15-r-1+1]=o:this.modules[8][15-r-1]=o}this.modules[this.moduleCount-8][8]=!t},mapData:function(t,e){for(var n=-1,i=this.moduleCount-1,r=7,o=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var s=0;s<2;s++)if(null==this.modules[i][a-s]){var l=!1;o<t.length&&(l=1==(t[o]>>>r&1));var u=c.getMask(e,i,a-s);u&&(l=!l),this.modules[i][a-s]=l,-1==--r&&(o++,r=7)}if((i+=n)<0||this.moduleCount<=i){i-=n,n=-n;break}}}},o.PAD0=236,o.PAD1=17,o.createData=function(t,e,n){for(var r=i.getRSBlocks(t,e),s=new a,l=0;l<n.length;l++){var u=n[l];s.put(u.mode,4),s.put(u.getLength(),c.getLengthInBits(u.mode,t)),u.write(s)}for(var d=0,l=0;l<r.length;l++)d+=r[l].dataCount;if(s.getLengthInBits()>8*d)throw new Error("code length overflow. ("+s.getLengthInBits()+">"+8*d+")");for(s.getLengthInBits()+4<=8*d&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(!1);for(;!(s.getLengthInBits()>=8*d)&&(s.put(o.PAD0,8),!(s.getLengthInBits()>=8*d));)s.put(o.PAD1,8);return o.createBytes(s,r)},o.createBytes=function(t,e){for(var i=0,r=0,o=0,a=new Array(e.length),s=new Array(e.length),l=0;l<e.length;l++){var u=e[l].dataCount,d=e[l].totalCount-u;r=Math.max(r,u),o=Math.max(o,d),a[l]=new Array(u);for(var f=0;f<a[l].length;f++)a[l][f]=255&t.buffer[f+i];i+=u;var h=c.getErrorCorrectPolynomial(d),p=new n(a[l],h.getLength()-1),g=p.mod(h);s[l]=new Array(h.getLength()-1);for(var f=0;f<s[l].length;f++){var v=f+g.getLength()-s[l].length;s[l][f]=v>=0?g.get(v):0}}for(var m=0,f=0;f<e.length;f++)m+=e[f].totalCount;for(var y=new Array(m),b=0,f=0;f<r;f++)for(var l=0;l<e.length;l++)f<a[l].length&&(y[b++]=a[l][f]);for(var f=0;f<o;f++)for(var l=0;l<e.length;l++)f<s[l].length&&(y[b++]=s[l][f]);return y};for(var s={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},l={L:1,M:0,Q:3,H:2},u={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},c={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(t){for(var e=t<<10;c.getBCHDigit(e)-c.getBCHDigit(c.G15)>=0;)e^=c.G15<<c.getBCHDigit(e)-c.getBCHDigit(c.G15);return(t<<10|e)^c.G15_MASK},getBCHTypeNumber:function(t){for(var e=t<<12;c.getBCHDigit(e)-c.getBCHDigit(c.G18)>=0;)e^=c.G18<<c.getBCHDigit(e)-c.getBCHDigit(c.G18);return t<<12|e},getBCHDigit:function(t){for(var e=0;0!=t;)e++,t>>>=1;return e},getPatternPosition:function(t){return c.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,e,n){switch(t){case u.PATTERN000:return(e+n)%2==0;case u.PATTERN001:return e%2==0;case u.PATTERN010:return n%3==0;case u.PATTERN011:return(e+n)%3==0;case u.PATTERN100:return(Math.floor(e/2)+Math.floor(n/3))%2==0;case u.PATTERN101:return e*n%2+e*n%3==0;case u.PATTERN110:return(e*n%2+e*n%3)%2==0;case u.PATTERN111:return(e*n%3+(e+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}},getErrorCorrectPolynomial:function(t){for(var e=new n([1],0),i=0;i<t;i++)e=e.multiply(new n([1,d.gexp(i)],0));return e},getLengthInBits:function(t,e){if(1<=e&&e<10)switch(t){case s.MODE_NUMBER:return 10;case s.MODE_ALPHA_NUM:return 9;case s.MODE_8BIT_BYTE:case s.MODE_KANJI:return 8;default:throw new Error("mode:"+t)}else if(e<27)switch(t){case s.MODE_NUMBER:return 12;case s.MODE_ALPHA_NUM:return 11;case s.MODE_8BIT_BYTE:return 16;case s.MODE_KANJI:return 10;default:throw new Error("mode:"+t)}else{if(!(e<41))throw new Error("type:"+e);switch(t){case s.MODE_NUMBER:return 14;case s.MODE_ALPHA_NUM:return 13;case s.MODE_8BIT_BYTE:return 16;case s.MODE_KANJI:return 12;default:throw new Error("mode:"+t)}}},getLostPoint:function(t){for(var e=t.getModuleCount(),n=0,i=0;i<e;i++)for(var r=0;r<e;r++){for(var o=0,a=t.isDark(i,r),s=-1;s<=1;s++)if(!(i+s<0||e<=i+s))for(var l=-1;l<=1;l++)r+l<0||e<=r+l||0==s&&0==l||a==t.isDark(i+s,r+l)&&o++;o>5&&(n+=3+o-5)}for(var i=0;i<e-1;i++)for(var r=0;r<e-1;r++){var u=0;t.isDark(i,r)&&u++,t.isDark(i+1,r)&&u++,t.isDark(i,r+1)&&u++,t.isDark(i+1,r+1)&&u++,0!=u&&4!=u||(n+=3)}for(var i=0;i<e;i++)for(var r=0;r<e-6;r++)t.isDark(i,r)&&!t.isDark(i,r+1)&&t.isDark(i,r+2)&&t.isDark(i,r+3)&&t.isDark(i,r+4)&&!t.isDark(i,r+5)&&t.isDark(i,r+6)&&(n+=40);for(var r=0;r<e;r++)for(var i=0;i<e-6;i++)t.isDark(i,r)&&!t.isDark(i+1,r)&&t.isDark(i+2,r)&&t.isDark(i+3,r)&&t.isDark(i+4,r)&&!t.isDark(i+5,r)&&t.isDark(i+6,r)&&(n+=40);for(var c=0,r=0;r<e;r++)for(var i=0;i<e;i++)t.isDark(i,r)&&c++;return n+=Math.abs(100*c/e/e-50)/5*10}},d={glog:function(t){if(t<1)throw new Error("glog("+t+")");return d.LOG_TABLE[t]},gexp:function(t){for(;t<0;)t+=255;for(;t>=256;)t-=255;return d.EXP_TABLE[t]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},f=0;f<8;f++)d.EXP_TABLE[f]=1<<f;for(var f=8;f<256;f++)d.EXP_TABLE[f]=d.EXP_TABLE[f-4]^d.EXP_TABLE[f-5]^d.EXP_TABLE[f-6]^d.EXP_TABLE[f-8];for(var f=0;f<255;f++)d.LOG_TABLE[d.EXP_TABLE[f]]=f;n.prototype={get:function(t){return this.num[t]},getLength:function(){return this.num.length},multiply:function(t){for(var e=new Array(this.getLength()+t.getLength()-1),i=0;i<this.getLength();i++)for(var r=0;r<t.getLength();r++)e[i+r]^=d.gexp(d.glog(this.get(i))+d.glog(t.get(r)));return new n(e,0)},mod:function(t){if(this.getLength()-t.getLength()<0)return this;for(var e=d.glog(this.get(0))-d.glog(t.get(0)),i=new Array(this.getLength()),r=0;r<this.getLength();r++)i[r]=this.get(r);for(var r=0;r<t.getLength();r++)i[r]^=d.gexp(d.glog(t.get(r))+e);return new n(i,0).mod(t)}},i.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],i.getRSBlocks=function(t,e){var n=i.getRsBlockTable(t,e);if(void 0==n)throw new Error("bad rs block @ typeNumber:"+t+"/errorCorrectLevel:"+e);for(var r=n.length/3,o=new Array,a=0;a<r;a++)for(var s=n[3*a+0],l=n[3*a+1],u=n[3*a+2],c=0;c<s;c++)o.push(new i(l,u));return o},i.getRsBlockTable=function(t,e){switch(e){case l.L:return i.RS_BLOCK_TABLE[4*(t-1)+0];case l.M:return i.RS_BLOCK_TABLE[4*(t-1)+1];case l.Q:return i.RS_BLOCK_TABLE[4*(t-1)+2];case l.H:return i.RS_BLOCK_TABLE[4*(t-1)+3];default:return}},a.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var n=0;n<e;n++)this.putBit(1==(t>>>e-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},window.QRCode=o,window.QRErrorCorrectLevel=l;try{t.exports={QRCode:o,QRErrorCorrectLevel:l}}catch(t){}}])})},function(t,e){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(t){if(n===setTimeout)return setTimeout(t,0);if((n===defaultSetTimout||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}function runClearTimeout(t){if(i===clearTimeout)return clearTimeout(t);if((i===defaultClearTimeout||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{return i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}function cleanUpNextTick(){s&&o&&(s=!1,o.length?a=o.concat(a):l=-1,a.length&&drainQueue())}function drainQueue(){if(!s){var t=runTimeout(cleanUpNextTick);s=!0;for(var e=a.length;e;){for(o=a,a=[];++l<e;)o&&o[l].run();l=-1,e=a.length}o=null,s=!1,runClearTimeout(t)}}function Item(t,e){this.fun=t,this.array=e}function noop(){}var n,i,r=t.exports={};!function(){try{n="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(t){n=defaultSetTimout}try{i="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(t){i=defaultClearTimeout}}();var o,a=[],s=!1,l=-1;r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];a.push(new Item(t,e)),1!==a.length||s||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=noop,r.addListener=noop,r.once=noop,r.off=noop,r.removeListener=noop,r.removeAllListeners=noop,r.emit=noop,r.prependListener=noop,r.prependOnceListener=noop,r.listeners=function(t){return[]},r.binding=function(t){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(t){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},function(t,e,n){(function(){var e,i,r,o,a={}.hasOwnProperty,s=function(t,e){function ctor(){this.constructor=t}for(var n in e)a.call(e,n)&&(t[n]=e[n]);return ctor.prototype=e.prototype,t.prototype=new ctor,t.__super__=e.prototype,t};o=n(20),r=n(19),e=n(0),i={},i.sniff=function(t){return null!=t.commonAncestorContainer?new i.BrowserRange(t):"string"==typeof t.start?new i.SerializedRange(t):t.start&&"object"==typeof t.start?new i.NormalizedRange(t):(console.error("Could not sniff range type"),!1)},i.RangeError=function(t){function RangeError(t,e,n){this.type=t,this.message=e,this.parent=null!=n?n:null,RangeError.__super__.constructor.call(this,this.message)}return s(RangeError,t),RangeError}(Error),i.BrowserRange=function(){function BrowserRange(t){this.commonAncestorContainer=t.commonAncestorContainer,this.startContainer=t.startContainer,this.startOffset=t.startOffset,this.endContainer=t.endContainer,this.endOffset=t.endOffset}return BrowserRange.prototype.normalize=function(t){var e,n;if(this.tainted)return console.error("You may only call normalize() once on a BrowserRange!"),!1;for(this.tainted=!0,n={},this._normalizeStart(n),this._normalizeEnd(n),e={},n.startOffset>0?n.start.nodeValue.length>n.startOffset?e.start=n.start.splitText(n.startOffset):e.start=n.start.nextSibling:e.start=n.start,n.start===n.end?(e.start.nodeValue.length>n.endOffset-n.startOffset&&e.start.splitText(n.endOffset-n.startOffset),e.end=e.start):(n.end.nodeValue.length>n.endOffset&&n.end.splitText(n.endOffset),e.end=n.end),e.commonAncestor=this.commonAncestorContainer;e.commonAncestor.nodeType!==r.NodeTypes.ELEMENT_NODE;)e.commonAncestor=e.commonAncestor.parentNode;return new i.NormalizedRange(e)},BrowserRange.prototype._normalizeStart=function(t){return this.startContainer.nodeType===r.NodeTypes.ELEMENT_NODE?(t.start=r.getFirstTextNodeNotBefore(this.startContainer.childNodes[this.startOffset]),t.startOffset=0):(t.start=this.startContainer,t.startOffset=this.startOffset)},BrowserRange.prototype._normalizeEnd=function(t){var e,n;if(this.endContainer.nodeType!==r.NodeTypes.ELEMENT_NODE)return t.end=this.endContainer,t.endOffset=this.endOffset;if(null!=(n=this.endContainer.childNodes[this.endOffset])){for(e=n;null!=e&&e.nodeType!==r.NodeTypes.TEXT_NODE;)e=e.firstChild;null!=e&&(t.end=e,t.endOffset=0)}return null==t.end?(n=this.endOffset?this.endContainer.childNodes[this.endOffset-1]:this.endContainer.previousSibling,t.end=r.getLastTextNodeUpTo(n),t.endOffset=t.end.nodeValue.length):void 0},BrowserRange.prototype.serialize=function(t,e){return this.normalize(t).serialize(t,e)},BrowserRange}(),i.NormalizedRange=function(){function NormalizedRange(t){this.commonAncestor=t.commonAncestor,this.start=t.start,this.end=t.end}return NormalizedRange.prototype.normalize=function(t){return this},NormalizedRange.prototype.limit=function(t){var n,i,r,o,a,s;if(n=e.grep(this.textNodes(),function(n){return n.parentNode===t||e.contains(t,n.parentNode)}),!n.length)return null;for(this.start=n[0],this.end=n[n.length-1],r=e(this.start).parents(),s=e(this.end).parents(),o=0,a=s.length;o<a;o++)if(i=s[o],-1!==r.index(i)){this.commonAncestor=i;break}return this},NormalizedRange.prototype.serialize=function(t,n){var a,s,l;return s=function(i,a){var s,l,u,c,d,f,h,p;for(c=n?e(i).parents(":not("+n+")").eq(0):e(i).parent(),d=o.fromNode(c,t)[0],f=r.getTextNodes(c),l=f.slice(0,f.index(i)),u=0,h=0,p=l.length;h<p;h++)s=l[h],u+=s.nodeValue.length;return a?[d,u+i.nodeValue.length]:[d,u]},l=s(this.start),a=s(this.end,!0),new i.SerializedRange({start:l[0],end:a[0],startOffset:l[1],endOffset:a[1]})},NormalizedRange.prototype.text=function(){var t;return function(){var e,n,i,r;for(i=this.textNodes(),r=[],e=0,n=i.length;e<n;e++)t=i[e],r.push(t.nodeValue);return r}.call(this).join("")},NormalizedRange.prototype.textNodes=function(){var t,n,i,o;return i=r.getTextNodes(e(this.commonAncestor)),o=[i.index(this.start),i.index(this.end)],n=o[0],t=o[1],e.makeArray(i.slice(n,+t+1||9e9))},NormalizedRange}(),i.SerializedRange=function(){function SerializedRange(t){this.start=t.start,this.startOffset=t.startOffset,this.end=t.end,this.endOffset=t.endOffset}return SerializedRange.prototype.normalize=function(t){var n,a,s,l,u,c,d,f,h,p,g,v,m,y;for(c={},m=["start","end"],h=0,g=m.length;h<g;h++){u=m[h];try{l=o.toNode(this[u],t)}catch(t){throw a=t,new i.RangeError(u,"Error while finding "+u+" node: "+this[u]+": "+a,a)}if(!l)throw new i.RangeError(u,"Couldn't find "+u+" node: "+this[u]);for(s=0,d=this[u+"Offset"],"end"===u&&(d-=1),y=r.getTextNodes(e(l)),p=0,v=y.length;p<v;p++){if(f=y[p],s+f.nodeValue.length>d){c[u+"Container"]=f,c[u+"Offset"]=this[u+"Offset"]-s;break}s+=f.nodeValue.length}if(null==c[u+"Offset"])throw new i.RangeError(u+"offset","Couldn't find offset "+this[u+"Offset"]+" in element "+this[u])}return n=null!=document.compareDocumentPosition?function(t,e){return t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY}:function(t,e){return t.contains(e)},e(c.startContainer).parents().each(function(){var t;if(t=c.endContainer.nodeType===r.NodeTypes.TEXT_NODE?c.endContainer.parentNode:c.endContainer,n(this,t))return c.commonAncestorContainer=this,!1}),new i.BrowserRange(c).normalize(t)},SerializedRange.prototype.serialize=function(t,e){return this.normalize(t).serialize(t,e)},SerializedRange.prototype.toObject=function(){return{start:this.start,startOffset:this.startOffset,end:this.end,endOffset:this.endOffset}},SerializedRange}(),t.exports=i}).call(this)},function(t,e){},,,,,function(t,e,n){"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}var i=n(4),r=_interopRequireDefault(i),o=n(0),a=_interopRequireDefault(o);(0,a.default)(document).ready(function(){(0,a.default)("#article").length>0&&(r.default.bind("o",function(){(0,a.default)("ul.side-nav a.original i")[0].click()}),r.default.bind("f",function(){(0,a.default)("ul.side-nav a.favorite i")[0].click()}),r.default.bind("a",function(){(0,a.default)("ul.side-nav a.markasread i")[0].click()}),r.default.bind("del",function(){(0,a.default)("ul.side-nav a.delete i")[0].click()}))})},function(t,e,n){"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function toggleFocus(t){t&&(0,a.default)(t).toggleClass("z-depth-4")}var i=n(4),r=_interopRequireDefault(i),o=n(0),a=_interopRequireDefault(o);(0,a.default)(document).ready(function(){var t=(0,a.default)("#content").find(".card"),e=t.length,n=0;"#prev"===window.location.hash&&(n=e-1);var i=t[n],o=(0,a.default)(".pagination");(0,a.default)("#content > div.quickstart").length>0||(0,a.default)("#username").length>0||(0,a.default)("#fos_user_registration_form_username").length>0||(0,a.default)("#username").length>0||(0,a.default)("#fos_user_registration_form_username").length>0||(toggleFocus(i),r.default.bind("g n",function(){return(0,a.default)("#nav-btn-add").trigger("click"),!1}),r.default.bind("s",function(){return(0,a.default)("#nav-btn-search").trigger("click"),!1}),r.default.bind("esc",function(){(0,a.default)(".close").trigger("click")}),r.default.bind("right",function(){if(n>=0&&n<e-1)return toggleFocus(i),n+=1,i=t[n],void toggleFocus(i);o.length>0&&o.find("li.next:not(.disabled)").length>0&&n===e-1&&(window.location.href=window.location.origin+(0,a.default)(o).find("li.next a").attr("href"))}),r.default.bind("left",function(){if(n>0&&n<e)return toggleFocus(i),n-=1,i=t[n],void toggleFocus(i);o.length>0&&(0,a.default)(o).find("li.prev:not(.disabled)").length>0&&0===n&&(window.location.href=window.location.origin+(0,a.default)(o).find("li.prev a").attr("href")+"#prev")}),r.default.bind("enter",function(){window.location.href=window.location.origin+(0,a.default)(i).find("span.card-title a").attr("href")}))})},function(t,e,n){"use strict";function initFilters(){(0,r.default)("div").is("#filters")&&((0,r.default)("#button_filters").show(),(0,r.default)(".js-filters-action").sideNav({edge:"right"}),(0,r.default)("#clear_form_filters").on("click",function(){return(0,r.default)("#filters input").val(""),(0,r.default)("#filters :checked").removeAttr("checked"),!1}))}function initExport(){(0,r.default)("div").is("#export")&&((0,r.default)("#button_export").show(),(0,r.default)(".js-export-action").sideNav({edge:"right"}))}Object.defineProperty(e,"__esModule",{value:!0}),e.initFilters=e.initExport=void 0;var i=n(0),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.initExport=initExport,e.initFilters=initFilters},,,function(t,e){},function(t,e){},function(e,i,a){(function(d,f){var h,g,g,h,b,g,b,h,T,h,b,g;if(void 0===C){var C;C=d=a(0)}C.easing.jswing=C.easing.swing,C.extend(C.easing,{def:"easeOutQuad",swing:function(t,e,n,i,r){return C.easing[C.easing.def](t,e,n,i,r)},easeInQuad:function(t,e,n,i,r){return i*(e/=r)*e+n},easeOutQuad:function(t,e,n,i,r){return-i*(e/=r)*(e-2)+n},easeInOutQuad:function(t,e,n,i,r){return(e/=r/2)<1?i/2*e*e+n:-i/2*(--e*(e-2)-1)+n},easeInCubic:function(t,e,n,i,r){return i*(e/=r)*e*e+n},easeOutCubic:function(t,e,n,i,r){return i*((e=e/r-1)*e*e+1)+n},easeInOutCubic:function(t,e,n,i,r){return(e/=r/2)<1?i/2*e*e*e+n:i/2*((e-=2)*e*e+2)+n},easeInQuart:function(t,e,n,i,r){return i*(e/=r)*e*e*e+n},easeOutQuart:function(t,e,n,i,r){return-i*((e=e/r-1)*e*e*e-1)+n},easeInOutQuart:function(t,e,n,i,r){return(e/=r/2)<1?i/2*e*e*e*e+n:-i/2*((e-=2)*e*e*e-2)+n},easeInQuint:function(t,e,n,i,r){return i*(e/=r)*e*e*e*e+n},easeOutQuint:function(t,e,n,i,r){return i*((e=e/r-1)*e*e*e*e+1)+n},easeInOutQuint:function(t,e,n,i,r){return(e/=r/2)<1?i/2*e*e*e*e*e+n:i/2*((e-=2)*e*e*e*e+2)+n},easeInSine:function(t,e,n,i,r){return-i*Math.cos(e/r*(Math.PI/2))+i+n},easeOutSine:function(t,e,n,i,r){return i*Math.sin(e/r*(Math.PI/2))+n},easeInOutSine:function(t,e,n,i,r){return-i/2*(Math.cos(Math.PI*e/r)-1)+n},easeInExpo:function(t,e,n,i,r){return 0==e?n:i*Math.pow(2,10*(e/r-1))+n},easeOutExpo:function(t,e,n,i,r){return e==r?n+i:i*(1-Math.pow(2,-10*e/r))+n},easeInOutExpo:function(t,e,n,i,r){return 0==e?n:e==r?n+i:(e/=r/2)<1?i/2*Math.pow(2,10*(e-1))+n:i/2*(2-Math.pow(2,-10*--e))+n},easeInCirc:function(t,e,n,i,r){return-i*(Math.sqrt(1-(e/=r)*e)-1)+n},easeOutCirc:function(t,e,n,i,r){return i*Math.sqrt(1-(e=e/r-1)*e)+n},easeInOutCirc:function(t,e,n,i,r){return(e/=r/2)<1?-i/2*(Math.sqrt(1-e*e)-1)+n:i/2*(Math.sqrt(1-(e-=2)*e)+1)+n},easeInElastic:function(t,e,n,i,r){var o=1.70158,a=0,s=i;if(0==e)return n;if(1==(e/=r))return n+i;if(a||(a=.3*r),s<Math.abs(i)){s=i;var o=a/4}else var o=a/(2*Math.PI)*Math.asin(i/s);return-s*Math.pow(2,10*(e-=1))*Math.sin((e*r-o)*(2*Math.PI)/a)+n},easeOutElastic:function(t,e,n,i,r){var o=1.70158,a=0,s=i;if(0==e)return n;if(1==(e/=r))return n+i;if(a||(a=.3*r),s<Math.abs(i)){s=i;var o=a/4}else var o=a/(2*Math.PI)*Math.asin(i/s);return s*Math.pow(2,-10*e)*Math.sin((e*r-o)*(2*Math.PI)/a)+i+n},easeInOutElastic:function(t,e,n,i,r){var o=1.70158,a=0,s=i;if(0==e)return n;if(2==(e/=r/2))return n+i;if(a||(a=r*(.3*1.5)),s<Math.abs(i)){s=i;var o=a/4}else var o=a/(2*Math.PI)*Math.asin(i/s);return e<1?s*Math.pow(2,10*(e-=1))*Math.sin((e*r-o)*(2*Math.PI)/a)*-.5+n:s*Math.pow(2,-10*(e-=1))*Math.sin((e*r-o)*(2*Math.PI)/a)*.5+i+n},easeInBack:function(t,e,n,i,r,o){return void 0==o&&(o=1.70158),i*(e/=r)*e*((o+1)*e-o)+n},easeOutBack:function(t,e,n,i,r,o){return void 0==o&&(o=1.70158),i*((e=e/r-1)*e*((o+1)*e+o)+1)+n},easeInOutBack:function(t,e,n,i,r,o){return void 0==o&&(o=1.70158),(e/=r/2)<1?i/2*(e*e*((1+(o*=1.525))*e-o))+n:i/2*((e-=2)*e*((1+(o*=1.525))*e+o)+2)+n},easeInBounce:function(t,e,n,i,r){return i-C.easing.easeOutBounce(t,r-e,0,i,r)+n},easeOutBounce:function(t,e,n,i,r){return(e/=r)<1/2.75?i*(7.5625*e*e)+n:e<2/2.75?i*(7.5625*(e-=1.5/2.75)*e+.75)+n:e<2.5/2.75?i*(7.5625*(e-=2.25/2.75)*e+.9375)+n:i*(7.5625*(e-=2.625/2.75)*e+.984375)+n},easeInOutBounce:function(t,e,n,i,r){return e<r/2?.5*C.easing.easeInBounce(t,2*e,0,i,r)+n:.5*C.easing.easeOutBounce(t,2*e-r,0,i,r)+.5*i+n}}),C.extend(C.easing,{easeInOutMaterial:function(t,e,n,i,r){return(e/=r/2)<1?i/2*e*e+n:i/4*((e-=2)*e*e+2)+n}}),C.Velocity?console.log("Velocity is already loaded. You may be needlessly importing Velocity again; note that Materialize includes Velocity."):(function(n){function t(t){var e=t.length,n=i.type(t);return"function"!==n&&!i.isWindow(t)&&(!(1!==t.nodeType||!e)||("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t))}if(!f){var i=function(t,e){return new i.fn.init(t,e)};i.isWindow=function(t){return null!=t&&t==t.window},i.type=function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?o[s.call(t)]||"object":typeof t},i.isArray=Array.isArray||function(t){return"array"===i.type(t)},i.isPlainObject=function(t){var e;if(!t||"object"!==i.type(t)||t.nodeType||i.isWindow(t))return!1;try{if(t.constructor&&!a.call(t,"constructor")&&!a.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}for(e in t);return void 0===e||a.call(t,e)},i.each=function(e,n,i){var r=0,o=e.length,a=t(e);if(i){if(a)for(;o>r&&!1!==n.apply(e[r],i);r++);else for(r in e)if(!1===n.apply(e[r],i))break}else if(a)for(;o>r&&!1!==n.call(e[r],r,e[r]);r++);else for(r in e)if(!1===n.call(e[r],r,e[r]))break;return e},i.data=function(t,e,n){if(void 0===n){var o=t[i.expando],a=o&&r[o];if(void 0===e)return a;if(a&&e in a)return a[e]}else if(void 0!==e){var o=t[i.expando]||(t[i.expando]=++i.uuid);return r[o]=r[o]||{},r[o][e]=n,n}},i.removeData=function(t,e){var n=t[i.expando],o=n&&r[n];o&&i.each(e,function(t,e){delete o[e]})},i.extend=function(){var t,e,n,r,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[l]||{},l++),"object"!=typeof s&&"function"!==i.type(s)&&(s={}),l===u&&(s=this,l--);u>l;l++)if(null!=(o=arguments[l]))for(r in o)t=s[r],n=o[r],s!==n&&(c&&n&&(i.isPlainObject(n)||(e=i.isArray(n)))?(e?(e=!1,a=t&&i.isArray(t)?t:[]):a=t&&i.isPlainObject(t)?t:{},s[r]=i.extend(c,a,n)):void 0!==n&&(s[r]=n));return s},i.queue=function(e,n,r){if(e){n=(n||"fx")+"queue";var o=i.data(e,n);return r?(!o||i.isArray(r)?o=i.data(e,n,function(e,n){var i=n||[];return null!=e&&(t(Object(e))?function(t,e){for(var n=+e.length,i=0,r=t.length;n>i;)t[r++]=e[i++];if(n!==n)for(;void 0!==e[i];)t[r++]=e[i++];t.length=r}(i,"string"==typeof e?[e]:e):[].push.call(i,e)),i}(r)):o.push(r),o):o||[]}},i.dequeue=function(t,e){i.each(t.nodeType?[t]:t,function(t,n){e=e||"fx";var r=i.queue(n,e),o=r.shift();"inprogress"===o&&(o=r.shift()),o&&("fx"===e&&r.unshift("inprogress"),o.call(n,function(){i.dequeue(n,e)}))})},i.fn=i.prototype={init:function(t){if(t.nodeType)return this[0]=t,this;throw new Error("Not a DOM node.")},offset:function(){var t=this[0].getBoundingClientRect?this[0].getBoundingClientRect():{top:0,left:0};return{top:t.top+(n.pageYOffset||document.scrollTop||0)-(document.clientTop||0),left:t.left+(n.pageXOffset||document.scrollLeft||0)-(document.clientLeft||0)}},position:function(){function e(){for(var t=this.offsetParent||document;t&&"html"===!t.nodeType.toLowerCase&&"static"===t.style.position;)t=t.offsetParent;return t||document}var t=this[0],e=e.apply(t),n=this.offset(),r=/^(?:body|html)$/i.test(e.nodeName)?{top:0,left:0}:i(e).offset();return n.top-=parseFloat(t.style.marginTop)||0,n.left-=parseFloat(t.style.marginLeft)||0,e.style&&(r.top+=parseFloat(e.style.borderTopWidth)||0,r.left+=parseFloat(e.style.borderLeftWidth)||0),{top:n.top-r.top,left:n.left-r.left}}};var r={};i.expando="velocity"+(new Date).getTime(),i.uuid=0;for(var o={},a=o.hasOwnProperty,s=o.toString,l="Boolean Number String Function Array Date RegExp Object Error".split(" "),u=0;u<l.length;u++)o["[object "+l[u]+"]"]=l[u].toLowerCase();i.fn.init.prototype=i.fn,n.Velocity={Utilities:i}}}(window),function(t){"object"==typeof e&&"object"==typeof e.exports?e.exports=t():(h=t,void 0!==(g="function"==typeof h?h.call(i,a,i,e):h)&&(e.exports=g))}(function(){return function(r,a,h,v){function n(t){for(var e=-1,n=t?t.length:0,i=[];++e<n;){var r=t[e];r&&i.push(r)}return i}function o(t){return w.isWrapped(t)?t=[].slice.call(t):w.isNode(t)&&(t=[t]),t}function i(t){var e=m.data(t,"velocity");return null===e?v:e}function s(t){return function(e){return Math.round(e*t)*(1/t)}}function l(t,e,n,r){function o(t,e){return 1-3*e+3*t}function i(t,e){return 3*e-6*t}function s(t){return 3*t}function l(t,e,n){return((o(e,n)*t+i(e,n))*t+s(e))*t}function u(t,e,n){return 3*o(e,n)*t*t+2*i(e,n)*t+s(e)}function c(e,i){for(var r=0;h>r;++r){var o=u(i,t,n);if(0===o)return i;i-=(l(i,t,n)-e)/o}return i}function p(){for(var e=0;b>e;++e)C[e]=l(e*w,t,n)}function f(e,i,r){var o,a,s=0;do{a=i+(r-i)/2,o=l(a,t,n)-e,o>0?r=a:i=a}while(Math.abs(o)>m&&++s<y);return a}function d(e){for(var i=0,r=1,o=b-1;r!=o&&C[r]<=e;++r)i+=w;--r;var a=(e-C[r])/(C[r+1]-C[r]),s=i+a*w,l=u(s,t,n);return l>=v?c(e,s):0==l?s:f(e,i,i+w)}function g(){k=!0,(t!=e||n!=r)&&p()}var h=4,v=.001,m=1e-7,y=10,b=11,w=1/(b-1),x="Float32Array"in a;if(4!==arguments.length)return!1;for(var T=0;4>T;++T)if("number"!=typeof arguments[T]||isNaN(arguments[T])||!isFinite(arguments[T]))return!1;t=Math.min(t,1),n=Math.min(n,1),t=Math.max(t,0),n=Math.max(n,0);var C=x?new Float32Array(b):new Array(b),k=!1,E=function(i){return k||g(),t===e&&n===r?i:0===i?0:1===i?1:l(d(i),e,r)};E.getControlPoints=function(){return[{x:t,y:e},{x:n,y:r}]};var S="generateBezier("+[t,e,n,r]+")";return E.toString=function(){return S},E}function u(t,e){var n=t;return w.isString(t)?E.Easings[t]||(n=!1):n=w.isArray(t)&&1===t.length?s.apply(null,t):w.isArray(t)&&2===t.length?S.apply(null,t.concat([e])):!(!w.isArray(t)||4!==t.length)&&l.apply(null,t),!1===n&&(n=E.Easings[E.defaults.easing]?E.defaults.easing:k),n}function c(t){if(t){var e=(new Date).getTime(),r=E.State.calls.length;r>1e4&&(E.State.calls=n(E.State.calls));for(var o=0;r>o;o++)if(E.State.calls[o]){var a=E.State.calls[o],s=a[0],l=a[2],u=a[3],d=!!u,f=null;u||(u=E.State.calls[o][3]=e-16);for(var h=Math.min((e-u)/l.duration,1),g=0,y=s.length;y>g;g++){var b=s[g],x=b.element;if(i(x)){var T=!1;if(l.display!==v&&null!==l.display&&"none"!==l.display){if("flex"===l.display){var C=["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex"];m.each(C,function(t,e){_.setPropertyValue(x,"display",e)})}_.setPropertyValue(x,"display",l.display)}l.visibility!==v&&"hidden"!==l.visibility&&_.setPropertyValue(x,"visibility",l.visibility);for(var k in b)if("element"!==k){var S,A=b[k],D=w.isString(A.easing)?E.Easings[A.easing]:A.easing;if(1===h)S=A.endValue;else{var O=A.endValue-A.startValue;if(S=A.startValue+O*D(h,l,O),!d&&S===A.currentValue)continue}if(A.currentValue=S,"tween"===k)f=S;else{if(_.Hooks.registered[k]){var N=_.Hooks.getRoot(k),M=i(x).rootPropertyValueCache[N];M&&(A.rootPropertyValue=M)}var I=_.setPropertyValue(x,k,A.currentValue+(0===parseFloat(S)?"":A.unitType),A.rootPropertyValue,A.scrollData);_.Hooks.registered[k]&&(i(x).rootPropertyValueCache[N]=_.Normalizations.registered[N]?_.Normalizations.registered[N]("extract",null,I[1]):I[1]),"transform"===I[0]&&(T=!0)}}l.mobileHA&&i(x).transformCache.translate3d===v&&(i(x).transformCache.translate3d="(0px, 0px, 0px)",T=!0),T&&_.flushTransformCache(x)}}l.display!==v&&"none"!==l.display&&(E.State.calls[o][2].display=!1),l.visibility!==v&&"hidden"!==l.visibility&&(E.State.calls[o][2].visibility=!1),l.progress&&l.progress.call(a[1],a[1],h,Math.max(0,u+l.duration-e),u,f),1===h&&p(o)}}E.State.isTicking&&P(c)}function p(t,e){if(!E.State.calls[t])return!1;for(var n=E.State.calls[t][0],r=E.State.calls[t][1],o=E.State.calls[t][2],a=E.State.calls[t][4],s=!1,l=0,u=n.length;u>l;l++){var c=n[l].element;if(e||o.loop||("none"===o.display&&_.setPropertyValue(c,"display",o.display),"hidden"===o.visibility&&_.setPropertyValue(c,"visibility",o.visibility)),!0!==o.loop&&(m.queue(c)[1]===v||!/\.velocityQueueEntryFlag/i.test(m.queue(c)[1]))&&i(c)){i(c).isAnimating=!1,i(c).rootPropertyValueCache={};var d=!1;m.each(_.Lists.transforms3D,function(t,e){var n=/^scale/.test(e)?1:0,r=i(c).transformCache[e];i(c).transformCache[e]!==v&&new RegExp("^\\("+n+"[^.]").test(r)&&(d=!0,delete i(c).transformCache[e])}),o.mobileHA&&(d=!0,delete i(c).transformCache.translate3d),d&&_.flushTransformCache(c),_.Values.removeClass(c,"velocity-animating")}if(!e&&o.complete&&!o.loop&&l===u-1)try{o.complete.call(r,r)}catch(t){setTimeout(function(){throw t},1)}a&&!0!==o.loop&&a(r),i(c)&&!0===o.loop&&!e&&(m.each(i(c).tweensContainer,function(t,e){/^rotate/.test(t)&&360===parseFloat(e.endValue)&&(e.endValue=0,e.startValue=360),/^backgroundPosition/.test(t)&&100===parseFloat(e.endValue)&&"%"===e.unitType&&(e.endValue=0,e.startValue=100)}),E(c,"reverse",{loop:!0,delay:o.delay})),!1!==o.queue&&m.dequeue(c,o.queue)}E.State.calls[t]=!1;for(var f=0,h=E.State.calls.length;h>f;f++)if(!1!==E.State.calls[f]){s=!0;break}!1===s&&(E.State.isTicking=!1,delete E.State.calls,E.State.calls=[])}var m,y=function(){if(h.documentMode)return h.documentMode;for(var t=7;t>4;t--){var e=h.createElement("div");if(e.innerHTML="\x3c!--[if IE "+t+"]><span></span><![endif]--\x3e",e.getElementsByTagName("span").length)return e=null,t}return v}(),b=function(){var t=0;return a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||function(e){var n,i=(new Date).getTime();return n=Math.max(0,16-(i-t)),t=i+n,setTimeout(function(){e(i+n)},n)}}(),w={isString:function(t){return"string"==typeof t},isArray:Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},isFunction:function(t){return"[object Function]"===Object.prototype.toString.call(t)},isNode:function(t){return t&&t.nodeType},isNodeList:function(t){return"object"==typeof t&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(t))&&t.length!==v&&(0===t.length||"object"==typeof t[0]&&t[0].nodeType>0)},isWrapped:function(t){return t&&(t.jquery||a.Zepto&&a.Zepto.zepto.isZ(t))},isSVG:function(t){return a.SVGElement&&t instanceof a.SVGElement},isEmptyObject:function(t){for(var e in t)return!1;return!0}},x=!1;if(r.fn&&r.fn.jquery?(m=r,x=!0):m=a.Velocity.Utilities,8>=y&&!x)throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");if(7>=y)return void(C.fn.velocity=C.fn.animate);var T=400,k="swing",E={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(navigator.userAgent),isChrome:a.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:h.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,calls:[]},CSS:{},Utilities:m,Redirects:{},Easings:{},Promise:a.Promise,defaults:{queue:"",duration:T,easing:k,begin:v,complete:v,progress:v,display:v,visibility:v,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0},init:function(t){m.data(t,"velocity",{isSVG:w.isSVG(t),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},hook:null,mock:!1,version:{major:1,minor:2,patch:2},debug:!1};a.pageYOffset!==v?(E.State.scrollAnchor=a,E.State.scrollPropertyLeft="pageXOffset",E.State.scrollPropertyTop="pageYOffset"):(E.State.scrollAnchor=h.documentElement||h.body.parentNode||h.body,E.State.scrollPropertyLeft="scrollLeft",E.State.scrollPropertyTop="scrollTop");var S=function(){function e(t){return-t.tension*t.x-t.friction*t.v}function t(t,n,i){var r={x:t.x+i.dx*n,v:t.v+i.dv*n,tension:t.tension,friction:t.friction};return{dx:r.v,dv:e(r)}}function r(n,i){var r={dx:n.v,dv:e(n)},o=t(n,.5*i,r),a=t(n,.5*i,o),s=t(n,i,a),l=1/6*(r.dx+2*(o.dx+a.dx)+s.dx),u=1/6*(r.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+l*i,n.v=n.v+u*i,n}return function a(t,e,n){var i,o,s,l={x:-1,v:0,tension:null,friction:null},u=[0],c=0;for(t=parseFloat(t)||500,e=parseFloat(e)||20,n=n||null,l.tension=t,l.friction=e,i=null!==n,i?(c=a(t,e),o=c/n*.016):o=.016;s=r(s||l,o),u.push(1+s.x),c+=16,Math.abs(s.x)>1e-4&&Math.abs(s.v)>1e-4;);return i?function(t){return u[t*(u.length-1)|0]}:c}}();E.Easings={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},spring:function(t){return 1-Math.cos(4.5*t*Math.PI)*Math.exp(6*-t)}},m.each([["ease",[.25,.1,.25,1]],["ease-in",[.42,0,1,1]],["ease-out",[0,0,.58,1]],["ease-in-out",[.42,0,.58,1]],["easeInSine",[.47,0,.745,.715]],["easeOutSine",[.39,.575,.565,1]],["easeInOutSine",[.445,.05,.55,.95]],["easeInQuad",[.55,.085,.68,.53]],["easeOutQuad",[.25,.46,.45,.94]],["easeInOutQuad",[.455,.03,.515,.955]],["easeInCubic",[.55,.055,.675,.19]],["easeOutCubic",[.215,.61,.355,1]],["easeInOutCubic",[.645,.045,.355,1]],["easeInQuart",[.895,.03,.685,.22]],["easeOutQuart",[.165,.84,.44,1]],["easeInOutQuart",[.77,0,.175,1]],["easeInQuint",[.755,.05,.855,.06]],["easeOutQuint",[.23,1,.32,1]],["easeInOutQuint",[.86,0,.07,1]],["easeInExpo",[.95,.05,.795,.035]],["easeOutExpo",[.19,1,.22,1]],["easeInOutExpo",[1,0,0,1]],["easeInCirc",[.6,.04,.98,.335]],["easeOutCirc",[.075,.82,.165,1]],["easeInOutCirc",[.785,.135,.15,.86]]],function(t,e){E.Easings[e[0]]=l.apply(null,e[1])});var _=E.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"]},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var t=0;t<_.Lists.colors.length;t++){var e="color"===_.Lists.colors[t]?"0 0 0 1":"255 255 255 1";_.Hooks.templates[_.Lists.colors[t]]=["Red Green Blue Alpha",e]}var n,i,r;if(y)for(n in _.Hooks.templates){i=_.Hooks.templates[n],r=i[0].split(" ");var o=i[1].match(_.RegEx.valueSplit);"Color"===r[0]&&(r.push(r.shift()),o.push(o.shift()),_.Hooks.templates[n]=[r.join(" "),o.join(" ")])}for(n in _.Hooks.templates){i=_.Hooks.templates[n],r=i[0].split(" ");for(var t in r){var a=n+r[t],s=t;_.Hooks.registered[a]=[n,s]}}},getRoot:function(t){var e=_.Hooks.registered[t];return e?e[0]:t},cleanRootPropertyValue:function(t,e){return _.RegEx.valueUnwrap.test(e)&&(e=e.match(_.RegEx.valueUnwrap)[1]),_.Values.isCSSNullValue(e)&&(e=_.Hooks.templates[t][1]),e},extractValue:function(t,e){var n=_.Hooks.registered[t];if(n){var i=n[0],r=n[1];return e=_.Hooks.cleanRootPropertyValue(i,e),e.toString().match(_.RegEx.valueSplit)[r]}return e},injectValue:function(t,e,n){var i=_.Hooks.registered[t];if(i){var r,o=i[0],a=i[1];return n=_.Hooks.cleanRootPropertyValue(o,n),r=n.toString().match(_.RegEx.valueSplit),r[a]=e,r.join(" ")}return n}},Normalizations:{registered:{clip:function(t,e,n){switch(t){case"name":return"clip";case"extract":var i;return _.RegEx.wrappedValueAlreadyExtracted.test(n)?i=n:(i=n.toString().match(_.RegEx.valueUnwrap),i=i?i[1].replace(/,(\s+)?/g," "):n),i;case"inject":return"rect("+n+")"}},blur:function(t,e,n){switch(t){case"name":return E.State.isFirefox?"filter":"-webkit-filter";case"extract":var i=parseFloat(n);if(!i&&0!==i){var r=n.toString().match(/blur\(([0-9]+[A-z]+)\)/i);i=r?r[1]:0}return i;case"inject":return parseFloat(n)?"blur("+n+")":"none"}},opacity:function(t,e,n){if(8>=y)switch(t){case"name":return"filter";case"extract":var i=n.toString().match(/alpha\(opacity=(.*)\)/i);return n=i?i[1]/100:1;case"inject":return e.style.zoom=1,parseFloat(n)>=1?"":"alpha(opacity="+parseInt(100*parseFloat(n),10)+")"}else switch(t){case"name":return"opacity";case"extract":case"inject":return n}}},register:function(){9>=y||E.State.isGingerbread||(_.Lists.transformsBase=_.Lists.transformsBase.concat(_.Lists.transforms3D));for(var t=0;t<_.Lists.transformsBase.length;t++)!function(){var e=_.Lists.transformsBase[t];_.Normalizations.registered[e]=function(t,n,r){switch(t){case"name":return"transform";case"extract":return i(n)===v||i(n).transformCache[e]===v?/^scale/i.test(e)?1:0:i(n).transformCache[e].replace(/[()]/g,"");case"inject":var o=!1;switch(e.substr(0,e.length-1)){case"translate":o=!/(%|px|em|rem|vw|vh|\d)$/i.test(r);break;case"scal":case"scale":E.State.isAndroid&&i(n).transformCache[e]===v&&1>r&&(r=1),o=!/(\d)$/i.test(r);break;case"skew":o=!/(deg|\d)$/i.test(r);break;case"rotate":o=!/(deg|\d)$/i.test(r)}return o||(i(n).transformCache[e]="("+r+")"),i(n).transformCache[e]}}}();for(var t=0;t<_.Lists.colors.length;t++)!function(){var e=_.Lists.colors[t];_.Normalizations.registered[e]=function(t,n,i){switch(t){case"name":return e;case"extract":var r;if(_.RegEx.wrappedValueAlreadyExtracted.test(i))r=i;else{var o,a={black:"rgb(0, 0, 0)",blue:"rgb(0, 0, 255)",gray:"rgb(128, 128, 128)",green:"rgb(0, 128, 0)",red:"rgb(255, 0, 0)",white:"rgb(255, 255, 255)"};/^[A-z]+$/i.test(i)?o=a[i]!==v?a[i]:a.black:_.RegEx.isHex.test(i)?o="rgb("+_.Values.hexToRgb(i).join(" ")+")":/^rgba?\(/i.test(i)||(o=a.black),r=(o||i).toString().match(_.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g," ")}return 8>=y||3!==r.split(" ").length||(r+=" 1"),r;case"inject":return 8>=y?4===i.split(" ").length&&(i=i.split(/\s+/).slice(0,3).join(" ")):3===i.split(" ").length&&(i+=" 1"),(8>=y?"rgb":"rgba")+"("+i.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")"}}}()}},Names:{camelCase:function(t){return t.replace(/-(\w)/g,function(t,e){return e.toUpperCase()})},SVGAttribute:function(t){var e="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(y||E.State.isAndroid&&!E.State.isChrome)&&(e+="|transform"),new RegExp("^("+e+")$","i").test(t)},prefixCheck:function(t){if(E.State.prefixMatches[t])return[E.State.prefixMatches[t],!0];for(var e=["","Webkit","Moz","ms","O"],n=0,i=e.length;i>n;n++){var r;if(r=0===n?t:e[n]+t.replace(/^\w/,function(t){return t.toUpperCase()}),w.isString(E.State.prefixElement.style[r]))return E.State.prefixMatches[t]=r,[r,!0]}return[t,!1]}},Values:{hexToRgb:function(t){var e,n=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;return t=t.replace(n,function(t,e,n,i){return e+e+n+n+i+i}),e=i.exec(t),e?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]:[0,0,0]},isCSSNullValue:function(t){return 0==t||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(t)},getUnitType:function(t){return/^(rotate|skew)/i.test(t)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(t)?"":"px"},getDisplayType:function(t){var e=t&&t.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(e)?"inline":/^(li)$/i.test(e)?"list-item":/^(tr)$/i.test(e)?"table-row":/^(table)$/i.test(e)?"table":/^(tbody)$/i.test(e)?"table-row-group":"block"},addClass:function(t,e){t.classList?t.classList.add(e):t.className+=(t.className.length?" ":"")+e},removeClass:function(t,e){t.classList?t.classList.remove(e):t.className=t.className.toString().replace(new RegExp("(^|\\s)"+e.split(" ").join("|")+"(\\s|$)","gi")," ")}},getPropertyValue:function(t,e,r,o){function s(t,e){function n(){l&&_.setPropertyValue(t,"display","none")}var r=0;if(8>=y)r=m.css(t,e);else{var l=!1;if(/^(width|height)$/.test(e)&&0===_.getPropertyValue(t,"display")&&(l=!0,_.setPropertyValue(t,"display",_.Values.getDisplayType(t))),!o){if("height"===e&&"border-box"!==_.getPropertyValue(t,"boxSizing").toString().toLowerCase()){var u=t.offsetHeight-(parseFloat(_.getPropertyValue(t,"borderTopWidth"))||0)-(parseFloat(_.getPropertyValue(t,"borderBottomWidth"))||0)-(parseFloat(_.getPropertyValue(t,"paddingTop"))||0)-(parseFloat(_.getPropertyValue(t,"paddingBottom"))||0);return n(),u}if("width"===e&&"border-box"!==_.getPropertyValue(t,"boxSizing").toString().toLowerCase()){var c=t.offsetWidth-(parseFloat(_.getPropertyValue(t,"borderLeftWidth"))||0)-(parseFloat(_.getPropertyValue(t,"borderRightWidth"))||0)-(parseFloat(_.getPropertyValue(t,"paddingLeft"))||0)-(parseFloat(_.getPropertyValue(t,"paddingRight"))||0);return n(),c}}var d;d=i(t)===v?a.getComputedStyle(t,null):i(t).computedStyle?i(t).computedStyle:i(t).computedStyle=a.getComputedStyle(t,null),"borderColor"===e&&(e="borderTopColor"),r=9===y&&"filter"===e?d.getPropertyValue(e):d[e],(""===r||null===r)&&(r=t.style[e]),n()}if("auto"===r&&/^(top|right|bottom|left)$/i.test(e)){var f=s(t,"position");("fixed"===f||"absolute"===f&&/top|left/i.test(e))&&(r=m(t).position()[e]+"px")}return r}var l;if(_.Hooks.registered[e]){var u=e,c=_.Hooks.getRoot(u);r===v&&(r=_.getPropertyValue(t,_.Names.prefixCheck(c)[0])),_.Normalizations.registered[c]&&(r=_.Normalizations.registered[c]("extract",t,r)),l=_.Hooks.extractValue(u,r)}else if(_.Normalizations.registered[e]){var d,f;d=_.Normalizations.registered[e]("name",t),"transform"!==d&&(f=s(t,_.Names.prefixCheck(d)[0]),_.Values.isCSSNullValue(f)&&_.Hooks.templates[e]&&(f=_.Hooks.templates[e][1])),l=_.Normalizations.registered[e]("extract",t,f)}if(!/^[\d-]/.test(l))if(i(t)&&i(t).isSVG&&_.Names.SVGAttribute(e))if(/^(height|width)$/i.test(e))try{l=t.getBBox()[e]}catch(t){l=0}else l=t.getAttribute(e);else l=s(t,_.Names.prefixCheck(e)[0]);return _.Values.isCSSNullValue(l)&&(l=0),E.debug>=2&&console.log("Get "+e+": "+l),l},setPropertyValue:function(t,e,n,r,o){var s=e;if("scroll"===e)o.container?o.container["scroll"+o.direction]=n:"Left"===o.direction?a.scrollTo(n,o.alternateValue):a.scrollTo(o.alternateValue,n);else if(_.Normalizations.registered[e]&&"transform"===_.Normalizations.registered[e]("name",t))_.Normalizations.registered[e]("inject",t,n),s="transform",n=i(t).transformCache[e];else{if(_.Hooks.registered[e]){var l=e,u=_.Hooks.getRoot(e);r=r||_.getPropertyValue(t,u),n=_.Hooks.injectValue(l,n,r),e=u}if(_.Normalizations.registered[e]&&(n=_.Normalizations.registered[e]("inject",t,n),e=_.Normalizations.registered[e]("name",t)),s=_.Names.prefixCheck(e)[0],8>=y)try{t.style[s]=n}catch(t){E.debug&&console.log("Browser does not support ["+n+"] for ["+s+"]")}else i(t)&&i(t).isSVG&&_.Names.SVGAttribute(e)?t.setAttribute(e,n):t.style[s]=n;E.debug>=2&&console.log("Set "+e+" ("+s+"): "+n)}return[s,n]},flushTransformCache:function(e){function t(t){return parseFloat(_.getPropertyValue(e,t))}var n="";if((y||E.State.isAndroid&&!E.State.isChrome)&&i(e).isSVG){var r={translate:[t("translateX"),t("translateY")],skewX:[t("skewX")],skewY:[t("skewY")],scale:1!==t("scale")?[t("scale"),t("scale")]:[t("scaleX"),t("scaleY")],rotate:[t("rotateZ"),0,0]};m.each(i(e).transformCache,function(t){/^translate/i.test(t)?t="translate":/^scale/i.test(t)?t="scale":/^rotate/i.test(t)&&(t="rotate"),r[t]&&(n+=t+"("+r[t].join(" ")+") ",delete r[t])})}else{var o,a;m.each(i(e).transformCache,function(t){return o=i(e).transformCache[t],"transformPerspective"===t?(a=o,!0):(9===y&&"rotateZ"===t&&(t="rotate"),void(n+=t+o+" "))}),a&&(n="perspective"+a+" "+n)}_.setPropertyValue(e,"transform",n)}};_.Hooks.register(),_.Normalizations.register(),E.hook=function(t,e,n){var r=v;return t=o(t),m.each(t,function(t,o){if(i(o)===v&&E.init(o),n===v)r===v&&(r=E.CSS.getPropertyValue(o,e));else{var a=E.CSS.setPropertyValue(o,e,n);"transform"===a[0]&&E.CSS.flushTransformCache(o),r=a}}),r};var A=function(){function e(){return t?S.promise||null:r}function n(){function e(e){function p(t,e){var i=v,o=v,a=v;return w.isArray(t)?(i=t[0],!w.isArray(t[1])&&/^[\d-]/.test(t[1])||w.isFunction(t[1])||_.RegEx.isHex.test(t[1])?a=t[1]:(w.isString(t[1])&&!_.RegEx.isHex.test(t[1])||w.isArray(t[1]))&&(o=e?t[1]:u(t[1],r.duration),t[2]!==v&&(a=t[2]))):i=t,e||(o=o||r.easing),w.isFunction(i)&&(i=i.call(n,x,b)),w.isFunction(a)&&(a=a.call(n,x,b)),[i||0,o,a]}function d(t,e){var n,i;return i=(e||"0").toString().toLowerCase().replace(/[%A-z]+$/,function(t){return n=t,""}),n||(n=_.Values.getUnitType(t)),[i,n]}if(r.begin&&0===x)try{r.begin.call(l,l)}catch(t){setTimeout(function(){throw t},1)}if("scroll"===P){var s,y,T,C=/^x$/i.test(r.axis)?"Left":"Top",k=parseFloat(r.offset)||0;r.container?w.isWrapped(r.container)||w.isNode(r.container)?(r.container=r.container[0]||r.container,s=r.container["scroll"+C],T=s+m(n).position()[C.toLowerCase()]+k):r.container=null:(s=E.State.scrollAnchor[E.State["scrollProperty"+C]],y=E.State.scrollAnchor[E.State["scrollProperty"+("Left"===C?"Top":"Left")]],T=m(n).offset()[C.toLowerCase()]+k),o={scroll:{rootPropertyValue:!1,startValue:s,currentValue:s,endValue:T,unitType:"",easing:r.easing,scrollData:{container:r.container,direction:C,alternateValue:y}},element:n},E.debug&&console.log("tweensContainer (scroll): ",o.scroll,n)}else if("reverse"===P){if(!i(n).tweensContainer)return void m.dequeue(n,r.queue);"none"===i(n).opts.display&&(i(n).opts.display="auto"),"hidden"===i(n).opts.visibility&&(i(n).opts.visibility="visible"),i(n).opts.loop=!1,i(n).opts.begin=null,i(n).opts.complete=null,g.easing||delete r.easing,g.duration||delete r.duration,r=m.extend({},i(n).opts,r);var A=m.extend(!0,{},i(n).tweensContainer);for(var D in A)if("element"!==D){var O=A[D].startValue;A[D].startValue=A[D].currentValue=A[D].endValue,A[D].endValue=O,w.isEmptyObject(g)||(A[D].easing=r.easing),E.debug&&console.log("reverse tweensContainer ("+D+"): "+JSON.stringify(A[D]),n)}o=A}else if("start"===P){var A;i(n).tweensContainer&&!0===i(n).isAnimating&&(A=i(n).tweensContainer),m.each(f,function(t,e){if(RegExp("^"+_.Lists.colors.join("$|^")+"$").test(t)){var n=p(e,!0),i=n[0],r=n[1],o=n[2];if(_.RegEx.isHex.test(i)){for(var a=["Red","Green","Blue"],s=_.Values.hexToRgb(i),l=o?_.Values.hexToRgb(o):v,u=0;u<a.length;u++){var c=[s[u]];r&&c.push(r),l!==v&&c.push(l[u]),f[t+a[u]]=c}delete f[t]}}});for(var N in f){var M=p(f[N]),I=M[0],z=M[1],F=M[2];N=_.Names.camelCase(N);var q=_.Hooks.getRoot(N),H=!1;if(i(n).isSVG||"tween"===q||!1!==_.Names.prefixCheck(q)[1]||_.Normalizations.registered[q]!==v){(r.display!==v&&null!==r.display&&"none"!==r.display||r.visibility!==v&&"hidden"!==r.visibility)&&/opacity|filter/.test(N)&&!F&&0!==I&&(F=0),r._cacheValues&&A&&A[N]?(F===v&&(F=A[N].endValue+A[N].unitType),H=i(n).rootPropertyValueCache[q]):_.Hooks.registered[N]?F===v?(H=_.getPropertyValue(n,q),F=_.getPropertyValue(n,N,H)):H=_.Hooks.templates[q][1]:F===v&&(F=_.getPropertyValue(n,N));var j,W,B,V=!1;if(j=d(N,F),F=j[0],B=j[1],j=d(N,I),I=j[0].replace(/^([+-\/*])=/,function(t,e){return V=e,""}),W=j[1],F=parseFloat(F)||0,I=parseFloat(I)||0,"%"===W&&(/^(fontSize|lineHeight)$/.test(N)?(I/=100,W="em"):/^scale/.test(N)?(I/=100,W=""):/(Red|Green|Blue)$/i.test(N)&&(I=I/100*255,W="")),/[\/*]/.test(V))W=B;else if(B!==W&&0!==F)if(0===I)W=B;else{t=t||function(){var t={myParent:n.parentNode||h.body,position:_.getPropertyValue(n,"position"),fontSize:_.getPropertyValue(n,"fontSize")},e=t.position===R.lastPosition&&t.myParent===R.lastParent,r=t.fontSize===R.lastFontSize;R.lastParent=t.myParent,R.lastPosition=t.position,R.lastFontSize=t.fontSize;var o=100,s={};if(r&&e)s.emToPx=R.lastEmToPx,s.percentToPxWidth=R.lastPercentToPxWidth,s.percentToPxHeight=R.lastPercentToPxHeight;else{var l=i(n).isSVG?h.createElementNS("http://www.w3.org/2000/svg","rect"):h.createElement("div");E.init(l),t.myParent.appendChild(l),m.each(["overflow","overflowX","overflowY"],function(t,e){E.CSS.setPropertyValue(l,e,"hidden")}),E.CSS.setPropertyValue(l,"position",t.position),E.CSS.setPropertyValue(l,"fontSize",t.fontSize),E.CSS.setPropertyValue(l,"boxSizing","content-box"),m.each(["minWidth","maxWidth","width","minHeight","maxHeight","height"],function(t,e){E.CSS.setPropertyValue(l,e,o+"%")}),E.CSS.setPropertyValue(l,"paddingLeft",o+"em"),s.percentToPxWidth=R.lastPercentToPxWidth=(parseFloat(_.getPropertyValue(l,"width",null,!0))||1)/o,s.percentToPxHeight=R.lastPercentToPxHeight=(parseFloat(_.getPropertyValue(l,"height",null,!0))||1)/o,s.emToPx=R.lastEmToPx=(parseFloat(_.getPropertyValue(l,"paddingLeft"))||1)/o,t.myParent.removeChild(l)}return null===R.remToPx&&(R.remToPx=parseFloat(_.getPropertyValue(h.body,"fontSize"))||16),null===R.vwToPx&&(R.vwToPx=parseFloat(a.innerWidth)/100,R.vhToPx=parseFloat(a.innerHeight)/100),s.remToPx=R.remToPx,s.vwToPx=R.vwToPx,s.vhToPx=R.vhToPx,E.debug>=1&&console.log("Unit ratios: "+JSON.stringify(s),n),s}();var X=/margin|padding|left|right|width|text|word|letter/i.test(N)||/X$/.test(N)||"x"===N?"x":"y";switch(B){case"%":F*="x"===X?t.percentToPxWidth:t.percentToPxHeight;break;case"px":break;default:F*=t[B+"ToPx"]}switch(W){case"%":F*=1/("x"===X?t.percentToPxWidth:t.percentToPxHeight);break;case"px":break;default:F*=1/t[W+"ToPx"]}}switch(V){case"+":I=F+I;break;case"-":I=F-I;break;case"*":I*=F;break;case"/":I=F/I}o[N]={rootPropertyValue:H,startValue:F,currentValue:F,endValue:I,unitType:W,easing:z},E.debug&&console.log("tweensContainer ("+N+"): "+JSON.stringify(o[N]),n)}else E.debug&&console.log("Skipping ["+q+"] due to a lack of browser support.")}o.element=n}o.element&&(_.Values.addClass(n,"velocity-animating"),L.push(o),""===r.queue&&(i(n).tweensContainer=o,i(n).opts=r),i(n).isAnimating=!0,x===b-1?(E.State.calls.push([L,l,r,null,S.resolver]),!1===E.State.isTicking&&(E.State.isTicking=!0,c())):x++)}var t,n=this,r=m.extend({},E.defaults,g),o={};switch(i(n)===v&&E.init(n),parseFloat(r.delay)&&!1!==r.queue&&m.queue(n,r.queue,function(t){E.velocityQueueEntryFlag=!0,i(n).delayTimer={setTimeout:setTimeout(t,parseFloat(r.delay)),next:t}}),r.duration.toString().toLowerCase()){case"fast":r.duration=200;break;case"normal":r.duration=T;break;case"slow":r.duration=600;break;default:r.duration=parseFloat(r.duration)||1}!1!==E.mock&&(!0===E.mock?r.duration=r.delay=1:(r.duration*=parseFloat(E.mock)||1,r.delay*=parseFloat(E.mock)||1)),r.easing=u(r.easing,r.duration),r.begin&&!w.isFunction(r.begin)&&(r.begin=null),r.progress&&!w.isFunction(r.progress)&&(r.progress=null),r.complete&&!w.isFunction(r.complete)&&(r.complete=null),r.display!==v&&null!==r.display&&(r.display=r.display.toString().toLowerCase(),"auto"===r.display&&(r.display=E.CSS.Values.getDisplayType(n))),r.visibility!==v&&null!==r.visibility&&(r.visibility=r.visibility.toString().toLowerCase()),r.mobileHA=r.mobileHA&&E.State.isMobile&&!E.State.isGingerbread,!1===r.queue?r.delay?setTimeout(e,r.delay):e():m.queue(n,r.queue,function(t,n){return!0===n?(S.promise&&S.resolver(l),!0):(E.velocityQueueEntryFlag=!0,void e(t))}),""!==r.queue&&"fx"!==r.queue||"inprogress"===m.queue(n)[0]||m.dequeue(n)}var t,r,s,l,f,g,y=arguments[0]&&(arguments[0].p||m.isPlainObject(arguments[0].properties)&&!arguments[0].properties.names||w.isString(arguments[0].properties));if(w.isWrapped(this)?(t=!1,s=0,l=this,r=this):(t=!0,s=1,l=y?arguments[0].elements||arguments[0].e:arguments[0]),l=o(l)){y?(f=arguments[0].properties||arguments[0].p,g=arguments[0].options||arguments[0].o):(f=arguments[s],g=arguments[s+1]);var b=l.length,x=0;if(!/^(stop|finish)$/i.test(f)&&!m.isPlainObject(g)){var C=s+1;g={};for(var k=C;k<arguments.length;k++)w.isArray(arguments[k])||!/^(fast|normal|slow)$/i.test(arguments[k])&&!/^\d/.test(arguments[k])?w.isString(arguments[k])||w.isArray(arguments[k])?g.easing=arguments[k]:w.isFunction(arguments[k])&&(g.complete=arguments[k]):g.duration=arguments[k]}var S={promise:null,resolver:null,rejecter:null};t&&E.Promise&&(S.promise=new E.Promise(function(t,e){S.resolver=t,S.rejecter=e}));var P;switch(f){case"scroll":P="scroll";break;case"reverse":P="reverse";break;case"finish":case"stop":m.each(l,function(t,e){i(e)&&i(e).delayTimer&&(clearTimeout(i(e).delayTimer.setTimeout),i(e).delayTimer.next&&i(e).delayTimer.next(),delete i(e).delayTimer)});var D=[];return m.each(E.State.calls,function(t,e){e&&m.each(e[1],function(n,r){var o=g===v?"":g;return!0!==o&&e[2].queue!==o&&(g!==v||!1!==e[2].queue)||void m.each(l,function(n,a){a===r&&((!0===g||w.isString(g))&&(m.each(m.queue(a,w.isString(g)?g:""),function(t,e){w.isFunction(e)&&e(null,!0)}),m.queue(a,w.isString(g)?g:"",[])),"stop"===f?(i(a)&&i(a).tweensContainer&&!1!==o&&m.each(i(a).tweensContainer,function(t,e){e.endValue=e.currentValue}),D.push(t)):"finish"===f&&(e[2].duration=1))})})}),"stop"===f&&(m.each(D,function(t,e){p(e,!0)}),S.promise&&S.resolver(l)),e();default:if(!m.isPlainObject(f)||w.isEmptyObject(f)){if(w.isString(f)&&E.Redirects[f]){var O=m.extend({},g),N=O.duration,M=O.delay||0;return!0===O.backwards&&(l=m.extend(!0,[],l).reverse()),m.each(l,function(t,e){parseFloat(O.stagger)?O.delay=M+parseFloat(O.stagger)*t:w.isFunction(O.stagger)&&(O.delay=M+O.stagger.call(e,t,b)),O.drag&&(O.duration=parseFloat(N)||(/^(callout|transition)/.test(f)?1e3:T),O.duration=Math.max(O.duration*(O.backwards?1-t/b:(t+1)/b),.75*O.duration,200)),E.Redirects[f].call(e,e,O||{},t,b,l,S.promise?S:v)}),e()}var I="Velocity: First argument ("+f+") was not a property map, a known action, or a registered redirect. Aborting.";return S.promise?S.rejecter(new Error(I)):console.log(I),e()}P="start"}var R={lastParent:null,lastPosition:null,lastFontSize:null,lastPercentToPxWidth:null,lastPercentToPxHeight:null,lastEmToPx:null,remToPx:null,vwToPx:null,vhToPx:null},L=[];m.each(l,function(t,e){w.isNode(e)&&n.call(e)});var z,O=m.extend({},E.defaults,g);if(O.loop=parseInt(O.loop),z=2*O.loop-1,O.loop)for(var F=0;z>F;F++){var q={delay:O.delay,progress:O.progress};F===z-1&&(q.display=O.display,q.visibility=O.visibility,q.complete=O.complete),A(l,"reverse",q)}return e()}};E=m.extend(A,E),E.animate=A;var P=a.requestAnimationFrame||b;return E.State.isMobile||h.hidden===v||h.addEventListener("visibilitychange",function(){h.hidden?(P=function(t){return setTimeout(function(){t(!0)},16)},c()):P=a.requestAnimationFrame||b}),r.Velocity=E,r!==a&&(r.fn.velocity=A,r.fn.velocity.defaults=E.defaults),m.each(["Down","Up"],function(t,e){E.Redirects["slide"+e]=function(t,n,i,r,o,a){var s=m.extend({},n),l=s.begin,u=s.complete,c={height:"",marginTop:"",marginBottom:"",paddingTop:"",paddingBottom:""},d={};s.display===v&&(s.display="Down"===e?"inline"===E.CSS.Values.getDisplayType(t)?"inline-block":"block":"none"),s.begin=function(){l&&l.call(o,o);for(var n in c){d[n]=t.style[n];var i=E.CSS.getPropertyValue(t,n);c[n]="Down"===e?[i,0]:[0,i]}d.overflow=t.style.overflow,t.style.overflow="hidden"},s.complete=function(){for(var e in d)t.style[e]=d[e];u&&u.call(o,o),a&&a.resolver(o)},E(t,c,s)}}),m.each(["In","Out"],function(t,e){E.Redirects["fade"+e]=function(t,n,i,r,o,a){var s=m.extend({},n),l={opacity:"In"===e?1:0},u=s.complete;s.complete=i!==r-1?s.begin=null:function(){u&&u.call(o,o),a&&a.resolver(o)},s.display===v&&(s.display="In"===e?"auto":"none"),E(this,l,s)}}),E}(f||window.Zepto||window,window,document)})),function(c,f,h,b){"use strict";function k(t,e,n){return setTimeout(q(t,n),e)}function l(t,e,n){return!!Array.isArray(t)&&(m(t,n[e],n),!0)}function m(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==b)for(i=0;i<t.length;)e.call(n,t[i],i,t),i++;else for(i in t)t.hasOwnProperty(i)&&e.call(n,t[i],i,t)}function n(t,e,n){for(var i=Object.keys(e),r=0;r<i.length;)(!n||n&&t[i[r]]===b)&&(t[i[r]]=e[i[r]]),r++;return t}function o(t,e){return n(t,e,!0)}function p(t,e,i){var r,o=e.prototype;r=t.prototype=Object.create(o),r.constructor=t,r._super=o,i&&n(r,i)}function q(t,e){return function(){return t.apply(e,arguments)}}function r(t,e){return typeof t==S?t.apply(e?e[0]||b:b,e):t}function s(t,e){return t===b?e:t}function t(t,e,n){m(x(e),function(e){t.addEventListener(e,n,!1)})}function u(t,e,n){m(x(e),function(e){t.removeEventListener(e,n,!1)})}function v(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function w(t,e){return t.indexOf(e)>-1}function x(t){return t.trim().split(/\s+/g)}function y(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;i<t.length;){if(n&&t[i][n]==e||!n&&t[i]===e)return i;i++}return-1}function z(t){return Array.prototype.slice.call(t,0)}function A(t,e,n){for(var i=[],r=[],o=0;o<t.length;){var a=e?t[o][e]:t[o];y(r,a)<0&&i.push(t[o]),r[o]=a,o++}return n&&(i=e?i.sort(function(t,n){return t[e]>n[e]}):i.sort()),i}function B(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),o=0;o<T.length;){if(n=T[o],(i=n?n+r:e)in t)return i;o++}return b}function D(){return N++}function E(t){var e=t.ownerDocument;return e.defaultView||e.parentWindow}function ab(t,e){var n=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){r(t.options.enable,[t])&&n.handler(e)},this.init()}function bb(t){var e=t.options.inputClass;return new(e||(R?wb:L?Eb:I?Gb:rb))(t,cb)}function cb(t,e,n){var i=n.pointers.length,r=n.changedPointers.length,o=e&W&&0==i-r,a=e&(X|$)&&0==i-r;n.isFirst=!!o,n.isFinal=!!a,o&&(t.session={}),n.eventType=e,db(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function db(t,e){var n=t.session,i=e.pointers,r=i.length;n.firstInput||(n.firstInput=gb(e)),r>1&&!n.firstMultiple?n.firstMultiple=gb(e):1===r&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,s=a?a.center:o.center,l=e.center=hb(i);e.timeStamp=O(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=lb(s,l),e.distance=kb(s,l),eb(n,e),e.offsetDirection=jb(e.deltaX,e.deltaY),e.scale=a?nb(a.pointers,i):1,e.rotation=a?mb(a.pointers,i):0,fb(n,e);var u=t.element;v(e.srcEvent.target,u)&&(u=e.srcEvent.target),e.target=u}function eb(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};(e.eventType===W||o.eventType===X)&&(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}function fb(t,e){var n,i,r,o,a=t.lastInterval||e,s=e.timeStamp-a.timeStamp;if(e.eventType!=$&&(s>j||a.velocity===b)){var l=a.deltaX-e.deltaX,u=a.deltaY-e.deltaY,c=ib(s,l,u);i=c.x,r=c.y,n=P(c.x)>P(c.y)?c.x:c.y,o=jb(l,u),t.lastInterval=e}else n=a.velocity,i=a.velocityX,r=a.velocityY,o=a.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=o}function gb(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:_(t.pointers[n].clientX),clientY:_(t.pointers[n].clientY)},n++;return{timeStamp:O(),pointers:e,center:hb(e),deltaX:t.deltaX,deltaY:t.deltaY}}function hb(t){var e=t.length;if(1===e)return{x:_(t[0].clientX),y:_(t[0].clientY)};for(var n=0,i=0,r=0;e>r;)n+=t[r].clientX,i+=t[r].clientY,r++;return{x:_(n/e),y:_(i/e)}}function ib(t,e,n){return{x:e/t||0,y:n/t||0}}function jb(t,e){return t===e?Y:P(t)>=P(e)?t>0?U:Q:e>0?G:K}function kb(t,e,n){n||(n=et);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function lb(t,e,n){n||(n=et);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}function mb(t,e){return lb(e[1],e[0],nt)-lb(t[1],t[0],nt)}function nb(t,e){return kb(e[0],e[1],nt)/kb(t[0],t[1],nt)}function rb(){this.evEl=rt,this.evWin=ot,this.allow=!0,this.pressed=!1,ab.apply(this,arguments)}function wb(){this.evEl=lt,this.evWin=ut,ab.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Ab(){this.evTarget=dt,this.evWin=ft,this.started=!1,ab.apply(this,arguments)}function Bb(t,e){var n=z(t.touches),i=z(t.changedTouches);return e&(X|$)&&(n=A(n.concat(i),"identifier",!0)),[n,i]}function Eb(){this.evTarget=pt,this.targetIds={},ab.apply(this,arguments)}function Fb(t,e){var n=z(t.touches),i=this.targetIds;if(e&(W|V)&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,a=z(t.changedTouches),s=[],l=this.target;if(o=n.filter(function(t){return v(t.target,l)}),e===W)for(r=0;r<o.length;)i[o[r].identifier]=!0,r++;for(r=0;r<a.length;)i[a[r].identifier]&&s.push(a[r]),e&(X|$)&&delete i[a[r].identifier],r++;return s.length?[A(o.concat(s),"identifier",!0),s]:void 0}function Gb(){ab.apply(this,arguments);var t=q(this.handler,this);this.touch=new Eb(this.manager,t),this.mouse=new rb(this.manager,t)}function Pb(t,e){this.manager=t,this.set(e)}function Qb(t){if(w(t,wt))return wt;var e=w(t,xt),n=w(t,Tt);return e&&n?xt+" "+Tt:e||n?e?xt:Tt:w(t,bt)?bt:yt}function Yb(t){this.id=D(),this.manager=null,this.options=o(t||{},this.defaults),this.options.enable=s(this.options.enable,!0),this.state=Ct,this.simultaneous={},this.requireFail=[]}function Zb(t){return t&At?"cancel":t&St?"end":t&Et?"move":t&kt?"start":""}function $b(t){return t==K?"down":t==G?"up":t==U?"left":t==Q?"right":""}function _b(t,e){var n=e.manager;return n?n.get(t):t}function ac(){Yb.apply(this,arguments)}function bc(){ac.apply(this,arguments),this.pX=null,this.pY=null}function cc(){ac.apply(this,arguments)}function dc(){Yb.apply(this,arguments),this._timer=null,this._input=null}function ec(){ac.apply(this,arguments)}function fc(){ac.apply(this,arguments)}function gc(){Yb.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function hc(t,e){return e=e||{},e.recognizers=s(e.recognizers,hc.defaults.preset),new kc(t,e)}function kc(t,e){e=e||{},this.options=o(e,hc.defaults),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.element=t,this.input=bb(this),this.touchAction=new Pb(this,this.options.touchAction),lc(this,!0),m(e.recognizers,function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])},this)}function lc(t,e){var n=t.element;m(t.options.cssProps,function(t,i){n.style[B(n.style,i)]=e?t:""})}function mc(t,e){var n=f.createEvent("Event");n.initEvent(t,!0,!0),n.gesture=e,e.target.dispatchEvent(n)}var T=["","webkit","moz","MS","ms","o"],C=f.createElement("div"),S="function",_=Math.round,P=Math.abs,O=Date.now,N=1,M=/mobile|tablet|ip(ad|hone|od)|android/i,I="ontouchstart"in c,R=B(c,"PointerEvent")!==b,L=I&&M.test(navigator.userAgent),F="touch",H="mouse",j=25,W=1,V=2,X=4,$=8,Y=1,U=2,Q=4,G=8,K=16,J=U|Q,Z=G|K,tt=J|Z,et=["x","y"],nt=["clientX","clientY"];ab.prototype={handler:function(){},init:function(){this.evEl&&t(this.element,this.evEl,this.domHandler),this.evTarget&&t(this.target,this.evTarget,this.domHandler),this.evWin&&t(E(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&u(this.element,this.evEl,this.domHandler),this.evTarget&&u(this.target,this.evTarget,this.domHandler),this.evWin&&u(E(this.element),this.evWin,this.domHandler)}};var it={mousedown:W,mousemove:V,mouseup:X},rt="mousedown",ot="mousemove mouseup";p(rb,ab,{handler:function(t){var e=it[t.type];e&W&&0===t.button&&(this.pressed=!0),e&V&&1!==t.which&&(e=X),this.pressed&&this.allow&&(e&X&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:H,srcEvent:t}))}});var at={pointerdown:W,pointermove:V,pointerup:X,pointercancel:$,pointerout:$},st={2:F,3:"pen",4:H,5:"kinect"},lt="pointerdown",ut="pointermove pointerup pointercancel";c.MSPointerEvent&&(lt="MSPointerDown",ut="MSPointerMove MSPointerUp MSPointerCancel"),p(wb,ab,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=at[i],o=st[t.pointerType]||t.pointerType,a=o==F,s=y(e,t.pointerId,"pointerId");r&W&&(0===t.button||a)?0>s&&(e.push(t),s=e.length-1):r&(X|$)&&(n=!0),0>s||(e[s]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(s,1))}});var ct={touchstart:W,touchmove:V,touchend:X,touchcancel:$},dt="touchstart",ft="touchstart touchmove touchend touchcancel";p(Ab,ab,{handler:function(t){var e=ct[t.type];if(e===W&&(this.started=!0),this.started){var n=Bb.call(this,t,e);e&(X|$)&&0==n[0].length-n[1].length&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:t})}}});var ht={touchstart:W,touchmove:V,touchend:X,touchcancel:$},pt="touchstart touchmove touchend touchcancel";p(Eb,ab,{handler:function(t){var e=ht[t.type],n=Fb.call(this,t,e);n&&this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:t})}}),p(Gb,ab,{handler:function(t,e,n){var i=n.pointerType==F,r=n.pointerType==H;if(i)this.mouse.allow=!1;else if(r&&!this.mouse.allow)return;e&(X|$)&&(this.mouse.allow=!0),this.callback(t,e,n)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var gt=B(C.style,"touchAction"),vt=gt!==b,mt="compute",yt="auto",bt="manipulation",wt="none",xt="pan-x",Tt="pan-y";Pb.prototype={set:function(t){t==mt&&(t=this.compute()),vt&&(this.manager.element.style[gt]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return m(this.manager.recognizers,function(e){r(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),Qb(t.join(" "))},preventDefaults:function(t){if(!vt){var e=t.srcEvent,n=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var i=this.actions,r=w(i,wt),o=w(i,Tt),a=w(i,xt);return r||o&&n&J||a&&n&Z?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var Ct=1,kt=2,Et=4,St=8,_t=St,At=16;Yb.prototype={defaults:{},set:function(t){return n(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(l(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=_b(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return l(t,"dropRecognizeWith",this)?this:(t=_b(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(l(t,"requireFailure",this))return this;var e=this.requireFail;return t=_b(t,this),-1===y(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(l(t,"dropRequireFailure",this))return this;t=_b(t,this);var e=y(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function d(i){e.manager.emit(e.options.event+(i?Zb(n):""),t)}var e=this,n=this.state;St>n&&d(!0),d(),n>=St&&d(!0)},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=32)},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(this.requireFail[t].state&(32|Ct)))return!1;t++}return!0},recognize:function(t){var e=n({},t);return r(this.options.enable,[this,e])?(this.state&(_t|At|32)&&(this.state=Ct),this.state=this.process(e),void(this.state&(kt|Et|St|At)&&this.tryEmit(e))):(this.reset(),void(this.state=32))},process:function(){},getTouchAction:function(){},reset:function(){}},p(ac,Yb,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,n=t.eventType,i=e&(kt|Et),r=this.attrTest(t);return i&&(n&$||!r)?e|At:i||r?n&X?e|St:e&kt?e|Et:kt:32}}),p(bc,ac,{defaults:{event:"pan",threshold:10,pointers:1,direction:tt},getTouchAction:function(){var t=this.options.direction,e=[];return t&J&&e.push(Tt),t&Z&&e.push(xt),e},directionTest:function(t){var e=this.options,n=!0,i=t.distance,r=t.direction,o=t.deltaX,a=t.deltaY;return r&e.direction||(e.direction&J?(r=0===o?Y:0>o?U:Q,n=o!=this.pX,i=Math.abs(t.deltaX)):(r=0===a?Y:0>a?G:K,n=a!=this.pY,i=Math.abs(t.deltaY))),t.direction=r,n&&i>e.threshold&&r&e.direction},attrTest:function(t){return ac.prototype.attrTest.call(this,t)&&(this.state&kt||!(this.state&kt)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$b(t.direction);e&&this.manager.emit(this.options.event+e,t),this._super.emit.call(this,t)}}),p(cc,ac,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[wt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&kt)},emit:function(t){if(this._super.emit.call(this,t),1!==t.scale){var e=t.scale<1?"in":"out";this.manager.emit(this.options.event+e,t)}}}),p(dc,Yb,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[yt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime>e.time;if(this._input=t,!i||!n||t.eventType&(X|$)&&!r)this.reset();else if(t.eventType&W)this.reset(),this._timer=k(function(){this.state=_t,this.tryEmit()},e.time,this);else if(t.eventType&X)return _t;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===_t&&(t&&t.eventType&X?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=O(),this.manager.emit(this.options.event,this._input)))}}),p(ec,ac,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[wt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&kt)}}),p(fc,ac,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:J|Z,pointers:1},getTouchAction:function(){return bc.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(J|Z)?e=t.velocity:n&J?e=t.velocityX:n&Z&&(e=t.velocityY),this._super.attrTest.call(this,t)&&n&t.direction&&t.distance>this.options.threshold&&P(e)>this.options.velocity&&t.eventType&X},emit:function(t){var e=$b(t.direction);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(gc,Yb,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[bt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime<e.time;if(this.reset(),t.eventType&W&&0===this.count)return this.failTimeout();if(i&&r&&n){if(t.eventType!=X)return this.failTimeout();var o=!this.pTime||t.timeStamp-this.pTime<e.interval,a=!this.pCenter||kb(this.pCenter,t.center)<e.posThreshold;this.pTime=t.timeStamp,this.pCenter=t.center,a&&o?this.count+=1:this.count=1,this._input=t;if(0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=k(function(){this.state=_t,this.tryEmit()},e.interval,this),kt):_t}return 32},failTimeout:function(){return this._timer=k(function(){this.state=32},this.options.interval,this),32},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==_t&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),hc.VERSION="2.0.4",hc.defaults={domEvents:!1,touchAction:mt,enable:!0,inputTarget:null,inputClass:null,preset:[[ec,{enable:!1}],[cc,{enable:!1},["rotate"]],[fc,{direction:J}],[bc,{direction:J},["swipe"]],[gc],[gc,{event:"doubletap",taps:2},["tap"]],[dc]],cssProps:{userSelect:"default",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};kc.prototype={set:function(t){return n(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){this.touchAction.preventDefaults(t);var n,i=this.recognizers,r=e.curRecognizer;(!r||r&&r.state&_t)&&(r=e.curRecognizer=null);for(var o=0;o<i.length;)n=i[o],2===e.stopped||r&&n!=r&&!n.canRecognizeWith(r)?n.reset():n.recognize(t),!r&&n.state&(kt|Et|St)&&(r=e.curRecognizer=n),o++}},get:function(t){if(t instanceof Yb)return t;for(var e=this.recognizers,n=0;n<e.length;n++)if(e[n].options.event==t)return e[n];return null},add:function(t){if(l(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(l(t,"remove",this))return this;var e=this.recognizers;return t=this.get(t),e.splice(y(e,t),1),this.touchAction.update(),this},on:function(t,e){var n=this.handlers;return m(x(t),function(t){n[t]=n[t]||[],n[t].push(e)}),this},off:function(t,e){var n=this.handlers;return m(x(t),function(t){e?n[t].splice(y(n[t],e),1):delete n[t]}),this},emit:function(t,e){this.options.domEvents&&mc(t,e);var n=this.handlers[t]&&this.handlers[t].slice();if(n&&n.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var i=0;i<n.length;)n[i](e),i++}},destroy:function(){this.element&&lc(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},n(hc,{INPUT_START:W,INPUT_MOVE:V,INPUT_END:X,INPUT_CANCEL:$,STATE_POSSIBLE:Ct,STATE_BEGAN:kt,STATE_CHANGED:Et,STATE_ENDED:St,STATE_RECOGNIZED:_t,STATE_CANCELLED:At,STATE_FAILED:32,DIRECTION_NONE:Y,DIRECTION_LEFT:U,DIRECTION_RIGHT:Q,DIRECTION_UP:G,DIRECTION_DOWN:K,DIRECTION_HORIZONTAL:J,DIRECTION_VERTICAL:Z,DIRECTION_ALL:tt,Manager:kc,Input:ab,TouchAction:Pb,TouchInput:Eb,MouseInput:rb,PointerEventInput:wb,TouchMouseInput:Gb,SingleTouchInput:Ab,Recognizer:Yb,AttrRecognizer:ac,Tap:gc,Pan:bc,Swipe:fc,Pinch:cc,Rotate:ec,Press:dc,on:t,off:u,each:m,merge:o,extend:n,inherit:p,bindFn:q,prefixed:B}),"function"==S&&a(80)?void 0!==(g=function(){return hc}.call(i,a,i,e))&&(e.exports=g):void 0!==e&&e.exports?e.exports=hc:c.Hammer=hc}(window,document),function(t){b=[a(0),a(79)],h=t,void 0!==(g="function"==typeof h?h.apply(i,b):h)&&(e.exports=g)}(function(t,e){function hammerify(n,i){var r=t(n);r.data("hammer")||r.data("hammer",new e(r[0],i))}t.fn.hammer=function(t){return this.each(function(){hammerify(this,t)})},e.Manager.prototype.emit=function(e){return function(n,i){e.call(this,n,i),t(this.element).trigger({type:n,gesture:i})}}(e.Manager.prototype.emit)}),function(t){t.Package?Materialize={}:t.Materialize={}}(window),function(t){for(var e=0,n=["webkit","moz"],i=t.requestAnimationFrame,r=t.cancelAnimationFrame,o=n.length;--o>=0&&!i;)i=t[n[o]+"RequestAnimationFrame"],r=t[n[o]+"CancelRequestAnimationFrame"];i&&r||(i=function(t){var n=+Date.now(),i=Math.max(e+16,n);return setTimeout(function(){t(e=i)},i-n)},r=clearTimeout),t.requestAnimationFrame=i,t.cancelAnimationFrame=r}(window),Materialize.objectSelectorString=function(t){return((t.prop("tagName")||"")+(t.attr("id")||"")+(t.attr("class")||"")).replace(/\s/g,"")},Materialize.guid=function(){function s4(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return s4()+s4()+"-"+s4()+"-"+s4()+"-"+s4()+"-"+s4()+s4()+s4()}}(),Materialize.escapeHash=function(t){return t.replace(/(:|\.|\[|\]|,|=)/g,"\\$1")},Materialize.elementOrParentIsFixed=function(t){var e=d(t),n=e.add(e.parents()),i=!1;return n.each(function(){if("fixed"===d(this).css("position"))return i=!0,!1}),i};var S=Date.now||function(){return(new Date).getTime()};Materialize.throttle=function(t,e,n){var i,r,o,a=null,s=0;n||(n={});var l=function(){s=!1===n.leading?0:S(),a=null,o=t.apply(i,r),i=r=null};return function(){var u=S();s||!1!==n.leading||(s=u);var c=e-(u-s);return i=this,r=arguments,c<=0?(clearTimeout(a),a=null,s=u,o=t.apply(i,r),i=r=null):a||!1===n.trailing||(a=setTimeout(l,c)),o}};var _;_=C?C.Velocity:d?d.Velocity:Velocity,function(t){t.fn.collapsible=function(e,n){var i={accordion:void 0,onOpen:void 0,onClose:void 0},r=e;return e=t.extend(i,e),this.each(function(){function accordionOpen(e){o=i.find("> li > .collapsible-header"),e.hasClass("active")?e.parent().addClass("active"):e.parent().removeClass("active"),e.parent().hasClass("active")?e.siblings(".collapsible-body").stop(!0,!1).slideDown({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){t(this).css("height","")}}):e.siblings(".collapsible-body").stop(!0,!1).slideUp({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){t(this).css("height","")}}),o.not(e).removeClass("active").parent().removeClass("active"),o.not(e).parent().children(".collapsible-body").stop(!0,!1).each(function(){t(this).is(":visible")&&t(this).slideUp({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){t(this).css("height",""),execCallbacks(t(this).siblings(".collapsible-header"))}})})}function expandableOpen(e){e.hasClass("active")?e.parent().addClass("active"):e.parent().removeClass("active"),e.parent().hasClass("active")?e.siblings(".collapsible-body").stop(!0,!1).slideDown({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){t(this).css("height","")}}):e.siblings(".collapsible-body").stop(!0,!1).slideUp({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){t(this).css("height","")}})}function collapsibleOpen(t,n){n||t.toggleClass("active"),e.accordion||"accordion"===a||void 0===a?accordionOpen(t):expandableOpen(t),execCallbacks(t)}function execCallbacks(t){t.hasClass("active")?"function"==typeof e.onOpen&&e.onOpen.call(this,t.parent()):"function"==typeof e.onClose&&e.onClose.call(this,t.parent())}function isChildrenOfPanelHeader(t){return getPanelHeader(t).length>0}function getPanelHeader(t){return t.closest("li > .collapsible-header")}function removeEventHandlers(){i.off("click.collapse","> li > .collapsible-header")}var i=t(this),o=t(this).find("> li > .collapsible-header"),a=i.data("collapsible");if("destroy"===r)return void removeEventHandlers();if(n>=0&&n<o.length){var s=o.eq(n);return void(s.length&&("open"===r||"close"===r&&s.hasClass("active"))&&collapsibleOpen(s))}removeEventHandlers(),i.on("click.collapse","> li > .collapsible-header",function(e){var n=t(e.target);isChildrenOfPanelHeader(n)&&(n=getPanelHeader(n)),collapsibleOpen(n)}),e.accordion||"accordion"===a||void 0===a?collapsibleOpen(o.filter(".active").first(),!0):o.filter(".active").each(function(){collapsibleOpen(t(this),!0)})})},t(document).ready(function(){t(".collapsible").collapsible()})}(C),function(t){t.fn.scrollTo=function(e){return t(this).scrollTop(t(this).scrollTop()-t(this).offset().top+t(e).offset().top),this},t.fn.dropdown=function(e){var n={inDuration:300,outDuration:225,constrainWidth:!0,hover:!1,gutter:0,belowOrigin:!1,alignment:"left",stopPropagation:!1};return"open"===e?(this.each(function(){t(this).trigger("open")}),!1):"close"===e?(this.each(function(){t(this).trigger("close")}),!1):void this.each(function(){function updateOptions(){void 0!==i.data("induration")&&(r.inDuration=i.data("induration")),void 0!==i.data("outduration")&&(r.outDuration=i.data("outduration")),void 0!==i.data("constrainwidth")&&(r.constrainWidth=i.data("constrainwidth")),void 0!==i.data("hover")&&(r.hover=i.data("hover")),void 0!==i.data("gutter")&&(r.gutter=i.data("gutter")),void 0!==i.data("beloworigin")&&(r.belowOrigin=i.data("beloworigin")),void 0!==i.data("alignment")&&(r.alignment=i.data("alignment")),void 0!==i.data("stoppropagation")&&(r.stopPropagation=i.data("stoppropagation"))}function placeDropdown(e){"focus"===e&&(o=!0),updateOptions(),a.addClass("active"),i.addClass("active"),!0===r.constrainWidth?a.css("width",i.outerWidth()):a.css("white-space","nowrap");var n=window.innerHeight,s=i.innerHeight(),l=i.offset().left,u=i.offset().top-t(window).scrollTop(),c=r.alignment,d=0,f=0,h=0;!0===r.belowOrigin&&(h=s);var p=0,g=0,v=i.parent();if(v.is("body")||(v[0].scrollHeight>v[0].clientHeight&&(p=v[0].scrollTop),v[0].scrollWidth>v[0].clientWidth&&(g=v[0].scrollLeft)),l+a.innerWidth()>t(window).width()?c="right":l-a.innerWidth()+i.innerWidth()<0&&(c="left"),u+a.innerHeight()>n)if(u+s-a.innerHeight()<0){var m=n-u-h;a.css("max-height",m)}else h||(h+=s),h-=a.innerHeight();if("left"===c)d=r.gutter,f=i.position().left+d;else if("right"===c){var y=i.position().left+i.outerWidth()-a.outerWidth();d=-r.gutter,f=y+d}a.css({position:"absolute",top:i.position().top+h+p,left:f+g}),a.stop(!0,!0).css("opacity",0).slideDown({queue:!1,duration:r.inDuration,easing:"easeOutCubic",complete:function(){t(this).css("height","")}}).animate({opacity:1},{queue:!1,duration:r.inDuration,easing:"easeOutSine"}),setTimeout(function(){t(document).bind("click."+a.attr("id"),function(e){hideDropdown(),t(document).unbind("click."+a.attr("id"))})},0)}function hideDropdown(){o=!1,a.fadeOut(r.outDuration),a.removeClass("active"),i.removeClass("active"),t(document).unbind("click."+a.attr("id")),setTimeout(function(){a.css("max-height","")},r.outDuration)}var i=t(this),r=t.extend({},n,e),o=!1,a=t("#"+i.attr("data-activates"));if(updateOptions(),i.after(a),r.hover){var s=!1;i.unbind("click."+i.attr("id")),i.on("mouseenter",function(t){!1===s&&(placeDropdown(),s=!0)}),i.on("mouseleave",function(e){var n=e.toElement||e.relatedTarget;t(n).closest(".dropdown-content").is(a)||(a.stop(!0,!0),hideDropdown(),s=!1)}),a.on("mouseleave",function(e){var n=e.toElement||e.relatedTarget;t(n).closest(".dropdown-button").is(i)||(a.stop(!0,!0),hideDropdown(),s=!1)})}else i.unbind("click."+i.attr("id")),i.bind("click."+i.attr("id"),function(e){o||(i[0]!=e.currentTarget||i.hasClass("active")||0!==t(e.target).closest(".dropdown-content").length?i.hasClass("active")&&(hideDropdown(),t(document).unbind("click."+a.attr("id"))):(e.preventDefault(),r.stopPropagation&&e.stopPropagation(),placeDropdown("click")))});i.on("open",function(t,e){placeDropdown(e)}),i.on("close",hideDropdown)})},t(document).ready(function(){t(".dropdown-button").dropdown()})}(C),function(t){var e=0,n=0,i=function(){return"materialize-modal-overlay-"+ ++n},r={init:function(n){var r={opacity:.5,inDuration:350,outDuration:250,ready:void 0,complete:void 0,dismissible:!0,startingTop:"4%",endingTop:"10%"};return n=t.extend(r,n),this.each(function(){var r=t(this),o=t(this).attr("id")||"#"+t(this).data("target"),a=function(){var i=r.data("overlay-id"),o=t("#"+i);r.removeClass("open"),t("body").css({overflow:"",width:""}),r.find(".modal-close").off("click.close"),t(document).off("keyup.modal"+i),o.velocity({opacity:0},{duration:n.outDuration,queue:!1,ease:"easeOutQuart"});var a={duration:n.outDuration,queue:!1,ease:"easeOutCubic",complete:function(){t(this).css({display:"none"}),"function"==typeof n.complete&&n.complete.call(this,r),o.remove(),e--}};r.hasClass("bottom-sheet")?r.velocity({bottom:"-100%",opacity:0},a):r.velocity({top:n.startingTop,opacity:0,scaleX:.7},a)},s=function(o){var s=t("body"),l=s.innerWidth();if(s.css("overflow","hidden"),s.width(l),!r.hasClass("open")){var u=i(),c=t('<div class="modal-overlay"></div>');lStack=++e,c.attr("id",u).css("z-index",1e3+2*lStack),r.data("overlay-id",u).css("z-index",1e3+2*lStack+1),r.addClass("open"),t("body").append(c),n.dismissible&&(c.click(function(){a()}),t(document).on("keyup.modal"+u,function(t){27===t.keyCode&&a()})),r.find(".modal-close").on("click.close",function(t){a()}),c.css({display:"block",opacity:0}),r.css({display:"block",opacity:0}),c.velocity({opacity:n.opacity},{duration:n.inDuration,queue:!1,ease:"easeOutCubic"}),r.data("associated-overlay",c[0]);var d={duration:n.inDuration,queue:!1,ease:"easeOutCubic",complete:function(){"function"==typeof n.ready&&n.ready.call(this,r,o)}};r.hasClass("bottom-sheet")?r.velocity({bottom:"0",opacity:1},d):(t.Velocity.hook(r,"scaleX",.7),r.css({top:n.startingTop}),r.velocity({top:n.endingTop,opacity:1,scaleX:"1"},d))}};t(document).off("click.modalTrigger",'a[href="#'+o+'"], [data-target="'+o+'"]'),t(this).off("openModal"),t(this).off("closeModal"),t(document).on("click.modalTrigger",'a[href="#'+o+'"], [data-target="'+o+'"]',function(e){n.startingTop=(t(this).offset().top-t(window).scrollTop())/1.15,s(t(this)),e.preventDefault()}),t(this).on("openModal",function(){t(this).attr("href")||t(this).data("target");s()}),t(this).on("closeModal",function(){a()})})},open:function(){t(this).trigger("openModal")},close:function(){t(this).trigger("closeModal")}};t.fn.modal=function(e){return r[e]?r[e].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof e&&e?void t.error("Method "+e+" does not exist on jQuery.modal"):r.init.apply(this,arguments)}}(C),function(t){t.fn.materialbox=function(){return this.each(function(){function returnToOriginal(){r=!1;var n=a.parent(".material-placeholder"),s=(window.innerWidth,window.innerHeight,a.data("width")),u=a.data("height");a.velocity("stop",!0),t("#materialbox-overlay").velocity("stop",!0),t(".materialbox-caption").velocity("stop",!0),t("#materialbox-overlay").velocity({opacity:0},{duration:o,queue:!1,easing:"easeOutQuad",complete:function(){i=!1,t(this).remove()}}),a.velocity({width:s,height:u,left:0,top:0},{duration:o,queue:!1,easing:"easeOutQuad",complete:function(){n.css({height:"",width:"",position:"",top:"",left:""}),a.removeAttr("style"),a.attr("style",l),a.removeClass("active"),r=!0,e&&e.css("overflow","")}}),t(".materialbox-caption").velocity({opacity:0},{duration:o,queue:!1,easing:"easeOutQuad",complete:function(){t(this).remove()}})}if(!t(this).hasClass("initialized")){t(this).addClass("initialized");var e,n,i=!1,r=!0,o=200,a=t(this),s=t("<div></div>").addClass("material-placeholder"),l=a.attr("style");a.wrap(s),a.on("click",function(){var o=a.parent(".material-placeholder"),s=window.innerWidth,l=window.innerHeight,u=a.width(),c=a.height();if(!1===r)return returnToOriginal(),!1;if(i&&!0===r)return returnToOriginal(),!1;r=!1,a.addClass("active"),i=!0,o.css({width:o[0].getBoundingClientRect().width,height:o[0].getBoundingClientRect().height,position:"relative",top:0,left:0}),e=void 0,n=o[0].parentNode;for(;null!==n&&!t(n).is(document);){var d=t(n);"visible"!==d.css("overflow")&&(d.css("overflow","visible"),e=void 0===e?d:e.add(d)),n=n.parentNode}a.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}).data("width",u).data("height",c);var f=t('<div id="materialbox-overlay"></div>').css({opacity:0}).click(function(){!0===r&&returnToOriginal()});a.before(f);var h=f[0].getBoundingClientRect();if(f.css({width:s,height:l,left:-1*h.left,top:-1*h.top}),f.velocity({opacity:1},{duration:275,queue:!1,easing:"easeOutQuad"}),""!==a.data("caption")){var p=t('<div class="materialbox-caption"></div>');p.text(a.data("caption")),t("body").append(p),p.css({display:"inline"}),p.velocity({opacity:1},{duration:275,queue:!1,easing:"easeOutQuad"})}var g=0,v=u/s,m=c/l,y=0,b=0;v>m?(g=c/u,y=.9*s,b=.9*s*g):(g=u/c,y=.9*l*g,b=.9*l),a.hasClass("responsive-img")?a.velocity({"max-width":y,width:u},{duration:0,queue:!1,complete:function(){a.css({left:0,top:0}).velocity({height:b,width:y,left:t(document).scrollLeft()+s/2-a.parent(".material-placeholder").offset().left-y/2,top:t(document).scrollTop()+l/2-a.parent(".material-placeholder").offset().top-b/2},{duration:275,queue:!1,easing:"easeOutQuad",complete:function(){r=!0}})}}):a.css("left",0).css("top",0).velocity({height:b,width:y,left:t(document).scrollLeft()+s/2-a.parent(".material-placeholder").offset().left-y/2,top:t(document).scrollTop()+l/2-a.parent(".material-placeholder").offset().top-b/2},{duration:275,queue:!1,easing:"easeOutQuad",complete:function(){r=!0}})}),t(window).scroll(function(){i&&returnToOriginal()}),t(document).keyup(function(t){27===t.keyCode&&!0===r&&i&&returnToOriginal()})}})},t(document).ready(function(){t(".materialboxed").materialbox()})}(C),function(t){t.fn.parallax=function(){var e=t(window).width();return this.each(function(n){function updateParallax(n){var r;r=e<601?i.height()>0?i.height():i.children("img").height():i.height()>0?i.height():500;var o=i.children("img").first(),a=o.height(),s=a-r,l=i.offset().top+r,u=i.offset().top,c=t(window).scrollTop(),d=window.innerHeight,f=c+d,h=(f-u)/(r+d),p=Math.round(s*h);n&&o.css("display","block"),l>c&&u<c+d&&o.css("transform","translate3D(-50%,"+p+"px, 0)")}var i=t(this);i.addClass("parallax"),i.children("img").one("load",function(){updateParallax(!0)}).each(function(){this.complete&&t(this).trigger("load")}),t(window).scroll(function(){e=t(window).width(),updateParallax(!1)}),t(window).resize(function(){e=t(window).width(),updateParallax(!1)})})}}(C),function(t){var e={init:function(e){var n={onShow:null,swipeable:!1,responsiveThreshold:1/0};e=t.extend(n,e);var i=Materialize.objectSelectorString(t(this));return this.each(function(n){var r,o,a,s,l,u=i+n,c=t(this),d=t(window).width(),f=c.find("li.tab a"),h=c.width(),p=t(),g=Math.max(h,c[0].scrollWidth)/f.length,v=prev_index=0,m=!1,y=function(t){return Math.ceil(h-t.position().left-t.outerWidth()-c.scrollLeft())},b=function(t){return Math.floor(t.position().left+c.scrollLeft())},w=function(t){v-t>=0?(s.velocity({right:y(r)},{duration:300,queue:!1,easing:"easeOutQuad"}),s.velocity({left:b(r)},{duration:300,queue:!1,easing:"easeOutQuad",delay:90})):(s.velocity({left:b(r)},{duration:300,queue:!1,easing:"easeOutQuad"}),s.velocity({right:y(r)},{duration:300,queue:!1,easing:"easeOutQuad",delay:90}))};e.swipeable&&d>e.responsiveThreshold&&(e.swipeable=!1),r=t(f.filter('[href="'+location.hash+'"]')),0===r.length&&(r=t(this).find("li.tab a.active").first()),0===r.length&&(r=t(this).find("li.tab a").first()),r.addClass("active"),v=f.index(r),v<0&&(v=0),void 0!==r[0]&&(o=t(r[0].hash),o.addClass("active")),c.find(".indicator").length||c.append('<div class="indicator"></div>'),s=c.find(".indicator"),c.append(s),c.is(":visible")&&setTimeout(function(){s.css({right:y(r)}),s.css({left:b(r)})},0),t(window).off("resize.tabs-"+u).on("resize.tabs-"+u,function(){h=c.width(),g=Math.max(h,c[0].scrollWidth)/f.length,v<0&&(v=0),0!==g&&0!==h&&(s.css({right:y(r)}),s.css({left:b(r)}))}),e.swipeable?(f.each(function(){var e=t(Materialize.escapeHash(this.hash));e.addClass("carousel-item"),p=p.add(e)}),a=p.wrapAll('<div class="tabs-content carousel"></div>'),p.css("display",""),t(".tabs-content.carousel").carousel({fullWidth:!0,noWrap:!0,onCycleTo:function(t){if(!m){var e=v;v=a.index(t),r=f.eq(v),w(e)}}})):f.not(r).each(function(){t(Materialize.escapeHash(this.hash)).hide()}),c.off("click.tabs").on("click.tabs","a",function(n){if(t(this).parent().hasClass("disabled"))return void n.preventDefault();if(!t(this).attr("target")){m=!0,h=c.width(),g=Math.max(h,c[0].scrollWidth)/f.length,r.removeClass("active");var i=o;r=t(this),o=t(Materialize.escapeHash(this.hash)),f=c.find("li.tab a");r.position();r.addClass("active"),prev_index=v,v=f.index(t(this)),v<0&&(v=0),e.swipeable?p.length&&p.carousel("set",v):(void 0!==o&&(o.show(),o.addClass("active"),"function"==typeof e.onShow&&e.onShow.call(this,o)),void 0===i||i.is(o)||(i.hide(),i.removeClass("active"))),l=setTimeout(function(){m=!1},300),w(prev_index),n.preventDefault()}})})},select_tab:function(t){this.find('a[href="#'+t+'"]').trigger("click")}};t.fn.tabs=function(n){return e[n]?e[n].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof n&&n?void t.error("Method "+n+" does not exist on jQuery.tabs"):e.init.apply(this,arguments)},t(document).ready(function(){t("ul.tabs").tabs()})}(C),function(t){t.fn.tooltip=function(n){var i={delay:350,tooltip:"",position:"bottom",html:!1};return"remove"===n?(this.each(function(){t("#"+t(this).attr("data-tooltip-id")).remove(),t(this).off("mouseenter.tooltip mouseleave.tooltip")}),!1):(n=t.extend(i,n),this.each(function(){var i=Materialize.guid(),r=t(this);r.attr("data-tooltip-id")&&t("#"+r.attr("data-tooltip-id")).remove(),r.attr("data-tooltip-id",i);var o,a,s,l,u,c,d=function(){o=r.attr("data-html")?"true"===r.attr("data-html"):n.html,a=r.attr("data-delay"),a=void 0===a||""===a?n.delay:a,s=r.attr("data-position"),s=void 0===s||""===s?n.position:s,l=r.attr("data-tooltip"),l=void 0===l||""===l?n.tooltip:l};d();u=function(){var e=t('<div class="material-tooltip"></div>');return l=o?t("<span></span>").html(l):t("<span></span>").text(l),e.append(l).appendTo(t("body")).attr("id",i),c=t('<div class="backdrop"></div>'),c.appendTo(e),e}(),r.off("mouseenter.tooltip mouseleave.tooltip");var f,h=!1;r.on({"mouseenter.tooltip":function(t){var n=function(){d(),h=!0,u.velocity("stop"),c.velocity("stop"),u.css({visibility:"visible",left:"0px",top:"0px"});var t,n,i,o=r.outerWidth(),a=r.outerHeight(),l=u.outerHeight(),f=u.outerWidth(),p="0px",g="0px",v=c[0].offsetWidth,m=c[0].offsetHeight,y=8,b=8,w=0;"top"===s?(t=r.offset().top-l-5,n=r.offset().left+o/2-f/2,i=e(n,t,f,l),p="-10px",c.css({bottom:0,left:0,borderRadius:"14px 14px 0 0",transformOrigin:"50% 100%",marginTop:l,marginLeft:f/2-v/2})):"left"===s?(t=r.offset().top+a/2-l/2,n=r.offset().left-f-5,i=e(n,t,f,l),g="-10px",c.css({top:"-7px",right:0,width:"14px",height:"14px",borderRadius:"14px 0 0 14px",transformOrigin:"95% 50%",marginTop:l/2,marginLeft:f})):"right"===s?(t=r.offset().top+a/2-l/2,n=r.offset().left+o+5,i=e(n,t,f,l),g="+10px",c.css({top:"-7px",left:0,width:"14px",height:"14px",borderRadius:"0 14px 14px 0",transformOrigin:"5% 50%",marginTop:l/2,marginLeft:"0px"})):(t=r.offset().top+r.outerHeight()+5,n=r.offset().left+o/2-f/2,i=e(n,t,f,l),p="+10px",c.css({top:0,left:0,marginLeft:f/2-v/2})),u.css({top:i.y,left:i.x}),y=Math.SQRT2*f/parseInt(v),b=Math.SQRT2*l/parseInt(m),w=Math.max(y,b),u.velocity({translateY:p,translateX:g},{duration:350,queue:!1}).velocity({opacity:1},{duration:300,delay:50,queue:!1}),c.css({visibility:"visible"}).velocity({opacity:1},{duration:55,delay:0,queue:!1}).velocity({scaleX:w,scaleY:w},{duration:300,delay:0,queue:!1,easing:"easeInOutQuad"})};f=setTimeout(n,a)},"mouseleave.tooltip":function(){h=!1,clearTimeout(f),setTimeout(function(){!0!==h&&(u.velocity({opacity:0,translateY:0,translateX:0},{duration:225,queue:!1}),c.velocity({opacity:0,scaleX:1,scaleY:1},{duration:225,queue:!1,complete:function(){c.css({visibility:"hidden"}),u.css({visibility:"hidden"}),h=!1}}))},225)}})}))};var e=function(e,n,i,r){var o=e,a=n;return o<0?o=4:o+i>window.innerWidth&&(o-=o+i-window.innerWidth),a<0?a=4:a+r>window.innerHeight+t(window).scrollTop&&(a-=a+r-window.innerHeight),{x:o,y:a}};t(document).ready(function(){t(".tooltipped").tooltip()})}(C),function(t){"use strict";function isWindow(t){return null!==t&&t===t.window}function getWindow(t){return isWindow(t)?t:9===t.nodeType&&t.defaultView}function offset(t){var e,n,i={top:0,left:0},r=t&&t.ownerDocument;return e=r.documentElement,void 0!==t.getBoundingClientRect&&(i=t.getBoundingClientRect()),n=getWindow(r),{top:i.top+n.pageYOffset-e.clientTop,left:i.left+n.pageXOffset-e.clientLeft}}function convertStyle(t){var e="";for(var n in t)t.hasOwnProperty(n)&&(e+=n+":"+t[n]+";");return e}function getWavesEffectElement(t){if(!1===r.allowEvent(t))return null;for(var e=null,n=t.target||t.srcElement;null!==n.parentElement;){if(!(n instanceof SVGElement||-1===n.className.indexOf("waves-effect"))){e=n;break}if(n.classList.contains("waves-effect")){e=n;break}n=n.parentElement}return e}function showEffect(e){var n=getWavesEffectElement(e);null!==n&&(i.show(e,n),"ontouchstart"in t&&(n.addEventListener("touchend",i.hide,!1),n.addEventListener("touchcancel",i.hide,!1)),n.addEventListener("mouseup",i.hide,!1),n.addEventListener("mouseleave",i.hide,!1))}var e=e||{},n=document.querySelectorAll.bind(document),i={duration:750,show:function(t,e){if(2===t.button)return!1;var n=e||this,r=document.createElement("div");r.className="waves-ripple",n.appendChild(r);var o=offset(n),a=t.pageY-o.top,s=t.pageX-o.left,l="scale("+n.clientWidth/100*10+")";"touches"in t&&(a=t.touches[0].pageY-o.top,s=t.touches[0].pageX-o.left),r.setAttribute("data-hold",Date.now()),r.setAttribute("data-scale",l),r.setAttribute("data-x",s),r.setAttribute("data-y",a);var u={top:a+"px",left:s+"px"};r.className=r.className+" waves-notransition",r.setAttribute("style",convertStyle(u)),r.className=r.className.replace("waves-notransition",""),u["-webkit-transform"]=l,u["-moz-transform"]=l,u["-ms-transform"]=l,u["-o-transform"]=l,u.transform=l,u.opacity="1",u["-webkit-transition-duration"]=i.duration+"ms",u["-moz-transition-duration"]=i.duration+"ms",u["-o-transition-duration"]=i.duration+"ms",u["transition-duration"]=i.duration+"ms",u["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",u["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",u["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",u["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",r.setAttribute("style",convertStyle(u))},hide:function(t){r.touchup(t);var e=this,n=(e.clientWidth,null),o=e.getElementsByClassName("waves-ripple");if(!(o.length>0))return!1;n=o[o.length-1];var a=n.getAttribute("data-x"),s=n.getAttribute("data-y"),l=n.getAttribute("data-scale"),u=Date.now()-Number(n.getAttribute("data-hold")),c=350-u;c<0&&(c=0),setTimeout(function(){var t={top:s+"px",left:a+"px",opacity:"0","-webkit-transition-duration":i.duration+"ms","-moz-transition-duration":i.duration+"ms","-o-transition-duration":i.duration+"ms","transition-duration":i.duration+"ms","-webkit-transform":l,"-moz-transform":l,"-ms-transform":l,"-o-transform":l,transform:l};n.setAttribute("style",convertStyle(t)),setTimeout(function(){try{e.removeChild(n)}catch(t){return!1}},i.duration)},c)},wrapInput:function(t){for(var e=0;e<t.length;e++){var n=t[e];if("input"===n.tagName.toLowerCase()){var i=n.parentNode;if("i"===i.tagName.toLowerCase()&&-1!==i.className.indexOf("waves-effect"))continue;var r=document.createElement("i");r.className=n.className+" waves-input-wrapper";var o=n.getAttribute("style");o||(o=""),r.setAttribute("style",o),n.className="waves-button-input",n.removeAttribute("style"),i.replaceChild(r,n),r.appendChild(n)}}}},r={touches:0,allowEvent:function(t){var e=!0;return"touchstart"===t.type?r.touches+=1:"touchend"===t.type||"touchcancel"===t.type?setTimeout(function(){r.touches>0&&(r.touches-=1)},500):"mousedown"===t.type&&r.touches>0&&(e=!1),e},touchup:function(t){r.allowEvent(t)}};e.displayEffect=function(e){e=e||{},"duration"in e&&(i.duration=e.duration),i.wrapInput(n(".waves-effect")),"ontouchstart"in t&&document.body.addEventListener("touchstart",showEffect,!1),document.body.addEventListener("mousedown",showEffect,!1)},e.attach=function(e){"input"===e.tagName.toLowerCase()&&(i.wrapInput([e]),e=e.parentElement),"ontouchstart"in t&&e.addEventListener("touchstart",showEffect,!1),e.addEventListener("mousedown",showEffect,!1)},t.Waves=e,document.addEventListener("DOMContentLoaded",function(){e.displayEffect()},!1)}(window),Materialize.toast=function(t,e,n,i){n=n||"";var r=document.getElementById("toast-container");null===r&&(r=document.createElement("div"),r.id="toast-container",document.body.appendChild(r));var o=function(t){var e=document.createElement("div");if(e.classList.add("toast"),n)for(var r=n.split(" "),o=0,a=r.length;o<a;o++)e.classList.add(r[o]);("object"==typeof HTMLElement?t instanceof HTMLElement:t&&"object"==typeof t&&null!==t&&1===t.nodeType&&"string"==typeof t.nodeName)?e.appendChild(t):t instanceof C?e.appendChild(t[0]):e.innerHTML=t;var s=new Hammer(e,{prevent_default:!1});return s.on("pan",function(t){var n=t.deltaX;e.classList.contains("panning")||e.classList.add("panning");var i=1-Math.abs(n/80);i<0&&(i=0),_(e,{left:n,opacity:i},{duration:50,queue:!1,easing:"easeOutQuad"})}),s.on("panend",function(t){var n=t.deltaX;Math.abs(n)>80?_(e,{marginTop:"-40px"},{duration:375,easing:"easeOutExpo",queue:!1,complete:function(){"function"==typeof i&&i(),e.parentNode.removeChild(e)}}):(e.classList.remove("panning"),_(e,{left:0,opacity:1},{duration:300,easing:"easeOutExpo",queue:!1}))}),e}(t);t&&r.appendChild(o),o.style.opacity=0,_(o,{translateY:"-35px",opacity:1},{duration:300,easing:"easeOutCubic",queue:!1});var a,s=e;null!=s&&(a=setInterval(function(){null===o.parentNode&&window.clearInterval(a),o.classList.contains("panning")||(s-=20),s<=0&&(_(o,{opacity:0,marginTop:"-40px"},{duration:375,easing:"easeOutExpo",queue:!1,complete:function(){"function"==typeof i&&i(),this[0].parentNode.removeChild(this[0])}}),window.clearInterval(a))},20))},function(t){var e={init:function(e){var n={menuWidth:300,edge:"left",closeOnClick:!1,draggable:!0};e=t.extend(n,e),t(this).each(function(){var n=t(this),i=n.attr("data-activates"),r=t("#"+i);300!=e.menuWidth&&r.css("width",e.menuWidth);var o=t('.drag-target[data-sidenav="'+i+'"]');e.draggable?(o.length&&o.remove(),o=t('<div class="drag-target"></div>').attr("data-sidenav",i),t("body").append(o)):o=t(),"left"==e.edge?(r.css("transform","translateX(-100%)"),o.css({left:0})):(r.addClass("right-aligned").css("transform","translateX(100%)"),o.css({right:0})),r.hasClass("fixed")&&window.innerWidth>992&&r.css("transform","translateX(0)"),r.hasClass("fixed")&&t(window).resize(function(){window.innerWidth>992?0!==t("#sidenav-overlay").length&&l?a(!0):r.css("transform","translateX(0%)"):!1===l&&("left"===e.edge?r.css("transform","translateX(-100%)"):r.css("transform","translateX(100%)"))}),!0===e.closeOnClick&&r.on("click.itemclick","a:not(.collapsible-header)",function(){a()});var a=function(n){s=!1,l=!1,t("body").css({overflow:"",width:""}),t("#sidenav-overlay").velocity({opacity:0},{duration:200,queue:!1,easing:"easeOutQuad",complete:function(){t(this).remove()}}),"left"===e.edge?(o.css({width:"",right:"",left:"0"}),r.velocity({translateX:"-100%"},{duration:200,queue:!1,easing:"easeOutCubic",complete:function(){!0===n&&(r.removeAttr("style"),r.css("width",e.menuWidth))}})):(o.css({width:"",right:"0",left:""}),r.velocity({translateX:"100%"},{duration:200,queue:!1,easing:"easeOutCubic",complete:function(){!0===n&&(r.removeAttr("style"),r.css("width",e.menuWidth))}}))},s=!1,l=!1;e.draggable&&(o.on("click",function(){l&&a()}),o.hammer({prevent_default:!1}).bind("pan",function(n){if("touch"==n.gesture.pointerType){var i=(n.gesture.direction,n.gesture.center.x),o=(n.gesture.center.y,n.gesture.velocityX,t("body")),s=t("#sidenav-overlay"),u=o.innerWidth();if(o.css("overflow","hidden"),o.width(u),0===s.length&&(s=t('<div id="sidenav-overlay"></div>'),s.css("opacity",0).click(function(){a()}),t("body").append(s)),"left"===e.edge&&(i>e.menuWidth?i=e.menuWidth:i<0&&(i=0)),"left"===e.edge)i<e.menuWidth/2?l=!1:i>=e.menuWidth/2&&(l=!0),r.css("transform","translateX("+(i-e.menuWidth)+"px)");else{i<window.innerWidth-e.menuWidth/2?l=!0:i>=window.innerWidth-e.menuWidth/2&&(l=!1);var c=i-e.menuWidth/2;c<0&&(c=0),r.css("transform","translateX("+c+"px)")}var d;"left"===e.edge?(d=i/e.menuWidth,s.velocity({opacity:d},{duration:10,queue:!1,easing:"easeOutQuad"})):(d=Math.abs((i-window.innerWidth)/e.menuWidth),s.velocity({opacity:d},{duration:10,queue:!1,easing:"easeOutQuad"}))}}).bind("panend",function(n){if("touch"==n.gesture.pointerType){var i=t("#sidenav-overlay"),a=n.gesture.velocityX,u=n.gesture.center.x,c=u-e.menuWidth,d=u-e.menuWidth/2;c>0&&(c=0),d<0&&(d=0),s=!1,"left"===e.edge?l&&a<=.3||a<-.5?(0!==c&&r.velocity({translateX:[0,c]},{duration:300,queue:!1,easing:"easeOutQuad"}),i.velocity({opacity:1},{duration:50,queue:!1,easing:"easeOutQuad"}),o.css({width:"50%",right:0,left:""}),l=!0):(!l||a>.3)&&(t("body").css({overflow:"",width:""}),r.velocity({translateX:[-1*e.menuWidth-10,c]},{duration:200,queue:!1,easing:"easeOutQuad"}),i.velocity({opacity:0},{duration:200,queue:!1,easing:"easeOutQuad",complete:function(){t(this).remove()}}),o.css({width:"10px",right:"",left:0})):l&&a>=-.3||a>.5?(0!==d&&r.velocity({translateX:[0,d]},{duration:300,queue:!1,easing:"easeOutQuad"}),i.velocity({opacity:1},{duration:50,queue:!1,easing:"easeOutQuad"}),o.css({width:"50%",right:"",left:0}),l=!0):(!l||a<-.3)&&(t("body").css({overflow:"",width:""}),r.velocity({translateX:[e.menuWidth+10,d]},{duration:200,queue:!1,easing:"easeOutQuad"}),i.velocity({opacity:0},{duration:200,queue:!1,easing:"easeOutQuad",complete:function(){t(this).remove()}}),o.css({width:"10px",right:0,left:""}))}})),n.off("click.sidenav").on("click.sidenav",function(){if(!0===l)l=!1,s=!1,a();else{var n=t("body"),i=t('<div id="sidenav-overlay"></div>'),u=n.innerWidth();n.css("overflow","hidden"),n.width(u),t("body").append(o),"left"===e.edge?(o.css({width:"50%",right:0,left:""}),r.velocity({translateX:[0,-1*e.menuWidth]},{duration:300,queue:!1,easing:"easeOutQuad"})):(o.css({width:"50%",right:"",left:0}),r.velocity({translateX:[0,e.menuWidth]},{duration:300,queue:!1,easing:"easeOutQuad"})),i.css("opacity",0).click(function(){l=!1,s=!1,a(),i.velocity({opacity:0},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){t(this).remove()}})}),t("body").append(i),i.velocity({opacity:1},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){l=!0,s=!1}})}return!1})})},destroy:function(){var e=t("#sidenav-overlay"),n=t('.drag-target[data-sidenav="'+t(this).attr("data-activates")+'"]');e.trigger("click"),n.remove(),t(this).off("click"),e.remove()},show:function(){this.trigger("click")},hide:function(){t("#sidenav-overlay").trigger("click")}};t.fn.sideNav=function(n){return e[n]?e[n].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof n&&n?void t.error("Method "+n+" does not exist on jQuery.sideNav"):e.init.apply(this,arguments)}}(C),function(t){function findElements(e,i,r,o){var a=t();return t.each(n,function(t,n){if(n.height()>0){var s=n.offset().top,l=n.offset().left,u=l+n.width(),c=s+n.height();!(l>i||u<o||s>r||c<e)&&a.push(n)}}),a}function onScroll(n){++o;var r=e.scrollTop(),s=e.scrollLeft(),l=s+e.width(),u=r+e.height(),c=findElements(r+a.top+n||200,l+a.right,u+a.bottom,s+a.left);t.each(c,function(t,e){"number"!=typeof e.data("scrollSpy:ticks")&&e.triggerHandler("scrollSpy:enter"),e.data("scrollSpy:ticks",o)}),t.each(i,function(t,e){var n=e.data("scrollSpy:ticks");"number"==typeof n&&n!==o&&(e.triggerHandler("scrollSpy:exit"),e.data("scrollSpy:ticks",null))}),i=c}function onWinSize(){e.trigger("scrollSpy:winSize")}var e=t(window),n=[],i=[],r=!1,o=0,a={top:0,right:0,bottom:0,left:0};t.scrollSpy=function(i,o){var s={throttle:100,scrollOffset:200};o=t.extend(s,o);var l=[];i=t(i),i.each(function(e,i){n.push(t(i)),t(i).data("scrollSpy:id",e),t('a[href="#'+t(i).attr("id")+'"]').click(function(e){e.preventDefault();var n=t(Materialize.escapeHash(this.hash)).offset().top+1;t("html, body").animate({scrollTop:n-o.scrollOffset},{duration:400,queue:!1,easing:"easeOutCubic"})})}),a.top=o.offsetTop||0,a.right=o.offsetRight||0,a.bottom=o.offsetBottom||0,a.left=o.offsetLeft||0;var u=Materialize.throttle(function(){onScroll(o.scrollOffset)},o.throttle||100),c=function(){t(document).ready(u)};return r||(e.on("scroll",c),e.on("resize",c),r=!0),setTimeout(c,0),i.on("scrollSpy:enter",function(){l=t.grep(l,function(t){return 0!=t.height()});var e=t(this);l[0]?(t('a[href="#'+l[0].attr("id")+'"]').removeClass("active"),e.data("scrollSpy:id")<l[0].data("scrollSpy:id")?l.unshift(t(this)):l.push(t(this))):l.push(t(this)),t('a[href="#'+l[0].attr("id")+'"]').addClass("active")}),i.on("scrollSpy:exit",function(){if(l=t.grep(l,function(t){return 0!=t.height()}),l[0]){t('a[href="#'+l[0].attr("id")+'"]').removeClass("active");var e=t(this);l=t.grep(l,function(t){return t.attr("id")!=e.attr("id")}),l[0]&&t('a[href="#'+l[0].attr("id")+'"]').addClass("active")}}),i},t.winSizeSpy=function(n){return t.winSizeSpy=function(){return e},n=n||{throttle:100},e.on("resize",Materialize.throttle(onWinSize,n.throttle||100))},t.fn.scrollSpy=function(e){return t.scrollSpy(t(this),e)}}(C),function(t){t(document).ready(function(){function textareaAutoResize(e){var i=e.css("font-family"),r=e.css("font-size"),o=e.css("line-height");r&&n.css("font-size",r),i&&n.css("font-family",i),o&&n.css("line-height",o),"off"===e.attr("wrap")&&n.css("overflow-wrap","normal").css("white-space","pre"),n.text(e.val()+"\n");var a=n.html().replace(/\n/g,"<br>");n.html(a),e.is(":visible")?n.css("width",e.width()):n.css("width",t(window).width()/2),e.data("original-height")<=n.height()?e.css("height",n.height()):e.val().length<e.data("previous-length")&&e.css("height",e.data("original-height")),e.data("previous-length",e.val().length)}Materialize.updateTextFields=function(){t("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea").each(function(e,n){var i=t(this);t(n).val().length>0||n.autofocus||void 0!==i.attr("placeholder")?i.siblings("label").addClass("active"):t(n)[0].validity?i.siblings("label").toggleClass("active",!0===t(n)[0].validity.badInput):i.siblings("label").removeClass("active")})};var e="input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea";t(document).on("change",e,function(){0===t(this).val().length&&void 0===t(this).attr("placeholder")||t(this).siblings("label").addClass("active"),validate_field(t(this))}),t(document).ready(function(){Materialize.updateTextFields()}),t(document).on("reset",function(n){var i=t(n.target);i.is("form")&&(i.find(e).removeClass("valid").removeClass("invalid"),i.find(e).each(function(){""===t(this).attr("value")&&t(this).siblings("label").removeClass("active")}),i.find("select.initialized").each(function(){var t=i.find("option[selected]").text();i.siblings("input.select-dropdown").val(t)}))}),t(document).on("focus",e,function(){t(this).siblings("label, .prefix").addClass("active")}),t(document).on("blur",e,function(){var e=t(this),n=".prefix";0===e.val().length&&!0!==e[0].validity.badInput&&void 0===e.attr("placeholder")&&(n+=", label"),e.siblings(n).removeClass("active"),validate_field(e)}),window.validate_field=function(t){var e=void 0!==t.attr("data-length"),n=parseInt(t.attr("data-length")),i=t.val().length;0===t.val().length&&!1===t[0].validity.badInput?t.hasClass("validate")&&(t.removeClass("valid"),t.removeClass("invalid")):t.hasClass("validate")&&(t.is(":valid")&&e&&i<=n||t.is(":valid")&&!e?(t.removeClass("invalid"),t.addClass("valid")):(t.removeClass("valid"),t.addClass("invalid")))};t(document).on("keyup.radio","input[type=radio], input[type=checkbox]",function(e){if(9===e.which){t(this).addClass("tabbed");return void t(this).one("blur",function(e){t(this).removeClass("tabbed")})}});var n=t(".hiddendiv").first();n.length||(n=t('<div class="hiddendiv common"></div>'),t("body").append(n));t(".materialize-textarea").each(function(){var e=t(this);e.data("original-height",e.height()),e.data("previous-length",e.val().length)}),t("body").on("keyup keydown autoresize",".materialize-textarea",function(){textareaAutoResize(t(this))}),t(document).on("change",'.file-field input[type="file"]',function(){for(var e=t(this).closest(".file-field"),n=e.find("input.file-path"),i=t(this)[0].files,r=[],o=0;o<i.length;o++)r.push(i[o].name);n.val(r.join(", ")),n.trigger("change")});var i="input[type=range]",r=!1;t(i).each(function(){var e=t('<span class="thumb"><span class="value"></span></span>');t(this).after(e)});var o=function(t){var e=parseInt(t.parent().css("padding-left")),n=-7+e+"px";t.velocity({height:"30px",width:"30px",top:"-30px",marginLeft:n},{duration:300,easing:"easeOutExpo"})},a=function(t){var e=t.width()-15,n=parseFloat(t.attr("max")),i=parseFloat(t.attr("min"));return(parseFloat(t.val())-i)/(n-i)*e};t(document).on("change",i,function(e){var n=t(this).siblings(".thumb");n.find(".value").html(t(this).val()),n.hasClass("active")||o(n);var i=a(t(this));n.addClass("active").css("left",i)}),t(document).on("mousedown touchstart",i,function(e){var n=t(this).siblings(".thumb");if(n.length<=0&&(n=t('<span class="thumb"><span class="value"></span></span>'),t(this).after(n)),n.find(".value").html(t(this).val()),r=!0,t(this).addClass("active"),n.hasClass("active")||o(n),"input"!==e.type){var i=a(t(this));n.addClass("active").css("left",i)}}),t(document).on("mouseup touchend",".range-field",function(){r=!1,t(this).removeClass("active")}),t(document).on("input mousemove touchmove",".range-field",function(e){var n=t(this).children(".thumb"),s=t(this).find(i);if(r){n.hasClass("active")||o(n);var l=a(s);n.addClass("active").css("left",l),n.find(".value").html(n.siblings(i).val())}}),t(document).on("mouseout touchleave",".range-field",function(){if(!r){var e=t(this).children(".thumb"),n=parseInt(t(this).css("padding-left")),i=7+n+"px";e.hasClass("active")&&e.velocity({height:"0",width:"0",top:"10px",marginLeft:i},{duration:100}),e.removeClass("active")}}),t.fn.autocomplete=function(e){var n={data:{},limit:1/0,onAutocomplete:null,minLength:1};return e=t.extend(n,e),this.each(function(){var n,i=t(this),r=e.data,o=0,a=-1,s=i.closest(".input-field");if(!t.isEmptyObject(r)){var l,u=t('<ul class="autocomplete-content dropdown-content"></ul>');s.length?(l=s.children(".autocomplete-content.dropdown-content").first(),l.length||s.append(u)):(l=i.next(".autocomplete-content.dropdown-content"),l.length||i.after(u)),l.length&&(u=l);var c=function(t,e){var n=e.find("img"),i=e.text().toLowerCase().indexOf(""+t.toLowerCase()),r=i+t.length-1,o=e.text().slice(0,i),a=e.text().slice(i,r+1),s=e.text().slice(r+1);e.html("<span>"+o+"<span class='highlight'>"+a+"</span>"+s+"</span>"),n.length&&e.prepend(n)},d=function(){a=-1,u.find(".active").removeClass("active")},f=function(){u.empty(),d(),n=void 0};i.off("blur.autocomplete").on("blur.autocomplete",function(){f()}),i.off("keyup.autocomplete focus.autocomplete").on("keyup.autocomplete focus.autocomplete",function(a){o=0;var s=i.val().toLowerCase();if(13!==a.which&&38!==a.which&&40!==a.which){if(n!==s&&(f(),s.length>=e.minLength))for(var l in r)if(r.hasOwnProperty(l)&&-1!==l.toLowerCase().indexOf(s)&&l.toLowerCase()!==s){if(o>=e.limit)break;var d=t("<li></li>");r[l]?d.append('<img src="'+r[l]+'" class="right circle"><span>'+l+"</span>"):d.append("<span>"+l+"</span>"),u.append(d),c(s,d),o++}n=s}}),i.off("keydown.autocomplete").on("keydown.autocomplete",function(t){var e,n=t.which,i=u.children("li").length,r=u.children(".active").first();if(13===n&&a>=0)return e=u.children("li").eq(a),void(e.length&&(e.trigger("mousedown.autocomplete"),t.preventDefault()));38!==n&&40!==n||(t.preventDefault(),38===n&&a>0&&a--,40===n&&a<i-1&&a++,r.removeClass("active"),a>=0&&u.children("li").eq(a).addClass("active"))}),u.on("mousedown.autocomplete touchstart.autocomplete","li",function(){var n=t(this).text().trim();i.val(n),i.trigger("change"),f(),"function"==typeof e.onAutocomplete&&e.onAutocomplete.call(this,n)})}})}}),t.fn.material_select=function(e){function toggleEntryFromArray(t,e,n){var i=t.indexOf(e),r=-1===i;return r?t.push(e):t.splice(i,1),n.siblings("ul.dropdown-content").find("li:not(.optgroup)").eq(e).toggleClass("active"),n.find("option").eq(e).prop("selected",r),setValueToInput(t,n),r}function setValueToInput(t,e){for(var n="",i=0,r=t.length;i<r;i++){var o=e.find("option").eq(t[i]).text();n+=0===i?o:", "+o}""===n&&(n=e.find("option:disabled").eq(0).text()),e.siblings("input.select-dropdown").val(n)}t(this).each(function(){var n=t(this);if(!n.hasClass("browser-default")){var i=!!n.attr("multiple"),r=n.data("select-id");if(r&&(n.parent().find("span.caret").remove(),n.parent().find("input").remove(),n.unwrap(),t("ul#select-options-"+r).remove()),"destroy"===e)return void n.data("select-id",null).removeClass("initialized");var o=Materialize.guid();n.data("select-id",o);var a=t('<div class="select-wrapper"></div>');a.addClass(n.attr("class"));var s=t('<ul id="select-options-'+o+'" class="dropdown-content select-dropdown '+(i?"multiple-select-dropdown":"")+'"></ul>'),l=n.children("option, optgroup"),u=[],c=!1,d=n.find("option:selected").html()||n.find("option:first").html()||"",f=function(e,n,r){var o=n.is(":disabled")?"disabled ":"",a="optgroup-option"===r?"optgroup-option ":"",l=i?'<input type="checkbox"'+o+"/><label></label>":"",u=n.data("icon"),c=n.attr("class");if(u){var d="";return c&&(d=' class="'+c+'"'),s.append(t('<li class="'+o+a+'"><img alt="" src="'+u+'"'+d+"><span>"+l+n.html()+"</span></li>")),!0}s.append(t('<li class="'+o+a+'"><span>'+l+n.html()+"</span></li>"))};l.length&&l.each(function(){if(t(this).is("option"))i?f(0,t(this),"multiple"):f(0,t(this));else if(t(this).is("optgroup")){var e=t(this).children("option");s.append(t('<li class="optgroup"><span>'+t(this).attr("label")+"</span></li>")),e.each(function(){f(0,t(this),"optgroup-option")})}}),s.find("li:not(.optgroup)").each(function(r){t(this).click(function(o){if(!t(this).hasClass("disabled")&&!t(this).hasClass("optgroup")){var a=!0;i?(t('input[type="checkbox"]',this).prop("checked",function(t,e){return!e}),a=toggleEntryFromArray(u,r,n),g.trigger("focus")):(s.find("li").removeClass("active"),t(this).toggleClass("active"),g.val(t(this).text())),v(s,t(this)),n.find("option").eq(r).prop("selected",a),n.trigger("change"),void 0!==e&&e()}o.stopPropagation()})}),n.wrap(a);var h=t('<span class="caret">&#9660;</span>');n.is(":disabled")&&h.addClass("disabled");var p=d.replace(/"/g,"&quot;"),g=t('<input type="text" class="select-dropdown" readonly="true" '+(n.is(":disabled")?"disabled":"")+' data-activates="select-options-'+o+'" value="'+p+'"/>');n.before(g),g.before(h),g.after(s),n.is(":disabled")||g.dropdown({hover:!1}),n.attr("tabindex")&&t(g[0]).attr("tabindex",n.attr("tabindex")),n.addClass("initialized"),g.on({focus:function(){if(t("ul.select-dropdown").not(s[0]).is(":visible")&&t("input.select-dropdown").trigger("close"),!s.is(":visible")){t(this).trigger("open",["focus"]);var e=t(this).val();i&&e.indexOf(",")>=0&&(e=e.split(",")[0]);var n=s.find("li").filter(function(){return t(this).text().toLowerCase()===e.toLowerCase()})[0];v(s,n,!0)}},click:function(t){t.stopPropagation()}}),g.on("blur",function(){i||t(this).trigger("close"),s.find("li.selected").removeClass("selected")}),s.hover(function(){c=!0},function(){c=!1}),t(window).on({click:function(){i&&(c||g.trigger("close"))}}),i&&n.find("option:selected:not(:disabled)").each(function(){var e=t(this).index();toggleEntryFromArray(u,e,n),s.find("li").eq(e).find(":checkbox").prop("checked",!0)});var v=function(e,n,r){if(n){e.find("li.selected").removeClass("selected");var o=t(n);o.addClass("selected"),i&&!r||s.scrollTo(o)}},m=[],y=function(e){if(9==e.which)return void g.trigger("close");if(40==e.which&&!s.is(":visible"))return void g.trigger("open");if(13!=e.which||s.is(":visible")){e.preventDefault();var n=String.fromCharCode(e.which).toLowerCase(),r=[9,13,27,38,40];if(n&&-1===r.indexOf(e.which)){m.push(n);var o=m.join(""),a=s.find("li").filter(function(){return 0===t(this).text().toLowerCase().indexOf(o)})[0];a&&v(s,a)}if(13==e.which){var l=s.find("li.selected:not(.disabled)")[0];l&&(t(l).trigger("click"),i||g.trigger("close"))}40==e.which&&(a=s.find("li.selected").length?s.find("li.selected").next("li:not(.disabled)")[0]:s.find("li:not(.disabled)")[0],v(s,a)),27==e.which&&g.trigger("close"),38==e.which&&(a=s.find("li.selected").prev("li:not(.disabled)")[0])&&v(s,a),setTimeout(function(){m=[]},1e3)}};g.on("keydown",y)}})}}(C),function(t){var e={init:function(e){var n={indicators:!0,height:400,transition:500,interval:6e3};return e=t.extend(n,e),this.each(function(){function captionTransition(t,e){t.hasClass("center-align")?t.velocity({opacity:0,translateY:-100},{duration:e,queue:!1}):t.hasClass("right-align")?t.velocity({opacity:0,translateX:100},{duration:e,queue:!1}):t.hasClass("left-align")&&t.velocity({opacity:0,translateX:-100},{duration:e,queue:!1})}function moveToSlide(t){t>=s.length?t=0:t<0&&(t=s.length-1),(l=a.find(".active").index())!=t&&(n=s.eq(l),$caption=n.find(".caption"),n.removeClass("active"),n.velocity({opacity:0},{duration:e.transition,queue:!1,easing:"easeOutQuad",complete:function(){s.not(".active").velocity({opacity:0,translateX:0,translateY:0},{duration:0,queue:!1})}}),captionTransition($caption,e.transition),e.indicators&&i.eq(l).removeClass("active"),s.eq(t).velocity({opacity:1},{duration:e.transition,queue:!1,easing:"easeOutQuad"}),s.eq(t).find(".caption").velocity({opacity:1,translateX:0,translateY:0},{duration:e.transition,delay:e.transition,queue:!1,easing:"easeOutQuad"}),s.eq(t).addClass("active"),e.indicators&&i.eq(t).addClass("active"))}var n,i,r,o=t(this),a=o.find("ul.slides").first(),s=a.find("> li"),l=a.find(".active").index();-1!=l&&(n=s.eq(l)),o.hasClass("fullscreen")||(e.indicators?o.height(e.height+40):o.height(e.height),a.height(e.height)),s.find(".caption").each(function(){captionTransition(t(this),0)}),s.find("img").each(function(){var e="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";t(this).attr("src")!==e&&(t(this).css("background-image","url("+t(this).attr("src")+")"),t(this).attr("src",e))}),e.indicators&&(i=t('<ul class="indicators"></ul>'),s.each(function(n){var o=t('<li class="indicator-item"></li>');o.click(function(){moveToSlide(a.parent().find(t(this)).index()),clearInterval(r),r=setInterval(function(){l=a.find(".active").index(),s.length==l+1?l=0:l+=1,moveToSlide(l)},e.transition+e.interval)}),i.append(o)}),o.append(i),i=o.find("ul.indicators").find("li.indicator-item")),n?n.show():(s.first().addClass("active").velocity({opacity:1},{duration:e.transition,queue:!1,easing:"easeOutQuad"}),l=0,n=s.eq(l),e.indicators&&i.eq(l).addClass("active")),n.find("img").each(function(){n.find(".caption").velocity({opacity:1,translateX:0,translateY:0},{duration:e.transition,queue:!1,easing:"easeOutQuad"})}),r=setInterval(function(){l=a.find(".active").index(),moveToSlide(l+1)},e.transition+e.interval);var u=!1,c=!1,d=!1;o.hammer({prevent_default:!1}).bind("pan",function(t){if("touch"===t.gesture.pointerType){clearInterval(r);var e=t.gesture.direction,n=t.gesture.deltaX,i=t.gesture.velocityX,l=t.gesture.velocityY;$curr_slide=a.find(".active"),Math.abs(i)>Math.abs(l)&&$curr_slide.velocity({translateX:n},{duration:50,queue:!1,easing:"easeOutQuad"}),4===e&&(n>o.innerWidth()/2||i<-.65)?d=!0:2===e&&(n<-1*o.innerWidth()/2||i>.65)&&(c=!0);var u;c&&(u=$curr_slide.next(),0===u.length&&(u=s.first()),u.velocity({opacity:1},{duration:300,queue:!1,easing:"easeOutQuad"})),d&&(u=$curr_slide.prev(),0===u.length&&(u=s.last()),u.velocity({opacity:1},{duration:300,queue:!1,easing:"easeOutQuad"}))}}).bind("panend",function(t){"touch"===t.gesture.pointerType&&($curr_slide=a.find(".active"),u=!1,curr_index=a.find(".active").index(),!d&&!c||s.length<=1?$curr_slide.velocity({translateX:0},{duration:300,queue:!1,easing:"easeOutQuad"}):c?(moveToSlide(curr_index+1),$curr_slide.velocity({translateX:-1*o.innerWidth()},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){$curr_slide.velocity({opacity:0,translateX:0},{duration:0,queue:!1})}})):d&&(moveToSlide(curr_index-1),$curr_slide.velocity({translateX:o.innerWidth()},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){$curr_slide.velocity({opacity:0,translateX:0},{duration:0,queue:!1})}})),c=!1,d=!1,clearInterval(r),r=setInterval(function(){l=a.find(".active").index(),s.length==l+1?l=0:l+=1,moveToSlide(l)},e.transition+e.interval))}),o.on("sliderPause",function(){clearInterval(r)}),o.on("sliderStart",function(){clearInterval(r),r=setInterval(function(){l=a.find(".active").index(),s.length==l+1?l=0:l+=1,moveToSlide(l)},e.transition+e.interval)}),o.on("sliderNext",function(){l=a.find(".active").index(),moveToSlide(l+1)}),o.on("sliderPrev",function(){l=a.find(".active").index(),moveToSlide(l-1)})})},pause:function(){t(this).trigger("sliderPause")},start:function(){t(this).trigger("sliderStart")},next:function(){t(this).trigger("sliderNext")},prev:function(){t(this).trigger("sliderPrev")}};t.fn.slider=function(n){return e[n]?e[n].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof n&&n?void t.error("Method "+n+" does not exist on jQuery.tooltip"):e.init.apply(this,arguments)}}(C),function(t){t(document).ready(function(){t(document).on("click.card",".card",function(e){t(this).find("> .card-reveal").length&&(t(e.target).is(t(".card-reveal .card-title"))||t(e.target).is(t(".card-reveal .card-title i"))?t(this).find(".card-reveal").velocity({translateY:0},{duration:225,queue:!1,easing:"easeInOutQuad",complete:function(){t(this).css({display:"none"})}}):(t(e.target).is(t(".card .activator"))||t(e.target).is(t(".card .activator i")))&&(t(e.target).closest(".card").css("overflow","hidden"),t(this).find(".card-reveal").css({display:"block"}).velocity("stop",!1).velocity({translateY:"-100%"},{duration:300,queue:!1,easing:"easeInOutQuad"})))})})}(C),function(t){var e={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{}};t(document).ready(function(){t(document).on("click",".chip .close",function(e){t(this).closest(".chips").attr("data-initialized")||t(this).closest(".chip").remove()})}),t.fn.material_chip=function(n){var i=this;if(this.$el=t(this),this.$document=t(document),this.SELS={CHIPS:".chips",CHIP:".chip",INPUT:"input",DELETE:".material-icons",SELECTED_CHIP:".selected"},"data"===n)return this.$el.data("chips");var r=t.extend({},e,n);i.hasAutocomplete=!t.isEmptyObject(r.autocompleteOptions.data),this.init=function(){var e=0;i.$el.each(function(){var n=t(this),o=Materialize.guid();i.chipId=o,r.data&&r.data instanceof Array||(r.data=[]),n.data("chips",r.data),n.attr("data-index",e),n.attr("data-initialized",!0),n.hasClass(i.SELS.CHIPS)||n.addClass("chips"),i.chips(n,o),e++})},this.handleEvents=function(){var e=i.SELS;i.$document.off("click.chips-focus",e.CHIPS).on("click.chips-focus",e.CHIPS,function(n){t(n.target).find(e.INPUT).focus()}),i.$document.off("click.chips-select",e.CHIP).on("click.chips-select",e.CHIP,function(n){var r=t(n.target);if(r.length){var o=r.hasClass("selected"),a=r.closest(e.CHIPS);t(e.CHIP).removeClass("selected"),o||i.selectChip(r.index(),a)}}),i.$document.off("keydown.chips").on("keydown.chips",function(n){if(!t(n.target).is("input, textarea")){var r,o=i.$document.find(e.CHIP+e.SELECTED_CHIP),a=o.closest(e.CHIPS),s=o.siblings(e.CHIP).length;if(o.length)if(8===n.which||46===n.which){n.preventDefault(),r=o.index(),i.deleteChip(r,a);var l=null;r+1<s?l=r:r!==s&&r+1!==s||(l=s-1),l<0&&(l=null),null!==l&&i.selectChip(l,a),s||a.find("input").focus()}else if(37===n.which){if((r=o.index()-1)<0)return;t(e.CHIP).removeClass("selected"),i.selectChip(r,a)}else if(39===n.which){if(r=o.index()+1,t(e.CHIP).removeClass("selected"),r>s)return void a.find("input").focus();i.selectChip(r,a)}}}),i.$document.off("focusin.chips",e.CHIPS+" "+e.INPUT).on("focusin.chips",e.CHIPS+" "+e.INPUT,function(n){var i=t(n.target).closest(e.CHIPS);i.addClass("focus"),i.siblings("label, .prefix").addClass("active"),t(e.CHIP).removeClass("selected")}),i.$document.off("focusout.chips",e.CHIPS+" "+e.INPUT).on("focusout.chips",e.CHIPS+" "+e.INPUT,function(n){var i=t(n.target).closest(e.CHIPS);i.removeClass("focus"),i.data("chips").length||i.siblings("label").removeClass("active"),i.siblings(".prefix").removeClass("active")}),i.$document.off("keydown.chips-add",e.CHIPS+" "+e.INPUT).on("keydown.chips-add",e.CHIPS+" "+e.INPUT,function(n){var r=t(n.target),o=r.closest(e.CHIPS),a=o.children(e.CHIP).length;if(13===n.which){if(i.hasAutocomplete&&o.find(".autocomplete-content.dropdown-content").length&&o.find(".autocomplete-content.dropdown-content").children().length)return;return n.preventDefault(),i.addChip({tag:r.val()},o),void r.val("")}if((8===n.keyCode||37===n.keyCode)&&""===r.val()&&a)return n.preventDefault(),i.selectChip(a-1,o),void r.blur()}),i.$document.off("click.chips-delete",e.CHIPS+" "+e.DELETE).on("click.chips-delete",e.CHIPS+" "+e.DELETE,function(n){var r=t(n.target),o=r.closest(e.CHIPS),a=r.closest(e.CHIP);n.stopPropagation(),i.deleteChip(a.index(),o),o.find("input").focus()})},this.chips=function(e,n){e.empty(),e.data("chips").forEach(function(t){e.append(i.renderChip(t))}),e.append(t('<input id="'+n+'" class="input" placeholder="">')),i.setPlaceholder(e);var o=e.next("label");o.length&&(o.attr("for",n),e.data("chips").length&&o.addClass("active"));var a=t("#"+n);i.hasAutocomplete&&(r.autocompleteOptions.onAutocomplete=function(t){i.addChip({tag:t},e),a.val(""),a.focus()},a.autocomplete(r.autocompleteOptions))},this.renderChip=function(e){if(e.tag){var n=t('<div class="chip"></div>');return n.text(e.tag),n.append(t('<i class="material-icons close">close</i>')),n}},this.setPlaceholder=function(t){t.data("chips").length&&r.placeholder?t.find("input").prop("placeholder",r.placeholder):!t.data("chips").length&&r.secondaryPlaceholder&&t.find("input").prop("placeholder",r.secondaryPlaceholder)},this.isValid=function(t,e){for(var n=t.data("chips"),i=!1,r=0;r<n.length;r++)if(n[r].tag===e.tag)return void(i=!0);return""!==e.tag&&!i},this.addChip=function(t,e){if(i.isValid(e,t)){for(var n=i.renderChip(t),r=[],o=e.data("chips"),a=0;a<o.length;a++)r.push(o[a]);r.push(t),e.data("chips",r),n.insertBefore(e.find("input")),e.trigger("chip.add",t),i.setPlaceholder(e)}},this.deleteChip=function(t,e){var n=e.data("chips")[t];e.find(".chip").eq(t).remove();for(var r=[],o=e.data("chips"),a=0;a<o.length;a++)a!==t&&r.push(o[a]);e.data("chips",r),e.trigger("chip.delete",n),i.setPlaceholder(e)},this.selectChip=function(t,e){var n=e.find(".chip").eq(t);n&&!1===n.hasClass("selected")&&(n.addClass("selected"),e.trigger("chip.select",e.data("chips")[t]))},this.getChipsElement=function(t,e){return e.eq(t)},this.init(),this.handleEvents()}}(C),function(t){t.fn.pushpin=function(e){var n={top:0,bottom:1/0,offset:0};return"remove"===e?(this.each(function(){(id=t(this).data("pushpin-id"))&&(t(window).off("scroll."+id),t(this).removeData("pushpin-id").removeClass("pin-top pinned pin-bottom").removeAttr("style"))}),!1):(e=t.extend(n,e),$index=0,this.each(function(){function removePinClasses(t){t.removeClass("pin-top"),t.removeClass("pinned"),t.removeClass("pin-bottom")}function updateElements(n,i){n.each(function(){e.top<=i&&e.bottom>=i&&!t(this).hasClass("pinned")&&(removePinClasses(t(this)),t(this).css("top",e.offset),t(this).addClass("pinned")),i<e.top&&!t(this).hasClass("pin-top")&&(removePinClasses(t(this)),t(this).css("top",0),t(this).addClass("pin-top")),i>e.bottom&&!t(this).hasClass("pin-bottom")&&(removePinClasses(t(this)),t(this).addClass("pin-bottom"),t(this).css("top",e.bottom-r))})}var n=Materialize.guid(),i=t(this),r=t(this).offset().top;t(this).data("pushpin-id",n),updateElements(i,t(window).scrollTop()),t(window).on("scroll."+n,function(){var n=t(window).scrollTop()+e.offset;updateElements(i,n)})}))}}(C),function(t){t(document).ready(function(){t.fn.reverse=[].reverse,t(document).on("mouseenter.fixedActionBtn",".fixed-action-btn:not(.click-to-toggle):not(.toolbar)",function(n){var i=t(this);e(i)}),t(document).on("mouseleave.fixedActionBtn",".fixed-action-btn:not(.click-to-toggle):not(.toolbar)",function(e){var i=t(this);n(i)}),t(document).on("click.fabClickToggle",".fixed-action-btn.click-to-toggle > a",function(i){var r=t(this),o=r.parent();o.hasClass("active")?n(o):e(o)}),t(document).on("click.fabToolbar",".fixed-action-btn.toolbar > a",function(e){var n=t(this),r=n.parent();i(r)})}),t.fn.extend({openFAB:function(){e(t(this))},closeFAB:function(){n(t(this))},openToolbar:function(){i(t(this))},closeToolbar:function(){r(t(this))}});var e=function(e){var n=e;if(!1===n.hasClass("active")){var i,r,o=n.hasClass("horizontal");!0===o?r=40:i=40,n.addClass("active"),n.find("ul .btn-floating").velocity({scaleY:".4",scaleX:".4",translateY:i+"px",translateX:r+"px"},{duration:0});var a=0;n.find("ul .btn-floating").reverse().each(function(){t(this).velocity({opacity:"1",scaleX:"1",scaleY:"1",translateY:"0",translateX:"0"},{duration:80,delay:a}),a+=40})}},n=function(t){var e,n,i=t,r=i.hasClass("horizontal");!0===r?n=40:e=40,i.removeClass("active");i.find("ul .btn-floating").velocity("stop",!0),i.find("ul .btn-floating").velocity({opacity:"0",scaleX:".4",scaleY:".4",translateY:e+"px",translateX:n+"px"},{duration:80})},i=function(e){if("true"!==e.attr("data-open")){var n,i,o,a=window.innerWidth,s=window.innerHeight,l=e[0].getBoundingClientRect(),u=e.find("> a").first(),c=e.find("> ul").first(),d=t('<div class="fab-backdrop"></div>'),f=u.css("background-color");u.append(d),n=l.left-a/2+l.width/2,i=s-l.bottom,o=a/d.width(),e.attr("data-origin-bottom",l.bottom),e.attr("data-origin-left",l.left),e.attr("data-origin-width",l.width),e.addClass("active"),e.attr("data-open",!0),e.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+n+"px)",transition:"none"}),u.css({transform:"translateY("+-i+"px)",transition:"none"}),d.css({"background-color":f}),setTimeout(function(){e.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),u.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){e.css({overflow:"hidden","background-color":f}),d.css({transform:"scale("+o+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),c.find("> li > a").css({opacity:1}),t(window).on("scroll.fabToolbarClose",function(){r(e),t(window).off("scroll.fabToolbarClose"),t(document).off("click.fabToolbarClose")}),t(document).on("click.fabToolbarClose",function(n){t(n.target).closest(c).length||(r(e),t(window).off("scroll.fabToolbarClose"),t(document).off("click.fabToolbarClose"))})},100)},0)}},r=function(t){if("true"===t.attr("data-open")){var e,n,i=window.innerWidth,r=window.innerHeight,o=t.attr("data-origin-width"),a=t.attr("data-origin-bottom"),s=t.attr("data-origin-left"),l=t.find("> .btn-floating").first(),u=t.find("> ul").first(),c=t.find(".fab-backdrop"),d=l.css("background-color");e=s-i/2+o/2,n=r-a,i/c.width(),t.removeClass("active"),t.attr("data-open",!1),t.css({"background-color":"transparent",transition:"none"}),l.css({transition:"none"}),c.css({transform:"scale(0)","background-color":d}),u.find("> li > a").css({opacity:""}),setTimeout(function(){c.remove(),t.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-e+"px,0,0)"}),l.css({overflow:"",transform:"translate3d(0,"+n+"px,0)"}),setTimeout(function(){t.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),l.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}}(C),function(t){Materialize.fadeInImage=function(e){var n;if("string"==typeof e)n=t(e);else{if("object"!=typeof e)return;n=e}n.css({opacity:0}),t(n).velocity({opacity:1},{duration:650,queue:!1,easing:"easeOutSine"}),t(n).velocity({opacity:1},{duration:1300,queue:!1,easing:"swing",step:function(e,n){n.start=100;var i=e/100,r=150-(100-e)/1.75;r<100&&(r=100),e>=0&&t(this).css({"-webkit-filter":"grayscale("+i+")brightness("+r+"%)",filter:"grayscale("+i+")brightness("+r+"%)"})}})},Materialize.showStaggeredList=function(e){var n;if("string"==typeof e)n=t(e);else{if("object"!=typeof e)return;n=e}var i=0;n.find("li").velocity({translateX:"-100px"},{duration:0}),n.find("li").each(function(){t(this).velocity({opacity:"1",translateX:"0"},{duration:800,delay:i,easing:[60,10]}),i+=120})},t(document).ready(function(){var e=!1,n=!1;t(".dismissable").each(function(){t(this).hammer({prevent_default:!1}).bind("pan",function(i){if("touch"===i.gesture.pointerType){var r=t(this),o=i.gesture.direction,a=i.gesture.deltaX,s=i.gesture.velocityX;r.velocity({translateX:a},{duration:50,queue:!1,easing:"easeOutQuad"}),4===o&&(a>r.innerWidth()/2||s<-.75)&&(e=!0),2===o&&(a<-1*r.innerWidth()/2||s>.75)&&(n=!0)}}).bind("panend",function(i){if(Math.abs(i.gesture.deltaX)<t(this).innerWidth()/2&&(n=!1,e=!1),"touch"===i.gesture.pointerType){var r=t(this);if(e||n){var o;o=e?r.innerWidth():-1*r.innerWidth(),r.velocity({translateX:o},{duration:100,queue:!1,easing:"easeOutQuad",complete:function(){r.css("border","none"),r.velocity({height:0,padding:0},{duration:200,queue:!1,easing:"easeOutQuad",complete:function(){r.remove()}})}})}else r.velocity({translateX:0},{duration:100,queue:!1,easing:"easeOutQuad"});e=!1,n=!1}})})})}(C),function(t){var e=!1;Materialize.scrollFire=function(t){var n=function(){for(var e=window.pageYOffset+window.innerHeight,n=0;n<t.length;n++){var i=t[n],r=i.selector,o=i.offset,a=i.callback,s=document.querySelector(r);if(null!==s){if(e>s.getBoundingClientRect().top+window.pageYOffset+o&&!0!==i.done){if("function"==typeof a)a.call(this,s);else if("string"==typeof a){var l=new Function(a);l(s)}i.done=!0}}}},i=Materialize.throttle(function(){n()},t.throttle||100);e||(window.addEventListener("scroll",i),window.addEventListener("resize",i),e=!0),setTimeout(i,0)}}(),function(t){b=[a(0)],h=t,T="function"==typeof h?h.apply(i,b):h}(function(t){function PickerConstructor(e,r,o,a){function createWrappedComponent(){return PickerConstructor._.node("div",PickerConstructor._.node("div",PickerConstructor._.node("div",PickerConstructor._.node("div",h.component.nodes(l.open),c.box),c.wrap),c.frame),c.holder)}function prepareElement(){d.data(r,h).addClass(c.input).attr("tabindex",-1).val(d.data("value")?h.get("select",u.format):e.value),u.editable||d.on("focus."+l.id+" click."+l.id,function(t){t.preventDefault(),h.$root.eq(0).focus()}).on("keydown."+l.id,handleKeydownEvent),aria(e,{haspopup:!0,expanded:!1,readonly:!1,owns:e.id+"_root"})}function prepareElementRoot(){h.$root.on({keydown:handleKeydownEvent,focusin:function(t){h.$root.removeClass(c.focused),t.stopPropagation()},"mousedown click":function(e){var n=e.target;n!=h.$root.children()[0]&&(e.stopPropagation(),"mousedown"!=e.type||t(n).is("input, select, textarea, button, option")||(e.preventDefault(),h.$root.eq(0).focus()))}}).on({focus:function(){d.addClass(c.target)},blur:function(){d.removeClass(c.target)}}).on("focus.toOpen",handleFocusToOpenEvent).on("click","[data-pick], [data-nav], [data-clear], [data-close]",function(){var e=t(this),n=e.data(),i=e.hasClass(c.navDisabled)||e.hasClass(c.disabled),r=getActiveElement();r=r&&(r.type||r.href),(i||r&&!t.contains(h.$root[0],r))&&h.$root.eq(0).focus(),!i&&n.nav?h.set("highlight",h.component.item.highlight,{nav:n.nav}):!i&&"pick"in n?h.set("select",n.pick):n.clear?h.clear().close(!0):n.close&&h.close(!0)}),aria(h.$root[0],"hidden",!0)}function prepareElementHidden(){var n;!0===u.hiddenName?(n=e.name,e.name=""):(n=["string"==typeof u.hiddenPrefix?u.hiddenPrefix:"","string"==typeof u.hiddenSuffix?u.hiddenSuffix:"_submit"],n=n[0]+e.name+n[1]),h._hidden=t('<input type=hidden name="'+n+'"'+(d.data("value")||e.value?' value="'+h.get("select",u.formatSubmit)+'"':"")+">")[0],d.on("change."+l.id,function(){h._hidden.value=e.value?h.get("select",u.formatSubmit):""}),u.container?t(u.container).append(h._hidden):d.after(h._hidden)}function handleKeydownEvent(t){var e=t.keyCode,n=/^(8|46)$/.test(e);if(27==e)return h.close(),!1;(32==e||n||!l.open&&h.component.key[e])&&(t.preventDefault(),t.stopPropagation(),n?h.clear().close():h.open())}function handleFocusToOpenEvent(t){t.stopPropagation(),"focus"==t.type&&h.$root.addClass(c.focused),h.open()}if(!e)return PickerConstructor;var s=!1,l={id:e.id||"P"+Math.abs(~~(Math.random()*new Date))},u=o?t.extend(!0,{},o.defaults,a):a||{},c=t.extend({},PickerConstructor.klasses(),u.klass),d=t(e),f=function(){return this.start()},h=f.prototype={constructor:f,$node:d,start:function(){return l&&l.start?h:(l.methods={},l.start=!0,l.open=!1,l.type=e.type,e.autofocus=e==getActiveElement(),e.readOnly=!u.editable,e.id=e.id||l.id,"text"!=e.type&&(e.type="text"),h.component=new o(h,u),h.$root=t(PickerConstructor._.node("div",createWrappedComponent(),c.picker,'id="'+e.id+'_root" tabindex="0"')),prepareElementRoot(),u.formatSubmit&&prepareElementHidden(),prepareElement(),u.container?t(u.container).append(h.$root):d.after(h.$root),h.on({start:h.component.onStart,render:h.component.onRender,stop:h.component.onStop,open:h.component.onOpen,close:h.component.onClose,set:h.component.onSet}).on({start:u.onStart,render:u.onRender,stop:u.onStop,open:u.onOpen,close:u.onClose,set:u.onSet}),s=isUsingDefaultTheme(h.$root.children()[0]),e.autofocus&&h.open(),h.trigger("start").trigger("render"))},render:function(t){return t?h.$root.html(createWrappedComponent()):h.$root.find("."+c.box).html(h.component.nodes(l.open)),h.trigger("render")},stop:function(){return l.start?(h.close(),h._hidden&&h._hidden.parentNode.removeChild(h._hidden),h.$root.remove(),d.removeClass(c.input).removeData(r),setTimeout(function(){d.off("."+l.id)},0),e.type=l.type,e.readOnly=!1,h.trigger("stop"),l.methods={},l.start=!1,h):h},open:function(r){return l.open?h:(d.addClass(c.active),aria(e,"expanded",!0),setTimeout(function(){h.$root.addClass(c.opened),aria(h.$root[0],"hidden",!1)},0),!1!==r&&(l.open=!0,s&&i.css("overflow","hidden").css("padding-right","+="+getScrollbarWidth()),h.$root.eq(0).focus(),n.on("click."+l.id+" focusin."+l.id,function(t){var n=t.target;n!=e&&n!=document&&3!=t.which&&h.close(n===h.$root.children()[0])}).on("keydown."+l.id,function(e){var n=e.keyCode,i=h.component.key[n],r=e.target;27==n?h.close(!0):r!=h.$root[0]||!i&&13!=n?t.contains(h.$root[0],r)&&13==n&&(e.preventDefault(),r.click()):(e.preventDefault(),i?PickerConstructor._.trigger(h.component.key.go,h,[PickerConstructor._.trigger(i)]):h.$root.find("."+c.highlighted).hasClass(c.disabled)||h.set("select",h.component.item.highlight).close())})),h.trigger("open"))},close:function(t){return t&&(h.$root.off("focus.toOpen").eq(0).focus(),setTimeout(function(){h.$root.on("focus.toOpen",handleFocusToOpenEvent)},0)),d.removeClass(c.active),aria(e,"expanded",!1),setTimeout(function(){h.$root.removeClass(c.opened+" "+c.focused),aria(h.$root[0],"hidden",!0)},0),l.open?(l.open=!1,s&&i.css("overflow","").css("padding-right","-="+getScrollbarWidth()),n.off("."+l.id),h.trigger("close")):h},clear:function(t){return h.set("clear",null,t)},set:function(e,n,i){var r,o,a=t.isPlainObject(e),s=a?e:{};if(i=a&&t.isPlainObject(n)?n:i||{},e){a||(s[e]=n);for(r in s)o=s[r],r in h.component.item&&(void 0===o&&(o=null),h.component.set(r,o,i)),"select"!=r&&"clear"!=r||d.val("clear"==r?"":h.get(r,u.format)).trigger("change");h.render()}return i.muted?h:h.trigger("set",s)},get:function(t,n){if(t=t||"value",null!=l[t])return l[t];if("valueSubmit"==t){if(h._hidden)return h._hidden.value;t="value"}if("value"==t)return e.value;if(t in h.component.item){if("string"==typeof n){var i=h.component.get(t);return i?PickerConstructor._.trigger(h.component.formats.toString,h.component,[n,i]):""}return h.component.get(t)}},on:function(e,n,i){var r,o,a=t.isPlainObject(e),s=a?e:{};if(e){a||(s[e]=n);for(r in s)o=s[r],i&&(r="_"+r),l.methods[r]=l.methods[r]||[],l.methods[r].push(o)}return h},off:function(){var t,e,n=arguments;for(t=0,namesCount=n.length;t<namesCount;t+=1)(e=n[t])in l.methods&&delete l.methods[e];return h},trigger:function(t,e){var n=function(t){var n=l.methods[t];n&&n.map(function(t){PickerConstructor._.trigger(t,h,[e])})};return n("_"+t),n(t),h}};return new f}function isUsingDefaultTheme(t){var e;return t.currentStyle?e=t.currentStyle.position:window.getComputedStyle&&(e=getComputedStyle(t).position),"fixed"==e}function getScrollbarWidth(){if(i.height()<=e.height())return 0;var n=t('<div style="visibility:hidden;width:100px" />').appendTo("body"),r=n[0].offsetWidth;n.css("overflow","scroll");var o=t('<div style="width:100%" />').appendTo(n),a=o[0].offsetWidth;return n.remove(),r-a}function aria(e,n,i){if(t.isPlainObject(n))for(var r in n)ariaSet(e,r,n[r]);else ariaSet(e,n,i)}function ariaSet(t,e,n){t.setAttribute(("role"==e?"":"aria-")+e,n)}function ariaAttr(e,n){t.isPlainObject(e)||(e={attribute:n}),n="";for(var i in e){var r=("role"==i?"":"aria-")+i;n+=null==e[i]?"":r+'="'+e[i]+'"'}return n}function getActiveElement(){try{return document.activeElement}catch(t){}}var e=t(window),n=t(document),i=t(document.documentElement);return PickerConstructor.klasses=function(t){return t=t||"picker",{picker:t,opened:t+"--opened",focused:t+"--focused",input:t+"__input",active:t+"__input--active",target:t+"__input--target",holder:t+"__holder",frame:t+"__frame",wrap:t+"__wrap",box:t+"__box"}},PickerConstructor._={group:function(t){for(var e,n="",i=PickerConstructor._.trigger(t.min,t);i<=PickerConstructor._.trigger(t.max,t,[i]);i+=t.i)e=PickerConstructor._.trigger(t.item,t,[i]),n+=PickerConstructor._.node(t.node,e[0],e[1],e[2]);return n},node:function(e,n,i,r){return n?(n=t.isArray(n)?n.join(""):n,i=i?' class="'+i+'"':"",r=r?" "+r:"","<"+e+i+r+">"+n+"</"+e+">"):""},lead:function(t){return(t<10?"0":"")+t},trigger:function(t,e,n){return"function"==typeof t?t.apply(e,n||[]):t},digits:function(t){return/\d/.test(t[1])?2:1},isDate:function(t){return{}.toString.call(t).indexOf("Date")>-1&&this.isInteger(t.getDate())},isInteger:function(t){return{}.toString.call(t).indexOf("Number")>-1&&t%1==0},ariaAttr:ariaAttr},PickerConstructor.extend=function(e,n){t.fn[e]=function(i,r){var o=this.data(e);return"picker"==i?o:o&&"string"==typeof i?PickerConstructor._.trigger(o[i],o,[r]):this.each(function(){t(this).data(e)||new PickerConstructor(this,e,n,i)})},t.fn[e].defaults=n.defaults},PickerConstructor}),function(t){b=[T,a(0)],h=t,void 0!==(g="function"==typeof h?h.apply(i,b):h)&&(e.exports=g)}(function(t,e){function DatePicker(t,e){var n=this,i=t.$node[0],r=i.value,o=t.$node.data("value"),a=o||r,s=o?e.formatSubmit:e.format,l=function(){return i.currentStyle?"rtl"==i.currentStyle.direction:"rtl"==getComputedStyle(t.$root[0]).direction};n.settings=e,n.$node=t.$node,n.queue={min:"measure create",max:"measure create",now:"now create",select:"parse create validate",highlight:"parse navigate create validate",view:"parse create validate viewset",disable:"deactivate",enable:"activate"},n.item={},n.item.clear=null,n.item.disable=(e.disable||[]).slice(0),n.item.enable=-function(t){return!0===t[0]?t.shift():-1}(n.item.disable),n.set("min",e.min).set("max",e.max).set("now"),a?n.set("select",a,{format:s}):n.set("select",null).set("highlight",n.item.now),n.key={40:7,38:-7,39:function(){return l()?-1:1},37:function(){return l()?1:-1},go:function(t){var e=n.item.highlight,i=new Date(e.year,e.month,e.date+t);n.set("highlight",i,{interval:t}),this.render()}},t.on("render",function(){t.$root.find("."+e.klass.selectMonth).on("change",function(){var n=this.value;n&&(t.set("highlight",[t.get("view").year,n,t.get("highlight").date]),t.$root.find("."+e.klass.selectMonth).trigger("focus"))}),t.$root.find("."+e.klass.selectYear).on("change",function(){var n=this.value;n&&(t.set("highlight",[n,t.get("view").month,t.get("highlight").date]),t.$root.find("."+e.klass.selectYear).trigger("focus"))})},1).on("open",function(){var i="";n.disabled(n.get("now"))&&(i=":not(."+e.klass.buttonToday+")"),t.$root.find("button"+i+", select").attr("disabled",!1)},1).on("close",function(){t.$root.find("button, select").attr("disabled",!0)},1)}var n=t._;DatePicker.prototype.set=function(t,e,n){var i=this,r=i.item;return null===e?("clear"==t&&(t="select"),r[t]=e,i):(r["enable"==t?"disable":"flip"==t?"enable":t]=i.queue[t].split(" ").map(function(r){return e=i[r](t,e,n)}).pop(),"select"==t?i.set("highlight",r.select,n):"highlight"==t?i.set("view",r.highlight,n):t.match(/^(flip|min|max|disable|enable)$/)&&(r.select&&i.disabled(r.select)&&i.set("select",r.select,n),r.highlight&&i.disabled(r.highlight)&&i.set("highlight",r.highlight,n)),i)},DatePicker.prototype.get=function(t){return this.item[t]},DatePicker.prototype.create=function(t,i,r){var o,a=this;return i=void 0===i?t:i,i==-1/0||i==1/0?o=i:e.isPlainObject(i)&&n.isInteger(i.pick)?i=i.obj:e.isArray(i)?(i=new Date(i[0],i[1],i[2]),i=n.isDate(i)?i:a.create().obj):i=n.isInteger(i)||n.isDate(i)?a.normalize(new Date(i),r):a.now(t,i,r),{year:o||i.getFullYear(),month:o||i.getMonth(),date:o||i.getDate(),day:o||i.getDay(),obj:o||i,pick:o||i.getTime()}},DatePicker.prototype.createRange=function(t,i){var r=this,o=function(t){return!0===t||e.isArray(t)||n.isDate(t)?r.create(t):t};return n.isInteger(t)||(t=o(t)),n.isInteger(i)||(i=o(i)),n.isInteger(t)&&e.isPlainObject(i)?t=[i.year,i.month,i.date+t]:n.isInteger(i)&&e.isPlainObject(t)&&(i=[t.year,t.month,t.date+i]),{from:o(t),to:o(i)}},DatePicker.prototype.withinRange=function(t,e){return t=this.createRange(t.from,t.to),e.pick>=t.from.pick&&e.pick<=t.to.pick},DatePicker.prototype.overlapRanges=function(t,e){var n=this;return t=n.createRange(t.from,t.to),e=n.createRange(e.from,e.to),n.withinRange(t,e.from)||n.withinRange(t,e.to)||n.withinRange(e,t.from)||n.withinRange(e,t.to)},DatePicker.prototype.now=function(t,e,n){return e=new Date,n&&n.rel&&e.setDate(e.getDate()+n.rel),this.normalize(e,n)},DatePicker.prototype.navigate=function(t,n,i){var r,o,a,s,l=e.isArray(n),u=e.isPlainObject(n),c=this.item.view;if(l||u){for(u?(o=n.year,a=n.month,s=n.date):(o=+n[0],a=+n[1],s=+n[2]),i&&i.nav&&c&&c.month!==a&&(o=c.year,a=c.month),r=new Date(o,a+(i&&i.nav?i.nav:0),1),o=r.getFullYear(),a=r.getMonth();new Date(o,a,s).getMonth()!==a;)s-=1;n=[o,a,s]}return n},DatePicker.prototype.normalize=function(t){return t.setHours(0,0,0,0),t},DatePicker.prototype.measure=function(t,e){var i=this;return e?"string"==typeof e?e=i.parse(t,e):n.isInteger(e)&&(e=i.now(t,e,{rel:e})):e="min"==t?-1/0:1/0,e},DatePicker.prototype.viewset=function(t,e){return this.create([e.year,e.month,1])},DatePicker.prototype.validate=function(t,i,r){var o,a,s,l,u=this,c=i,d=r&&r.interval?r.interval:1,f=-1===u.item.enable,h=u.item.min,p=u.item.max,g=f&&u.item.disable.filter(function(t){if(e.isArray(t)){var r=u.create(t).pick;r<i.pick?o=!0:r>i.pick&&(a=!0)}return n.isInteger(t)}).length;if((!r||!r.nav)&&(!f&&u.disabled(i)||f&&u.disabled(i)&&(g||o||a)||!f&&(i.pick<=h.pick||i.pick>=p.pick)))for(f&&!g&&(!a&&d>0||!o&&d<0)&&(d*=-1);u.disabled(i)&&(Math.abs(d)>1&&(i.month<c.month||i.month>c.month)&&(i=c,d=d>0?1:-1),i.pick<=h.pick?(s=!0,d=1,i=u.create([h.year,h.month,h.date+(i.pick===h.pick?0:-1)])):i.pick>=p.pick&&(l=!0,d=-1,i=u.create([p.year,p.month,p.date+(i.pick===p.pick?0:1)])),!s||!l);)i=u.create([i.year,i.month,i.date+d]);return i},DatePicker.prototype.disabled=function(t){var i=this,r=i.item.disable.filter(function(r){return n.isInteger(r)?t.day===(i.settings.firstDay?r:r-1)%7:e.isArray(r)||n.isDate(r)?t.pick===i.create(r).pick:e.isPlainObject(r)?i.withinRange(r,t):void 0});return r=r.length&&!r.filter(function(t){return e.isArray(t)&&"inverted"==t[3]||e.isPlainObject(t)&&t.inverted}).length,-1===i.item.enable?!r:r||t.pick<i.item.min.pick||t.pick>i.item.max.pick},DatePicker.prototype.parse=function(t,e,i){var r=this,o={};return e&&"string"==typeof e?(i&&i.format||(i=i||{},i.format=r.settings.format),r.formats.toArray(i.format).map(function(t){var i=r.formats[t],a=i?n.trigger(i,r,[e,o]):t.replace(/^!/,"").length;i&&(o[t]=e.substr(0,a)),e=e.substr(a)}),[o.yyyy||o.yy,+(o.mm||o.m)-1,o.dd||o.d]):e},DatePicker.prototype.formats=function(){function getWordLengthFromCollection(t,e,n){var i=t.match(/\w+/)[0];return n.mm||n.m||(n.m=e.indexOf(i)+1),i.length}function getFirstWordLength(t){return t.match(/\w+/)[0].length}return{d:function(t,e){return t?n.digits(t):e.date},dd:function(t,e){return t?2:n.lead(e.date)},ddd:function(t,e){return t?getFirstWordLength(t):this.settings.weekdaysShort[e.day]},dddd:function(t,e){return t?getFirstWordLength(t):this.settings.weekdaysFull[e.day]},m:function(t,e){return t?n.digits(t):e.month+1},mm:function(t,e){return t?2:n.lead(e.month+1)},mmm:function(t,e){var n=this.settings.monthsShort;return t?getWordLengthFromCollection(t,n,e):n[e.month]},mmmm:function(t,e){var n=this.settings.monthsFull;return t?getWordLengthFromCollection(t,n,e):n[e.month]},yy:function(t,e){return t?2:(""+e.year).slice(2)},yyyy:function(t,e){return t?4:e.year},toArray:function(t){return t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g)},toString:function(t,e){var i=this;return i.formats.toArray(t).map(function(t){return n.trigger(i.formats[t],i,[0,e])||t.replace(/^!/,"")}).join("")}}}(),DatePicker.prototype.isDateExact=function(t,i){var r=this;return n.isInteger(t)&&n.isInteger(i)||"boolean"==typeof t&&"boolean"==typeof i?t===i:(n.isDate(t)||e.isArray(t))&&(n.isDate(i)||e.isArray(i))?r.create(t).pick===r.create(i).pick:!(!e.isPlainObject(t)||!e.isPlainObject(i))&&(r.isDateExact(t.from,i.from)&&r.isDateExact(t.to,i.to))},DatePicker.prototype.isDateOverlap=function(t,i){var r=this,o=r.settings.firstDay?1:0;return n.isInteger(t)&&(n.isDate(i)||e.isArray(i))?(t=t%7+o)===r.create(i).day+1:n.isInteger(i)&&(n.isDate(t)||e.isArray(t))?(i=i%7+o)===r.create(t).day+1:!(!e.isPlainObject(t)||!e.isPlainObject(i))&&r.overlapRanges(t,i)},DatePicker.prototype.flipEnable=function(t){var e=this.item;e.enable=t||(-1==e.enable?1:-1)},DatePicker.prototype.deactivate=function(t,i){var r=this,o=r.item.disable.slice(0);return"flip"==i?r.flipEnable():!1===i?(r.flipEnable(1),o=[]):!0===i?(r.flipEnable(-1),o=[]):i.map(function(t){for(var i,a=0;a<o.length;a+=1)if(r.isDateExact(t,o[a])){i=!0;break}i||(n.isInteger(t)||n.isDate(t)||e.isArray(t)||e.isPlainObject(t)&&t.from&&t.to)&&o.push(t)}),o},DatePicker.prototype.activate=function(t,i){var r=this,o=r.item.disable,a=o.length;return"flip"==i?r.flipEnable():!0===i?(r.flipEnable(1),o=[]):!1===i?(r.flipEnable(-1),o=[]):i.map(function(t){var i,s,l,u;for(l=0;l<a;l+=1){if(s=o[l],r.isDateExact(s,t)){i=o[l]=null,u=!0;break}if(r.isDateOverlap(s,t)){e.isPlainObject(t)?(t.inverted=!0,i=t):e.isArray(t)?(i=t,i[3]||i.push("inverted")):n.isDate(t)&&(i=[t.getFullYear(),t.getMonth(),t.getDate(),"inverted"]);break}}if(i)for(l=0;l<a;l+=1)if(r.isDateExact(o[l],t)){o[l]=null;break}if(u)for(l=0;l<a;l+=1)if(r.isDateOverlap(o[l],t)){o[l]=null;break}i&&o.push(i)}),o.filter(function(t){return null!=t})},DatePicker.prototype.nodes=function(t){var e=this,i=e.settings,r=e.item,o=r.now,a=r.select,s=r.highlight,l=r.view,u=r.disable,c=r.min,d=r.max,f=function(t,e){return i.firstDay&&(t.push(t.shift()),e.push(e.shift())),n.node("thead",n.node("tr",n.group({min:0,max:6,i:1,node:"th",item:function(n){return[t[n],i.klass.weekdays,'scope=col title="'+e[n]+'"']}})))}((i.showWeekdaysFull?i.weekdaysFull:i.weekdaysLetter).slice(0),i.weekdaysFull.slice(0)),h=function(t){return n.node("div"," ",i.klass["nav"+(t?"Next":"Prev")]+(t&&l.year>=d.year&&l.month>=d.month||!t&&l.year<=c.year&&l.month<=c.month?" "+i.klass.navDisabled:""),"data-nav="+(t||-1)+" "+n.ariaAttr({role:"button",controls:e.$node[0].id+"_table"})+' title="'+(t?i.labelMonthNext:i.labelMonthPrev)+'"')},p=function(r){var o=i.showMonthsShort?i.monthsShort:i.monthsFull;return"short_months"==r&&(o=i.monthsShort),i.selectMonths&&void 0==r?n.node("select",n.group({min:0,max:11,i:1,node:"option",item:function(t){return[o[t],0,"value="+t+(l.month==t?" selected":"")+(l.year==c.year&&t<c.month||l.year==d.year&&t>d.month?" disabled":"")]}}),i.klass.selectMonth+" browser-default",(t?"":"disabled")+" "+n.ariaAttr({controls:e.$node[0].id+"_table"})+' title="'+i.labelMonthSelect+'"'):"short_months"==r?null!=a?n.node("div",o[a.month]):n.node("div",o[l.month]):n.node("div",o[l.month],i.klass.month)},g=function(r){var o=l.year,a=!0===i.selectYears?5:~~(i.selectYears/2);if(a){var s=c.year,u=d.year,f=o-a,h=o+a;if(s>f&&(h+=s-f,f=s),u<h){var p=f-s,g=h-u;f-=p>g?g:p,h=u}if(i.selectYears&&void 0==r)return n.node("select",n.group({min:f,max:h,i:1,node:"option",item:function(t){return[t,0,"value="+t+(o==t?" selected":"")]}}),i.klass.selectYear+" browser-default",(t?"":"disabled")+" "+n.ariaAttr({controls:e.$node[0].id+"_table"})+' title="'+i.labelYearSelect+'"')}return"raw"==r?n.node("div",o):n.node("div",o,i.klass.year)};return createDayLabel=function(){return null!=a?n.node("div",a.date):n.node("div",o.date)},createWeekdayLabel=function(){var t;return t=null!=a?a.day:o.day,i.weekdaysFull[t]},n.node("div",n.node("div",createWeekdayLabel(),"picker__weekday-display")+n.node("div",p("short_months"),i.klass.month_display)+n.node("div",createDayLabel(),i.klass.day_display)+n.node("div",g("raw"),i.klass.year_display),i.klass.date_display)+n.node("div",n.node("div",(i.selectYears,p()+g()+h()+h(1)),i.klass.header)+n.node("table",f+n.node("tbody",n.group({min:0,max:5,i:1,node:"tr",item:function(t){var r=i.firstDay&&0===e.create([l.year,l.month,1]).day?-7:0;return[n.group({min:7*t-l.day+r+1,max:function(){return this.min+7-1},i:1,node:"td",item:function(t){t=e.create([l.year,l.month,t+(i.firstDay?1:0)]);var r=a&&a.pick==t.pick,f=s&&s.pick==t.pick,h=u&&e.disabled(t)||t.pick<c.pick||t.pick>d.pick,p=n.trigger(e.formats.toString,e,[i.format,t]);return[n.node("div",t.date,function(e){return e.push(l.month==t.month?i.klass.infocus:i.klass.outfocus),o.pick==t.pick&&e.push(i.klass.now),r&&e.push(i.klass.selected),f&&e.push(i.klass.highlighted),h&&e.push(i.klass.disabled),e.join(" ")}([i.klass.day]),"data-pick="+t.pick+" "+n.ariaAttr({role:"gridcell",label:p,selected:!(!r||e.$node.val()!==p)||null,activedescendant:!!f||null,disabled:!!h||null})),"",n.ariaAttr({role:"presentation"})]}})]}})),i.klass.table,'id="'+e.$node[0].id+'_table" '+n.ariaAttr({role:"grid",controls:e.$node[0].id,readonly:!0})),i.klass.calendar_container)+n.node("div",n.node("button",i.today,"btn-flat picker__today","type=button data-pick="+o.pick+(t&&!e.disabled(o)?"":" disabled")+" "+n.ariaAttr({controls:e.$node[0].id}))+n.node("button",i.clear,"btn-flat picker__clear","type=button data-clear=1"+(t?"":" disabled")+" "+n.ariaAttr({controls:e.$node[0].id}))+n.node("button",i.close,"btn-flat picker__close","type=button data-close=true "+(t?"":" disabled")+" "+n.ariaAttr({controls:e.$node[0].id})),i.klass.footer)},DatePicker.defaults=function(t){return{labelMonthNext:"Next month",labelMonthPrev:"Previous month",labelMonthSelect:"Select a month",labelYearSelect:"Select a year",monthsFull:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdaysFull:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysLetter:["S","M","T","W","T","F","S"],today:"Today",clear:"Clear",close:"Close",format:"d mmmm, yyyy",klass:{table:t+"table",header:t+"header",date_display:t+"date-display",day_display:t+"day-display",month_display:t+"month-display",year_display:t+"year-display",calendar_container:t+"calendar-container",navPrev:t+"nav--prev",navNext:t+"nav--next",navDisabled:t+"nav--disabled",month:t+"month",year:t+"year",selectMonth:t+"select--month",selectYear:t+"select--year",weekdays:t+"weekday",day:t+"day",disabled:t+"day--disabled",selected:t+"day--selected",highlighted:t+"day--highlighted",now:t+"day--today",infocus:t+"day--infocus",outfocus:t+"day--outfocus",footer:t+"footer",buttonClear:t+"button--clear",buttonToday:t+"button--today",buttonClose:t+"button--close"}}}(t.klasses().picker+"__"),t.extend("pickadate",DatePicker)}),function(t){function updateCounter(){var e=+t(this).attr("data-length"),n=+t(this).val().length,i=n<=e;t(this).parent().find('span[class="character-counter"]').html(n+"/"+e),addInputStyle(i,t(this))}function addCounterElement(e){var n=e.parent().find('span[class="character-counter"]');n.length||(n=t("<span/>").addClass("character-counter").css("float","right").css("font-size","12px").css("height",1),e.parent().append(n))}function removeCounterElement(){t(this).parent().find('span[class="character-counter"]').html("")}function addInputStyle(t,e){var n=e.hasClass("invalid");t&&n?e.removeClass("invalid"):t||n||(e.removeClass("valid"),e.addClass("invalid"))}t.fn.characterCounter=function(){return this.each(function(){var e=t(this);e.parent().find('span[class="character-counter"]').length||void 0!==e.attr("data-length")&&(e.on("input",updateCounter),e.on("focus",updateCounter),e.on("blur",removeCounterElement),addCounterElement(e))})},t(document).ready(function(){t("input, textarea").characterCounter()})}(C),function(t){var e={init:function(e){var n={duration:200,dist:-100,shift:0,padding:0,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null};e=t.extend(n,e);var i=Materialize.objectSelectorString(t(this));return this.each(function(n){function xpos(t){return t.targetTouches&&t.targetTouches.length>=1?t.targetTouches[0].clientX:t.clientX}function ypos(t){return t.targetTouches&&t.targetTouches.length>=1?t.targetTouches[0].clientY:t.clientY}function wrap(t){return t>=d?t%d:t<0?wrap(d+t%d):t}function scroll(n){m=!0,A.hasClass("scrolling")||A.addClass("scrolling"),null!=_&&window.clearTimeout(_),_=window.setTimeout(function(){m=!1,A.removeClass("scrolling")},e.duration);var i,u,f,h,p,g,v,y=l;if(s="number"==typeof n?n:s,l=Math.floor((s+c/2)/c),f=s-l*c,h=f<0?1:-1,p=-h*f*2/c,u=d>>1,e.fullWidth?v="translateX(0)":(v="translateX("+(A[0].clientWidth-o)/2+"px) ",v+="translateY("+(A[0].clientHeight-a)/2+"px)"),P){var w=l%d,x=S.find(".indicator-item.active");x.index()!==w&&(x.removeClass("active"),S.find(".indicator-item").eq(w).addClass("active"))}for((!e.noWrap||l>=0&&l<d)&&(g=r[wrap(l)],t(g).hasClass("active")||(A.find(".carousel-item").removeClass("active"),t(g).addClass("active")),g.style[b]=v+" translateX("+-f/2+"px) translateX("+h*e.shift*p*i+"px) translateZ("+e.dist*p+"px)",g.style.zIndex=0,e.fullWidth?tweenedOpacity=1:tweenedOpacity=1-.2*p,g.style.opacity=tweenedOpacity,g.style.display="block"),i=1;i<=u;++i)e.fullWidth?(zTranslation=e.dist,tweenedOpacity=i===u&&f<0?1-p:1):(zTranslation=e.dist*(2*i+p*h),tweenedOpacity=1-.2*(2*i+p*h)),(!e.noWrap||l+i<d)&&(g=r[wrap(l+i)],g.style[b]=v+" translateX("+(e.shift+(c*i-f)/2)+"px) translateZ("+zTranslation+"px)",g.style.zIndex=-i,g.style.opacity=tweenedOpacity,g.style.display="block"),e.fullWidth?(zTranslation=e.dist,tweenedOpacity=i===u&&f>0?1-p:1):(zTranslation=e.dist*(2*i-p*h),tweenedOpacity=1-.2*(2*i-p*h)),(!e.noWrap||l-i>=0)&&(g=r[wrap(l-i)],g.style[b]=v+" translateX("+(-e.shift+(-c*i-f)/2)+"px) translateZ("+zTranslation+"px)",g.style.zIndex=-i,g.style.opacity=tweenedOpacity,g.style.display="block");if((!e.noWrap||l>=0&&l<d)&&(g=r[wrap(l)],g.style[b]=v+" translateX("+-f/2+"px) translateX("+h*e.shift*p+"px) translateZ("+e.dist*p+"px)",g.style.zIndex=0,e.fullWidth?tweenedOpacity=1:tweenedOpacity=1-.2*p,g.style.opacity=tweenedOpacity,g.style.display="block"),y!==l&&"function"==typeof e.onCycleTo){var T=A.find(".carousel-item").eq(wrap(l));e.onCycleTo.call(this,T,C)}}function track(){var t,e,n,i;t=Date.now(),e=t-x,x=t,n=s-w,w=s,i=1e3*n/(1+e),v=.8*i+.2*v}function autoScroll(){var t,n;p&&(t=Date.now()-x,n=p*Math.exp(-t/e.duration),n>2||n<-2?(scroll(g-n),requestAnimationFrame(autoScroll)):scroll(g))}function click(n){if(C)return n.preventDefault(),n.stopPropagation(),!1;if(!e.fullWidth){var i=t(n.target).closest(".carousel-item").index();0!==l%d-i&&(n.preventDefault(),n.stopPropagation()),cycleTo(i)}}function cycleTo(t){var n=l%d-t;e.noWrap||(n<0?Math.abs(n+d)<Math.abs(n)&&(n+=d):n>0&&Math.abs(n-d)<n&&(n-=d)),n<0?A.trigger("carouselNext",[Math.abs(n)]):n>0&&A.trigger("carouselPrev",[n])}function tap(t){t.preventDefault(),u=!0,C=!1,k=!1,f=xpos(t),h=ypos(t),v=p=0,w=s,x=Date.now(),clearInterval(T),T=setInterval(track,100)}function drag(t){var e,n;if(u)if(e=xpos(t),y=ypos(t),n=f-e,Math.abs(h-y)<30&&!k)(n>2||n<-2)&&(C=!0,f=e,scroll(s+n));else{if(C)return t.preventDefault(),t.stopPropagation(),!1;k=!0}if(C)return t.preventDefault(),t.stopPropagation(),!1}function release(t){if(u)return u=!1,clearInterval(T),g=s,(v>10||v<-10)&&(p=.9*v,g=s+p),g=Math.round(g/c)*c,e.noWrap&&(g>=c*(d-1)?g=c*(d-1):g<0&&(g=0)),p=g-s,x=Date.now(),requestAnimationFrame(autoScroll),C&&(t.preventDefault(),t.stopPropagation()),!1}var r,o,a,s,l,u,c,d,f,h,p,g,v,m,b,w,x,T,C,k,E=i+n,S=t('<ul class="indicators"></ul>'),_=null,A=t(this),P=A.attr("data-indicators")||e.indicators;if(e.fullWidth&&(e.dist=0,function(){var e=A.find(".carousel-item img").first();if(e.length)e.prop("complete")?A.css("height",e.height()):e.on("load",function(){A.css("height",t(this).height())});else{var n=A.find(".carousel-item").first().height();A.css("height",n)}}(),P&&A.find(".carousel-fixed-item").addClass("with-indicators")),A.hasClass("initialized"))return t(window).trigger("resize"),t(this).trigger("carouselNext",[1e-6]),!0;A.addClass("initialized"),u=!1,s=g=0,r=[],o=A.find(".carousel-item").first().innerWidth(),a=A.find(".carousel-item").first().innerHeight(),c=2*o+e.padding,A.find(".carousel-item").each(function(e){if(r.push(t(this)[0]),P){var n=t('<li class="indicator-item"></li>');0===e&&n.addClass("active"),n.click(function(e){e.stopPropagation(),cycleTo(t(this).index())}),S.append(n)}}),P&&A.append(S),d=r.length,b="transform",["webkit","Moz","O","ms"].every(function(t){var e=t+"Transform";return void 0===document.body.style[e]||(b=e,!1)}),t(window).off("resize.carousel-"+E).on("resize.carousel-"+E,function(){e.fullWidth?(o=A.find(".carousel-item").first().innerWidth(),a=A.find(".carousel-item").first().innerHeight(),c=2*o+e.padding,s=2*l*o,g=s):scroll()}),function(){void 0!==window.ontouchstart&&(A[0].addEventListener("touchstart",tap),A[0].addEventListener("touchmove",drag),A[0].addEventListener("touchend",release)),A[0].addEventListener("mousedown",tap),A[0].addEventListener("mousemove",drag),A[0].addEventListener("mouseup",release),A[0].addEventListener("mouseleave",release),A[0].addEventListener("click",click)}(),scroll(s),t(this).on("carouselNext",function(t,e){void 0===e&&(e=1),g=c*Math.round(s/c)+c*e,s!==g&&(p=g-s,x=Date.now(),requestAnimationFrame(autoScroll))}),t(this).on("carouselPrev",function(t,e){void 0===e&&(e=1),g=c*Math.round(s/c)-c*e,s!==g&&(p=g-s,x=Date.now(),requestAnimationFrame(autoScroll))}),t(this).on("carouselSet",function(t,e){void 0===e&&(e=0),cycleTo(e)})})},next:function(e){t(this).trigger("carouselNext",[e])},prev:function(e){t(this).trigger("carouselPrev",[e])},set:function(e){t(this).trigger("carouselSet",[e])}};t.fn.carousel=function(n){return e[n]?e[n].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof n&&n?void t.error("Method "+n+" does not exist on jQuery.carousel"):e.init.apply(this,arguments)}}(C),function(t){var e={init:function(e){return this.each(function(){var n=t("#"+t(this).attr("data-activates")),i=(t("body"),t(this)),r=i.parent(".tap-target-wrapper"),o=r.find(".tap-target-wave"),a=r.find(".tap-target-origin"),s=i.find(".tap-target-content");r.length||(r=i.wrap(t('<div class="tap-target-wrapper"></div>')).parent()),s.length||(s=t('<div class="tap-target-content"></div>'),i.append(s)),o.length||(o=t('<div class="tap-target-wave"></div>'),a.length||(a=n.clone(!0,!0),a.addClass("tap-target-origin"),a.removeAttr("id"),a.removeAttr("style"),o.append(a)),r.append(o));var l=function(){r.is(".open")&&(r.removeClass("open"),a.off("click.tapTarget"),t(document).off("click.tapTarget"),t(window).off("resize.tapTarget"))},u=function(){var e="fixed"===n.css("position");if(!e)for(var a=n.parents(),l=0;l<a.length&&!(e="fixed"==t(a[l]).css("position"));l++);var u=n.outerWidth(),c=n.outerHeight(),d=e?n.offset().top-t(document).scrollTop():n.offset().top,f=e?n.offset().left-t(document).scrollLeft():n.offset().left,h=t(window).width(),p=t(window).height(),g=h/2,v=p/2,m=f<=g,y=f>g,b=d<=v,w=d>v,x=f>=.25*h&&f<=.75*h,T=i.outerWidth(),C=i.outerHeight(),k=d+c/2-C/2,E=f+u/2-T/2,S=e?"fixed":"absolute",_=x?T:T/2+u,A=C/2,P=b?C/2:0,D=m&&!x?T/2-u:0,O=u,N=w?"bottom":"top",M=2*u,I=M,R=C/2-I/2,L=T/2-M/2,z={};z.top=b?k:"",z.right=y?h-E-T:"",z.bottom=w?p-k-C:"",z.left=m?E:"",z.position=S,r.css(z),s.css({width:_,height:A,top:P,right:0,bottom:0,left:D,padding:O,verticalAlign:N}),o.css({top:R,left:L,width:M,height:I})};"open"==e&&(u(),function(){r.is(".open")||(r.addClass("open"),setTimeout(function(){a.off("click.tapTarget").on("click.tapTarget",function(t){l(),a.off("click.tapTarget")}),t(document).off("click.tapTarget").on("click.tapTarget",function(e){l(),t(document).off("click.tapTarget")});var e=Materialize.throttle(function(){u()},200);t(window).off("resize.tapTarget").on("resize.tapTarget",e)},0))}()),"close"==e&&l()})},open:function(){},close:function(){}};t.fn.tapTarget=function(n){if(e[n]||"object"==typeof n)return e.init.apply(this,arguments);t.error("Method "+n+" does not exist on jQuery.tap-target")}}(C)}).call(i,a(0),a(0))},,,function(t,e,n){"use strict";var i=n(0),r=function(t){return t&&t.__esModule?t:{default:t}}(i);n(50),n(51),n(21);var o=n(46);n(45),n(44),n(49),(0,r.default)(document).ready(function(){(0,r.default)(".button-collapse").sideNav(),(0,r.default)("select").material_select(),(0,r.default)(".collapsible").collapsible({accordion:!1}),(0,r.default)(".datepicker").pickadate({selectMonths:!0,selectYears:15,formatSubmit:"dd/mm/yyyy",hiddenName:!0,format:"dd/mm/yyyy",container:"body"}),(0,o.initFilters)(),(0,o.initExport)();var t=function(t,e){(0,r.default)(".nav-panel-actions").hide(100),(0,r.default)(t).show(100),(0,r.default)(".nav-panels").css("background","white"),(0,r.default)(e).focus()};(0,r.default)("#nav-btn-add-tag").on("click",function(){return(0,r.default)(".nav-panel-add-tag").toggle(100),(0,r.default)(".nav-panel-menu").addClass("hidden"),(0,r.default)("#tag_label").focus(),!1}),(0,r.default)("#nav-btn-add").on("click",function(){return t(".nav-panel-add","#entry_url"),!1});var e=(0,r.default)(".nav-panel-add");e.on("submit",function(){e.addClass("disabled"),(0,r.default)("input#entry_url",e).prop("readonly",!0).trigger("blur")}),(0,r.default)("#nav-btn-search").on("click",function(){return t(".nav-panel-search","#search_entry_term"),!1}),(0,r.default)(".close").on("click",function(t){return(0,r.default)(t.target).parent(".nav-panel-item").hide(100),(0,r.default)(".nav-panel-actions").show(100),(0,r.default)(".nav-panels").css("background","transparent"),!1}),(0,r.default)(window).scroll(function(){var t=(0,r.default)(window).scrollTop(),e=(0,r.default)(document).height(),n=(0,r.default)(window).height(),i=t/(e-n)*100;(0,r.default)(".progress .determinate").css("width",i+"%")})})},,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){var i;!function(r,o,a,s){"use strict";function setTimeoutContext(t,e,n){return setTimeout(bindFn(t,n),e)}function invokeArrayArg(t,e,n){return!!Array.isArray(t)&&(each(t,n[e],n),!0)}function each(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==s)for(i=0;i<t.length;)e.call(n,t[i],i,t),i++;else for(i in t)t.hasOwnProperty(i)&&e.call(n,t[i],i,t)}function deprecate(t,e,n){var i="DEPRECATED METHOD: "+e+"\n"+n+" AT \n";return function(){var e=new Error("get-stack-trace"),n=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=r.console&&(r.console.warn||r.console.log);return o&&o.call(r.console,i,n),t.apply(this,arguments)}}function inherit(t,e,n){var i,r=e.prototype;i=t.prototype=Object.create(r),i.constructor=t,i._super=r,n&&l(i,n)}function bindFn(t,e){return function(){return t.apply(e,arguments)}}function boolOrFn(t,e){return typeof t==d?t.apply(e?e[0]||s:s,e):t}function ifUndefined(t,e){return t===s?e:t}function addEventListeners(t,e,n){each(splitStr(e),function(e){t.addEventListener(e,n,!1)})}function removeEventListeners(t,e,n){each(splitStr(e),function(e){t.removeEventListener(e,n,!1)})}function hasParent(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function inStr(t,e){return t.indexOf(e)>-1}function splitStr(t){return t.trim().split(/\s+/g)}function inArray(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;i<t.length;){if(n&&t[i][n]==e||!n&&t[i]===e)return i;i++}return-1}function toArray(t){return Array.prototype.slice.call(t,0)}function uniqueArray(t,e,n){for(var i=[],r=[],o=0;o<t.length;){var a=e?t[o][e]:t[o];inArray(r,a)<0&&i.push(t[o]),r[o]=a,o++}return n&&(i=e?i.sort(function(t,n){return t[e]>n[e]}):i.sort()),i}function prefixed(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),o=0;o<u.length;){if(n=u[o],(i=n?n+r:e)in t)return i;o++}return s}function uniqueId(){return m++}function getWindowForElement(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||r}function Input(t,e){var n=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){boolOrFn(t.options.enable,[t])&&n.handler(e)},this.init()}function createInputInstance(t){var e=t.options.inputClass;return new(e||(w?PointerEventInput:x?TouchInput:b?TouchMouseInput:MouseInput))(t,inputHandler)}function inputHandler(t,e,n){var i=n.pointers.length,r=n.changedPointers.length,o=e&C&&i-r==0,a=e&(E|S)&&i-r==0;n.isFirst=!!o,n.isFinal=!!a,o&&(t.session={}),n.eventType=e,computeInputData(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function computeInputData(t,e){var n=t.session,i=e.pointers,r=i.length;n.firstInput||(n.firstInput=simpleCloneInputData(e)),r>1&&!n.firstMultiple?n.firstMultiple=simpleCloneInputData(e):1===r&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,s=a?a.center:o.center,l=e.center=getCenter(i);e.timeStamp=p(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=getAngle(s,l),e.distance=getDistance(s,l),computeDeltaXY(n,e),e.offsetDirection=getDirection(e.deltaX,e.deltaY);var u=getVelocity(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=h(u.x)>h(u.y)?u.x:u.y,e.scale=a?getScale(a.pointers,i):1,e.rotation=a?getRotation(a.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,computeIntervalInputData(n,e);var c=t.element;hasParent(e.srcEvent.target,c)&&(c=e.srcEvent.target),e.target=c}function computeDeltaXY(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};e.eventType!==C&&o.eventType!==E||(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}function computeIntervalInputData(t,e){var n,i,r,o,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(e.eventType!=S&&(l>T||a.velocity===s)){var u=e.deltaX-a.deltaX,c=e.deltaY-a.deltaY,d=getVelocity(l,u,c);i=d.x,r=d.y,n=h(d.x)>h(d.y)?d.x:d.y,o=getDirection(u,c),t.lastInterval=e}else n=a.velocity,i=a.velocityX,r=a.velocityY,o=a.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=o}function simpleCloneInputData(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:f(t.pointers[n].clientX),clientY:f(t.pointers[n].clientY)},n++;return{timeStamp:p(),pointers:e,center:getCenter(e),deltaX:t.deltaX,deltaY:t.deltaY}}function getCenter(t){var e=t.length;if(1===e)return{x:f(t[0].clientX),y:f(t[0].clientY)};for(var n=0,i=0,r=0;r<e;)n+=t[r].clientX,i+=t[r].clientY,r++;return{x:f(n/e),y:f(i/e)}}function getVelocity(t,e,n){return{x:e/t||0,y:n/t||0}}function getDirection(t,e){return t===e?_:h(t)>=h(e)?t<0?A:P:e<0?D:O}function getDistance(t,e,n){n||(n=R);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function getAngle(t,e,n){n||(n=R);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}function getRotation(t,e){return getAngle(e[1],e[0],L)+getAngle(t[1],t[0],L)}function getScale(t,e){return getDistance(e[0],e[1],L)/getDistance(t[0],t[1],L)}function MouseInput(){this.evEl=F,this.evWin=q,this.pressed=!1,Input.apply(this,arguments)}function PointerEventInput(){this.evEl=W,this.evWin=B,Input.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function SingleTouchInput(){this.evTarget=X,this.evWin=$,this.started=!1,Input.apply(this,arguments)}function normalizeSingleTouches(t,e){var n=toArray(t.touches),i=toArray(t.changedTouches);return e&(E|S)&&(n=uniqueArray(n.concat(i),"identifier",!0)),[n,i]}function TouchInput(){this.evTarget=U,this.targetIds={},Input.apply(this,arguments)}function getTouches(t,e){var n=toArray(t.touches),i=this.targetIds;if(e&(C|k)&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,a=toArray(t.changedTouches),s=[],l=this.target;if(o=n.filter(function(t){return hasParent(t.target,l)}),e===C)for(r=0;r<o.length;)i[o[r].identifier]=!0,r++;for(r=0;r<a.length;)i[a[r].identifier]&&s.push(a[r]),e&(E|S)&&delete i[a[r].identifier],r++;return s.length?[uniqueArray(o.concat(s),"identifier",!0),s]:void 0}function TouchMouseInput(){Input.apply(this,arguments);var t=bindFn(this.handler,this);this.touch=new TouchInput(this.manager,t),this.mouse=new MouseInput(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function recordTouches(t,e){t&C?(this.primaryTouch=e.changedPointers[0].identifier,setLastTouch.call(this,e)):t&(E|S)&&setLastTouch.call(this,e)}function setLastTouch(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var n={x:e.clientX,y:e.clientY};this.lastTouches.push(n);var i=this.lastTouches,r=function(){var t=i.indexOf(n);t>-1&&i.splice(t,1)};setTimeout(r,Q)}}function isSyntheticEvent(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i<this.lastTouches.length;i++){var r=this.lastTouches[i],o=Math.abs(e-r.x),a=Math.abs(n-r.y);if(o<=G&&a<=G)return!0}return!1}function TouchAction(t,e){this.manager=t,this.set(e)}function cleanTouchActions(t){if(inStr(t,et))return et;var e=inStr(t,nt),n=inStr(t,it);return e&&n?et:e||n?e?nt:it:inStr(t,tt)?tt:Z}function Recognizer(t){this.options=l({},this.defaults,t||{}),this.id=uniqueId(),this.manager=null,this.options.enable=ifUndefined(this.options.enable,!0),this.state=ot,this.simultaneous={},this.requireFail=[]}function stateStr(t){return t&ct?"cancel":t&lt?"end":t&st?"move":t&at?"start":""}function directionStr(t){return t==O?"down":t==D?"up":t==A?"left":t==P?"right":""}function getRecognizerByNameIfManager(t,e){var n=e.manager;return n?n.get(t):t}function AttrRecognizer(){Recognizer.apply(this,arguments)}function PanRecognizer(){AttrRecognizer.apply(this,arguments),this.pX=null,this.pY=null}function PinchRecognizer(){AttrRecognizer.apply(this,arguments)}function PressRecognizer(){Recognizer.apply(this,arguments),this._timer=null,this._input=null}function RotateRecognizer(){AttrRecognizer.apply(this,arguments)}function SwipeRecognizer(){AttrRecognizer.apply(this,arguments)}function TapRecognizer(){Recognizer.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Hammer(t,e){return e=e||{},e.recognizers=ifUndefined(e.recognizers,Hammer.defaults.preset),new Manager(t,e)}function Manager(t,e){this.options=l({},Hammer.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=createInputInstance(this),this.touchAction=new TouchAction(this,this.options.touchAction),toggleCssProps(this,!0),each(this.options.recognizers,function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])},this)}function toggleCssProps(t,e){var n=t.element;if(n.style){var i;each(t.options.cssProps,function(r,o){i=prefixed(n.style,o),e?(t.oldCssProps[i]=n.style[i],n.style[i]=r):n.style[i]=t.oldCssProps[i]||""}),e||(t.oldCssProps={})}}function triggerDomEvent(t,e){var n=o.createEvent("Event");n.initEvent(t,!0,!0),n.gesture=e,e.target.dispatchEvent(n)}var l,u=["","webkit","Moz","MS","ms","o"],c=o.createElement("div"),d="function",f=Math.round,h=Math.abs,p=Date.now;l="function"!=typeof Object.assign?function(t){if(t===s||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n<arguments.length;n++){var i=arguments[n];if(i!==s&&null!==i)for(var r in i)i.hasOwnProperty(r)&&(e[r]=i[r])}return e}:Object.assign;var g=deprecate(function(t,e,n){for(var i=Object.keys(e),r=0;r<i.length;)(!n||n&&t[i[r]]===s)&&(t[i[r]]=e[i[r]]),r++;return t},"extend","Use `assign`."),v=deprecate(function(t,e){return g(t,e,!0)},"merge","Use `assign`."),m=1,y=/mobile|tablet|ip(ad|hone|od)|android/i,b="ontouchstart"in r,w=prefixed(r,"PointerEvent")!==s,x=b&&y.test(navigator.userAgent),T=25,C=1,k=2,E=4,S=8,_=1,A=2,P=4,D=8,O=16,N=A|P,M=D|O,I=N|M,R=["x","y"],L=["clientX","clientY"];Input.prototype={handler:function(){},init:function(){this.evEl&&addEventListeners(this.element,this.evEl,this.domHandler),this.evTarget&&addEventListeners(this.target,this.evTarget,this.domHandler),this.evWin&&addEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&removeEventListeners(this.element,this.evEl,this.domHandler),this.evTarget&&removeEventListeners(this.target,this.evTarget,this.domHandler),this.evWin&&removeEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)}};var z={mousedown:C,mousemove:k,mouseup:E},F="mousedown",q="mousemove mouseup";inherit(MouseInput,Input,{handler:function(t){var e=z[t.type];e&C&&0===t.button&&(this.pressed=!0),e&k&&1!==t.which&&(e=E),this.pressed&&(e&E&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}});var H={pointerdown:C,pointermove:k,pointerup:E,pointercancel:S,pointerout:S},j={2:"touch",3:"pen",4:"mouse",5:"kinect"},W="pointerdown",B="pointermove pointerup pointercancel";r.MSPointerEvent&&!r.PointerEvent&&(W="MSPointerDown",B="MSPointerMove MSPointerUp MSPointerCancel"),inherit(PointerEventInput,Input,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=H[i],o=j[t.pointerType]||t.pointerType,a="touch"==o,s=inArray(e,t.pointerId,"pointerId");r&C&&(0===t.button||a)?s<0&&(e.push(t),s=e.length-1):r&(E|S)&&(n=!0),s<0||(e[s]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(s,1))}});var V={touchstart:C,touchmove:k,touchend:E,touchcancel:S},X="touchstart",$="touchstart touchmove touchend touchcancel";inherit(SingleTouchInput,Input,{handler:function(t){var e=V[t.type];if(e===C&&(this.started=!0),this.started){var n=normalizeSingleTouches.call(this,t,e);e&(E|S)&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:t})}}});var Y={touchstart:C,touchmove:k,touchend:E,touchcancel:S},U="touchstart touchmove touchend touchcancel";inherit(TouchInput,Input,{handler:function(t){var e=Y[t.type],n=getTouches.call(this,t,e);n&&this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:t})}});var Q=2500,G=25;inherit(TouchMouseInput,Input,{handler:function(t,e,n){var i="touch"==n.pointerType,r="mouse"==n.pointerType;if(!(r&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(i)recordTouches.call(this,e,n);else if(r&&isSyntheticEvent.call(this,n))return;this.callback(t,e,n)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var K=prefixed(c.style,"touchAction"),J=K!==s,Z="auto",tt="manipulation",et="none",nt="pan-x",it="pan-y",rt=function(){if(!J)return!1;var t={},e=r.CSS&&r.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(n){t[n]=!e||r.CSS.supports("touch-action",n)}),t}();TouchAction.prototype={set:function(t){"compute"==t&&(t=this.compute()),J&&this.manager.element.style&&rt[t]&&(this.manager.element.style[K]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return each(this.manager.recognizers,function(e){boolOrFn(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),cleanTouchActions(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,n=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var i=this.actions,r=inStr(i,et)&&!rt[et],o=inStr(i,it)&&!rt[it],a=inStr(i,nt)&&!rt[nt];if(r){var s=1===t.pointers.length,l=t.distance<2,u=t.deltaTime<250;if(s&&l&&u)return}return a&&o?void 0:r||o&&n&N||a&&n&M?this.preventSrc(e):void 0},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var ot=1,at=2,st=4,lt=8,ut=lt,ct=16;Recognizer.prototype={defaults:{},set:function(t){return l(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(invokeArrayArg(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=getRecognizerByNameIfManager(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return invokeArrayArg(t,"dropRecognizeWith",this)?this:(t=getRecognizerByNameIfManager(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(invokeArrayArg(t,"requireFailure",this))return this;var e=this.requireFail;return t=getRecognizerByNameIfManager(t,this),-1===inArray(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(invokeArrayArg(t,"dropRequireFailure",this))return this;t=getRecognizerByNameIfManager(t,this);var e=inArray(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function emit(n){e.manager.emit(n,t)}var e=this,n=this.state;n<lt&&emit(e.options.event+stateStr(n)),emit(e.options.event),t.additionalEvent&&emit(t.additionalEvent),n>=lt&&emit(e.options.event+stateStr(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(this.requireFail[t].state&(32|ot)))return!1;t++}return!0},recognize:function(t){var e=l({},t);if(!boolOrFn(this.options.enable,[this,e]))return this.reset(),void(this.state=32);this.state&(ut|ct|32)&&(this.state=ot),this.state=this.process(e),this.state&(at|st|lt|ct)&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},inherit(AttrRecognizer,Recognizer,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,n=t.eventType,i=e&(at|st),r=this.attrTest(t);return i&&(n&S||!r)?e|ct:i||r?n&E?e|lt:e&at?e|st:at:32}}),inherit(PanRecognizer,AttrRecognizer,{defaults:{event:"pan",threshold:10,pointers:1,direction:I},getTouchAction:function(){var t=this.options.direction,e=[];return t&N&&e.push(it),t&M&&e.push(nt),e},directionTest:function(t){var e=this.options,n=!0,i=t.distance,r=t.direction,o=t.deltaX,a=t.deltaY;return r&e.direction||(e.direction&N?(r=0===o?_:o<0?A:P,n=o!=this.pX,i=Math.abs(t.deltaX)):(r=0===a?_:a<0?D:O,n=a!=this.pY,i=Math.abs(t.deltaY))),t.direction=r,n&&i>e.threshold&&r&e.direction},attrTest:function(t){return AttrRecognizer.prototype.attrTest.call(this,t)&&(this.state&at||!(this.state&at)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=directionStr(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),inherit(PinchRecognizer,AttrRecognizer,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[et]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&at)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),inherit(PressRecognizer,Recognizer,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Z]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime>e.time;if(this._input=t,!i||!n||t.eventType&(E|S)&&!r)this.reset();else if(t.eventType&C)this.reset(),this._timer=setTimeoutContext(function(){this.state=ut,this.tryEmit()},e.time,this);else if(t.eventType&E)return ut;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ut&&(t&&t.eventType&E?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=p(),this.manager.emit(this.options.event,this._input)))}}),inherit(RotateRecognizer,AttrRecognizer,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[et]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&at)}}),inherit(SwipeRecognizer,AttrRecognizer,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:N|M,pointers:1},getTouchAction:function(){return PanRecognizer.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(N|M)?e=t.overallVelocity:n&N?e=t.overallVelocityX:n&M&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&h(e)>this.options.velocity&&t.eventType&E},emit:function(t){var e=directionStr(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),inherit(TapRecognizer,Recognizer,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[tt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime<e.time;if(this.reset(),t.eventType&C&&0===this.count)return this.failTimeout();if(i&&r&&n){if(t.eventType!=E)return this.failTimeout();var o=!this.pTime||t.timeStamp-this.pTime<e.interval,a=!this.pCenter||getDistance(this.pCenter,t.center)<e.posThreshold;this.pTime=t.timeStamp,this.pCenter=t.center,a&&o?this.count+=1:this.count=1,this._input=t;if(0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=setTimeoutContext(function(){this.state=ut,this.tryEmit()},e.interval,this),at):ut}return 32},failTimeout:function(){return this._timer=setTimeoutContext(function(){this.state=32},this.options.interval,this),32},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==ut&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Hammer.VERSION="2.0.7",Hammer.defaults={domEvents:!1,touchAction:"compute",enable:!0,inputTarget:null,inputClass:null,preset:[[RotateRecognizer,{enable:!1}],[PinchRecognizer,{enable:!1},["rotate"]],[SwipeRecognizer,{direction:N}],[PanRecognizer,{direction:N},["swipe"]],[TapRecognizer],[TapRecognizer,{event:"doubletap",taps:2},["tap"]],[PressRecognizer]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};Manager.prototype={set:function(t){return l(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){this.touchAction.preventDefaults(t);var n,i=this.recognizers,r=e.curRecognizer;(!r||r&&r.state&ut)&&(r=e.curRecognizer=null);for(var o=0;o<i.length;)n=i[o],2===e.stopped||r&&n!=r&&!n.canRecognizeWith(r)?n.reset():n.recognize(t),!r&&n.state&(at|st|lt)&&(r=e.curRecognizer=n),o++}},get:function(t){if(t instanceof Recognizer)return t;for(var e=this.recognizers,n=0;n<e.length;n++)if(e[n].options.event==t)return e[n];return null},add:function(t){if(invokeArrayArg(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(invokeArrayArg(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,n=inArray(e,t);-1!==n&&(e.splice(n,1),this.touchAction.update())}return this},on:function(t,e){if(t!==s&&e!==s){var n=this.handlers;return each(splitStr(t),function(t){n[t]=n[t]||[],n[t].push(e)}),this}},off:function(t,e){if(t!==s){var n=this.handlers;return each(splitStr(t),function(t){e?n[t]&&n[t].splice(inArray(n[t],e),1):delete n[t]}),this}},emit:function(t,e){this.options.domEvents&&triggerDomEvent(t,e);var n=this.handlers[t]&&this.handlers[t].slice();if(n&&n.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var i=0;i<n.length;)n[i](e),i++}},destroy:function(){this.element&&toggleCssProps(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},l(Hammer,{INPUT_START:C,INPUT_MOVE:k,INPUT_END:E,INPUT_CANCEL:S,STATE_POSSIBLE:ot,STATE_BEGAN:at,STATE_CHANGED:st,STATE_ENDED:lt,STATE_RECOGNIZED:ut,STATE_CANCELLED:ct,STATE_FAILED:32,DIRECTION_NONE:_,DIRECTION_LEFT:A,DIRECTION_RIGHT:P,DIRECTION_UP:D,DIRECTION_DOWN:O,DIRECTION_HORIZONTAL:N,DIRECTION_VERTICAL:M,DIRECTION_ALL:I,Manager:Manager,Input:Input,TouchAction:TouchAction,TouchInput:TouchInput,MouseInput:MouseInput,PointerEventInput:PointerEventInput,TouchMouseInput:TouchMouseInput,SingleTouchInput:SingleTouchInput,Recognizer:Recognizer,AttrRecognizer:AttrRecognizer,Tap:TapRecognizer,Pan:PanRecognizer,Swipe:SwipeRecognizer,Pinch:PinchRecognizer,Rotate:RotateRecognizer,Press:PressRecognizer,on:addEventListeners,off:removeEventListeners,each:each,merge:v,extend:g,assign:l,inherit:inherit,bindFn:bindFn,prefixed:prefixed}),(void 0!==r?r:"undefined"!=typeof self?self:{}).Hammer=Hammer,(i=function(){return Hammer}.call(e,n,e,t))!==s&&(t.exports=i)}(window,document)},function(t,e){(function(e){t.exports=e}).call(e,{})}]); \ No newline at end of file !function(t){function __webpack_require__(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,__webpack_require__),i.l=!0,i.exports}var e={};__webpack_require__.m=t,__webpack_require__.c=e,__webpack_require__.i=function(t){return t},__webpack_require__.d=function(t,e,n){__webpack_require__.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},__webpack_require__.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return __webpack_require__.d(e,"a",e),e},__webpack_require__.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=54)}([function(t,e,n){var i,r;!function(e,n){"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,function(n,o){function isArrayLike(t){var e=!!t&&"length"in t&&t.length,n=v.type(t);return"function"!==n&&!v.isWindow(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function winnow(t,e,n){if(v.isFunction(e))return v.grep(t,function(t,i){return!!e.call(t,i,t)!==n});if(e.nodeType)return v.grep(t,function(t){return t===e!==n});if("string"==typeof e){if(S.test(e))return v.filter(e,t,n);e=v.filter(e,t)}return v.grep(t,function(t){return d.call(e,t)>-1!==n})}function sibling(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function createOptions(t){var e={};return v.each(t.match(O)||[],function(t,n){e[n]=!0}),e}function completed(){s.removeEventListener("DOMContentLoaded",completed),n.removeEventListener("load",completed),v.ready()}function Data(){this.expando=v.expando+Data.uid++}function dataAttr(t,e,n){var i;if(void 0===n&&1===t.nodeType)if(i="data-"+e.replace(F,"-$&").toLowerCase(),"string"==typeof(n=t.getAttribute(i))){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:z.test(n)?v.parseJSON(n):n)}catch(t){}L.set(t,e,n)}else n=void 0;return n}function adjustCSS(t,e,n,i){var r,o=1,a=20,s=i?function(){return i.cur()}:function(){return v.css(t,e,"")},l=s(),u=n&&n[3]||(v.cssNumber[e]?"":"px"),c=(v.cssNumber[e]||"px"!==u&&+l)&&H.exec(v.css(t,e));if(c&&c[3]!==u){u=u||c[3],n=n||[],c=+l||1;do{o=o||".5",c/=o,v.style(t,e,c+u)}while(o!==(o=s()/l)&&1!==o&&--a)}return n&&(c=+c||+l||0,r=n[1]?c+(n[1]+1)*n[2]:+n[2],i&&(i.unit=u,i.start=c,i.end=r)),r}function getAll(t,e){var n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[];return void 0===e||e&&v.nodeName(t,e)?v.merge([t],n):n}function setGlobalEval(t,e){for(var n=0,i=t.length;n<i;n++)R.set(t[n],"globalEval",!e||R.get(e[n],"globalEval"))}function buildFragment(t,e,n,i,r){for(var o,a,s,l,u,c,d=e.createDocumentFragment(),f=[],h=0,p=t.length;h<p;h++)if((o=t[h])||0===o)if("object"===v.type(o))v.merge(f,o.nodeType?[o]:o);else if(Y.test(o)){for(a=a||d.appendChild(e.createElement("div")),s=(V.exec(o)||["",""])[1].toLowerCase(),l=$[s]||$._default,a.innerHTML=l[1]+v.htmlPrefilter(o)+l[2],c=l[0];c--;)a=a.lastChild;v.merge(f,a.childNodes),a=d.firstChild,a.textContent=""}else f.push(e.createTextNode(o));for(d.textContent="",h=0;o=f[h++];)if(i&&v.inArray(o,i)>-1)r&&r.push(o);else if(u=v.contains(o.ownerDocument,o),a=getAll(d.appendChild(o),"script"),u&&setGlobalEval(a),n)for(c=0;o=a[c++];)X.test(o.type||"")&&n.push(o);return d}function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return s.activeElement}catch(t){}}function on(t,e,n,i,r,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(i=i||n,n=void 0);for(s in e)on(t,s,n,i,e[s],o);return t}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"==typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),!1===r)r=returnFalse;else if(!r)return t;return 1===o&&(a=r,r=function(t){return v().off(t),a.apply(this,arguments)},r.guid=a.guid||(a.guid=v.guid++)),t.each(function(){v.event.add(this,e,r,i,n)})}function manipulationTarget(t,e){return v.nodeName(t,"table")&&v.nodeName(11!==e.nodeType?e:e.firstChild,"tr")?t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody")):t}function disableScript(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function restoreScript(t){var e=tt.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function cloneCopyEvent(t,e){var n,i,r,o,a,s,l,u;if(1===e.nodeType){if(R.hasData(t)&&(o=R.access(t),a=R.set(e,o),u=o.events)){delete a.handle,a.events={};for(r in u)for(n=0,i=u[r].length;n<i;n++)v.event.add(e,r,u[r][n])}L.hasData(t)&&(s=L.access(t),l=v.extend({},s),L.set(e,l))}}function fixInput(t,e){var n=e.nodeName.toLowerCase();"input"===n&&B.test(t.type)?e.checked=t.checked:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}function domManip(t,e,n,i){e=u.apply([],e);var r,o,a,s,l,c,d=0,f=t.length,h=f-1,p=e[0],m=v.isFunction(p);if(m||f>1&&"string"==typeof p&&!g.checkClone&&Z.test(p))return t.each(function(r){var o=t.eq(r);m&&(e[0]=p.call(this,r,o.html())),domManip(o,e,n,i)});if(f&&(r=buildFragment(e,t[0].ownerDocument,!1,t,i),o=r.firstChild,1===r.childNodes.length&&(r=o),o||i)){for(a=v.map(getAll(r,"script"),disableScript),s=a.length;d<f;d++)l=r,d!==h&&(l=v.clone(l,!0,!0),s&&v.merge(a,getAll(l,"script"))),n.call(t[d],l,d);if(s)for(c=a[a.length-1].ownerDocument,v.map(a,restoreScript),d=0;d<s;d++)l=a[d],X.test(l.type||"")&&!R.access(l,"globalEval")&&v.contains(c,l)&&(l.src?v._evalUrl&&v._evalUrl(l.src):v.globalEval(l.textContent.replace(et,"")))}return t}function remove(t,e,n){for(var i,r=e?v.filter(e,t):t,o=0;null!=(i=r[o]);o++)n||1!==i.nodeType||v.cleanData(getAll(i)),i.parentNode&&(n&&v.contains(i.ownerDocument,i)&&setGlobalEval(getAll(i,"script")),i.parentNode.removeChild(i));return t}function actualDisplay(t,e){var n=v(e.createElement(t)).appendTo(e.body),i=v.css(n[0],"display");return n.detach(),i}function defaultDisplay(t){var e=s,n=it[t];return n||(n=actualDisplay(t,e),"none"!==n&&n||(nt=(nt||v("<iframe frameborder='0' width='0' height='0'/>")).appendTo(e.documentElement),e=nt[0].contentDocument,e.write(),e.close(),n=actualDisplay(t,e),nt.detach()),it[t]=n),n}function curCSS(t,e,n){var i,r,o,a,s=t.style;return n=n||at(t),a=n?n.getPropertyValue(e)||n[e]:void 0,""!==a&&void 0!==a||v.contains(t.ownerDocument,t)||(a=v.style(t,e)),n&&!g.pixelMarginRight()&&ot.test(a)&&rt.test(e)&&(i=s.width,r=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=i,s.minWidth=r,s.maxWidth=o),void 0!==a?a+"":a}function addGetHookIf(t,e){return{get:function(){return t()?void delete this.get:(this.get=e).apply(this,arguments)}}}function vendorPropName(t){if(t in ht)return t;for(var e=t[0].toUpperCase()+t.slice(1),n=ft.length;n--;)if((t=ft[n]+e)in ht)return t}function setPositiveNumber(t,e,n){var i=H.exec(e);return i?Math.max(0,i[2]-(n||0))+(i[3]||"px"):e}function augmentWidthOrHeight(t,e,n,i,r){for(var o=n===(i?"border":"content")?4:"width"===e?1:0,a=0;o<4;o+=2)"margin"===n&&(a+=v.css(t,n+j[o],!0,r)),i?("content"===n&&(a-=v.css(t,"padding"+j[o],!0,r)),"margin"!==n&&(a-=v.css(t,"border"+j[o]+"Width",!0,r))):(a+=v.css(t,"padding"+j[o],!0,r),"padding"!==n&&(a+=v.css(t,"border"+j[o]+"Width",!0,r)));return a}function getWidthOrHeight(t,e,n){var i=!0,r="width"===e?t.offsetWidth:t.offsetHeight,o=at(t),a="border-box"===v.css(t,"boxSizing",!1,o);if(r<=0||null==r){if(r=curCSS(t,e,o),(r<0||null==r)&&(r=t.style[e]),ot.test(r))return r;i=a&&(g.boxSizingReliable()||r===t.style[e]),r=parseFloat(r)||0}return r+augmentWidthOrHeight(t,e,n||(a?"border":"content"),i,o)+"px"}function showHide(t,e){for(var n,i,r,o=[],a=0,s=t.length;a<s;a++)i=t[a],i.style&&(o[a]=R.get(i,"olddisplay"),n=i.style.display,e?(o[a]||"none"!==n||(i.style.display=""),""===i.style.display&&W(i)&&(o[a]=R.access(i,"olddisplay",defaultDisplay(i.nodeName)))):(r=W(i),"none"===n&&r||R.set(i,"olddisplay",r?n:v.css(i,"display"))));for(a=0;a<s;a++)i=t[a],i.style&&(e&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=e?o[a]||"":"none"));return t}function Tween(t,e,n,i,r){return new Tween.prototype.init(t,e,n,i,r)}function createFxNow(){return n.setTimeout(function(){pt=void 0}),pt=v.now()}function genFx(t,e){var n,i=0,r={height:t};for(e=e?1:0;i<4;i+=2-e)n=j[i],r["margin"+n]=r["padding"+n]=t;return e&&(r.opacity=r.width=t),r}function createTween(t,e,n){for(var i,r=(Animation.tweeners[e]||[]).concat(Animation.tweeners["*"]),o=0,a=r.length;o<a;o++)if(i=r[o].call(n,e,t))return i}function defaultPrefilter(t,e,n){var i,r,o,a,s,l,u,c=this,d={},f=t.style,h=t.nodeType&&W(t),p=R.get(t,"fxshow");n.queue||(s=v._queueHooks(t,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,c.always(function(){c.always(function(){s.unqueued--,v.queue(t,"fx").length||s.empty.fire()})})),1===t.nodeType&&("height"in e||"width"in e)&&(n.overflow=[f.overflow,f.overflowX,f.overflowY],u=v.css(t,"display"),"inline"===("none"===u?R.get(t,"olddisplay")||defaultDisplay(t.nodeName):u)&&"none"===v.css(t,"float")&&(f.display="inline-block")),n.overflow&&(f.overflow="hidden",c.always(function(){f.overflow=n.overflow[0],f.overflowX=n.overflow[1],f.overflowY=n.overflow[2]}));for(i in e)if(r=e[i],vt.exec(r)){if(delete e[i],o=o||"toggle"===r,r===(h?"hide":"show")){if("show"!==r||!p||void 0===p[i])continue;h=!0}d[i]=p&&p[i]||v.style(t,i)}else u=void 0;if(v.isEmptyObject(d))"inline"===("none"===u?defaultDisplay(t.nodeName):u)&&(f.display=u);else{p?"hidden"in p&&(h=p.hidden):p=R.access(t,"fxshow",{}),o&&(p.hidden=!h),h?v(t).show():c.done(function(){v(t).hide()}),c.done(function(){var e;R.remove(t,"fxshow");for(e in d)v.style(t,e,d[e])});for(i in d)a=createTween(h?p[i]:0,i,c),i in p||(p[i]=a.start,h&&(a.end=a.start,a.start="width"===i||"height"===i?1:0))}}function propFilter(t,e){var n,i,r,o,a;for(n in t)if(i=v.camelCase(n),r=e[i],o=t[n],v.isArray(o)&&(r=o[1],o=t[n]=o[0]),n!==i&&(t[i]=o,delete t[n]),(a=v.cssHooks[i])&&"expand"in a){o=a.expand(o),delete t[i];for(n in o)n in t||(t[n]=o[n],e[n]=r)}else e[i]=r}function Animation(t,e,n){var i,r,o=0,a=Animation.prefilters.length,s=v.Deferred().always(function(){delete l.elem}),l=function(){if(r)return!1;for(var e=pt||createFxNow(),n=Math.max(0,u.startTime+u.duration-e),i=n/u.duration||0,o=1-i,a=0,l=u.tweens.length;a<l;a++)u.tweens[a].run(o);return s.notifyWith(t,[u,o,n]),o<1&&l?n:(s.resolveWith(t,[u]),!1)},u=s.promise({elem:t,props:v.extend({},e),opts:v.extend(!0,{specialEasing:{},easing:v.easing._default},n),originalProperties:e,originalOptions:n,startTime:pt||createFxNow(),duration:n.duration,tweens:[],createTween:function(e,n){var i=v.Tween(t,u.opts,e,n,u.opts.specialEasing[e]||u.opts.easing);return u.tweens.push(i),i},stop:function(e){var n=0,i=e?u.tweens.length:0;if(r)return this;for(r=!0;n<i;n++)u.tweens[n].run(1);return e?(s.notifyWith(t,[u,1,0]),s.resolveWith(t,[u,e])):s.rejectWith(t,[u,e]),this}}),c=u.props;for(propFilter(c,u.opts.specialEasing);o<a;o++)if(i=Animation.prefilters[o].call(u,t,c,u.opts))return v.isFunction(i.stop)&&(v._queueHooks(u.elem,u.opts.queue).stop=v.proxy(i.stop,i)),i;return v.map(c,createTween,u),v.isFunction(u.opts.start)&&u.opts.start.call(t,u),v.fx.timer(v.extend(l,{elem:t,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function getClass(t){return t.getAttribute&&t.getAttribute("class")||""}function addToPrefiltersOrTransports(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var i,r=0,o=e.toLowerCase().match(O)||[];if(v.isFunction(n))for(;i=o[r++];)"+"===i[0]?(i=i.slice(1)||"*",(t[i]=t[i]||[]).unshift(n)):(t[i]=t[i]||[]).push(n)}}function inspectPrefiltersOrTransports(t,e,n,i){function inspect(a){var s;return r[a]=!0,v.each(t[a]||[],function(t,a){var l=a(e,n,i);return"string"!=typeof l||o||r[l]?o?!(s=l):void 0:(e.dataTypes.unshift(l),inspect(l),!1)}),s}var r={},o=t===Lt;return inspect(e.dataTypes[0])||!r["*"]&&inspect("*")}function ajaxExtend(t,e){var n,i,r=v.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((r[n]?t:i||(i={}))[n]=e[n]);return i&&v.extend(!0,t,i),t}function ajaxHandleResponses(t,e,n){for(var i,r,o,a,s=t.contents,l=t.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=t.mimeType||e.getResponseHeader("Content-Type"));if(i)for(r in s)if(s[r]&&s[r].test(i)){l.unshift(r);break}if(l[0]in n)o=l[0];else{for(r in n){if(!l[0]||t.converters[r+" "+l[0]]){o=r;break}a||(a=r)}o=o||a}if(o)return o!==l[0]&&l.unshift(o),n[o]}function ajaxConvert(t,e,n,i){var r,o,a,s,l,u={},c=t.dataTypes.slice();if(c[1])for(a in t.converters)u[a.toLowerCase()]=t.converters[a];for(o=c.shift();o;)if(t.responseFields[o]&&(n[t.responseFields[o]]=e),!l&&i&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(a=u[l+" "+o]||u["* "+o]))for(r in u)if(s=r.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){!0===a?a=u[r]:!0!==u[r]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&t.throws)e=a(e);else try{e=a(e)}catch(t){return{state:"parsererror",error:a?t:"No conversion from "+l+" to "+o}}}return{state:"success",data:e}}function buildParams(t,e,n,i){var r;if(v.isArray(e))v.each(e,function(e,r){n||Ht.test(t)?i(t,r):buildParams(t+"["+("object"==typeof r&&null!=r?e:"")+"]",r,n,i)});else if(n||"object"!==v.type(e))i(t,e);else for(r in e)buildParams(t+"["+r+"]",e[r],n,i)}function getWindow(t){return v.isWindow(t)?t:9===t.nodeType&&t.defaultView}var a=[],s=n.document,l=a.slice,u=a.concat,c=a.push,d=a.indexOf,f={},h=f.toString,p=f.hasOwnProperty,g={},v=function(t,e){return new v.fn.init(t,e)},m=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,y=/^-ms-/,b=/-([\da-z])/gi,w=function(t,e){return e.toUpperCase()};v.fn=v.prototype={jquery:"2.2.4",constructor:v,selector:"",length:0,toArray:function(){return l.call(this)},get:function(t){return null!=t?t<0?this[t+this.length]:this[t]:l.call(this)},pushStack:function(t){var e=v.merge(this.constructor(),t);return e.prevObject=this,e.context=this.context,e},each:function(t){return v.each(this,t)},map:function(t){return this.pushStack(v.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack(l.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n<e?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:c,sort:a.sort,splice:a.splice},v.extend=v.fn.extend=function(){var t,e,n,i,r,o,a=arguments[0]||{},s=1,l=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[s]||{},s++),"object"==typeof a||v.isFunction(a)||(a={}),s===l&&(a=this,s--);s<l;s++)if(null!=(t=arguments[s]))for(e in t)n=a[e],i=t[e],a!==i&&(u&&i&&(v.isPlainObject(i)||(r=v.isArray(i)))?(r?(r=!1,o=n&&v.isArray(n)?n:[]):o=n&&v.isPlainObject(n)?n:{},a[e]=v.extend(u,o,i)):void 0!==i&&(a[e]=i));return a},v.extend({expando:"jQuery"+("2.2.4"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isFunction:function(t){return"function"===v.type(t)},isArray:Array.isArray,isWindow:function(t){return null!=t&&t===t.window},isNumeric:function(t){var e=t&&t.toString();return!v.isArray(t)&&e-parseFloat(e)+1>=0},isPlainObject:function(t){var e;if("object"!==v.type(t)||t.nodeType||v.isWindow(t))return!1;if(t.constructor&&!p.call(t,"constructor")&&!p.call(t.constructor.prototype||{},"isPrototypeOf"))return!1;for(e in t);return void 0===e||p.call(t,e)},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},type:function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?f[h.call(t)]||"object":typeof t},globalEval:function(t){var e,n=eval;(t=v.trim(t))&&(1===t.indexOf("use strict")?(e=s.createElement("script"),e.text=t,s.head.appendChild(e).parentNode.removeChild(e)):n(t))},camelCase:function(t){return t.replace(y,"ms-").replace(b,w)},nodeName:function(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()},each:function(t,e){var n,i=0;if(isArrayLike(t))for(n=t.length;i<n&&!1!==e.call(t[i],i,t[i]);i++);else for(i in t)if(!1===e.call(t[i],i,t[i]))break;return t},trim:function(t){return null==t?"":(t+"").replace(m,"")},makeArray:function(t,e){var n=e||[];return null!=t&&(isArrayLike(Object(t))?v.merge(n,"string"==typeof t?[t]:t):c.call(n,t)),n},inArray:function(t,e,n){return null==e?-1:d.call(e,t,n)},merge:function(t,e){for(var n=+e.length,i=0,r=t.length;i<n;i++)t[r++]=e[i];return t.length=r,t},grep:function(t,e,n){for(var i=[],r=0,o=t.length,a=!n;r<o;r++)!e(t[r],r)!==a&&i.push(t[r]);return i},map:function(t,e,n){var i,r,o=0,a=[];if(isArrayLike(t))for(i=t.length;o<i;o++)null!=(r=e(t[o],o,n))&&a.push(r);else for(o in t)null!=(r=e(t[o],o,n))&&a.push(r);return u.apply([],a)},guid:1,proxy:function(t,e){var n,i,r;if("string"==typeof e&&(n=t[e],e=t,t=n),v.isFunction(t))return i=l.call(arguments,2),r=function(){return t.apply(e||this,i.concat(l.call(arguments)))},r.guid=t.guid=t.guid||v.guid++,r},now:Date.now,support:g}),"function"==typeof Symbol&&(v.fn[Symbol.iterator]=a[Symbol.iterator]),v.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){f["[object "+e+"]"]=e.toLowerCase()});var x=function(t){function Sizzle(t,e,i,r){var o,s,u,c,d,p,m,y,T=e&&e.ownerDocument,C=e?e.nodeType:9;if(i=i||[],"string"!=typeof t||!t||1!==C&&9!==C&&11!==C)return i;if(!r&&((e?e.ownerDocument||e:x)!==h&&f(e),e=e||h,g)){if(11!==C&&(p=J.exec(t)))if(o=p[1]){if(9===C){if(!(u=e.getElementById(o)))return i;if(u.id===o)return i.push(u),i}else if(T&&(u=T.getElementById(o))&&b(e,u)&&u.id===o)return i.push(u),i}else{if(p[2])return M.apply(i,e.getElementsByTagName(t)),i;if((o=p[3])&&n.getElementsByClassName&&e.getElementsByClassName)return M.apply(i,e.getElementsByClassName(o)),i}if(n.qsa&&!S[t+" "]&&(!v||!v.test(t))){if(1!==C)T=e,y=t;else if("object"!==e.nodeName.toLowerCase()){for((c=e.getAttribute("id"))?c=c.replace(tt,"\\$&"):e.setAttribute("id",c=w),m=a(t),s=m.length,d=Y.test(c)?"#"+c:"[id='"+c+"']";s--;)m[s]=d+" "+toSelector(m[s]);y=m.join(","),T=Z.test(t)&&testContext(e.parentNode)||e}if(y)try{return M.apply(i,T.querySelectorAll(y)),i}catch(t){}finally{c===w&&e.removeAttribute("id")}}}return l(t.replace(W,"$1"),e,i,r)}function createCache(){function cache(e,n){return t.push(e+" ")>i.cacheLength&&delete cache[t.shift()],cache[e+" "]=n}var t=[];return cache}function markFunction(t){return t[w]=!0,t}function assert(t){var e=h.createElement("div");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function addHandle(t,e){for(var n=t.split("|"),r=n.length;r--;)i.attrHandle[n[r]]=e}function siblingCheck(t,e){var n=e&&t,i=n&&1===t.nodeType&&1===e.nodeType&&(~e.sourceIndex||A)-(~t.sourceIndex||A);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function createPositionalPseudo(t){return markFunction(function(e){return e=+e,markFunction(function(n,i){for(var r,o=t([],n.length,e),a=o.length;a--;)n[r=o[a]]&&(n[r]=!(i[r]=n[r]))})})}function testContext(t){return t&&void 0!==t.getElementsByTagName&&t}function setFilters(){}function toSelector(t){for(var e=0,n=t.length,i="";e<n;e++)i+=t[e].value;return i}function addCombinator(t,e,n){var i=e.dir,r=n&&"parentNode"===i,o=C++;return e.first?function(e,n,o){for(;e=e[i];)if(1===e.nodeType||r)return t(e,n,o)}:function(e,n,a){var s,l,u,c=[T,o];if(a){for(;e=e[i];)if((1===e.nodeType||r)&&t(e,n,a))return!0}else for(;e=e[i];)if(1===e.nodeType||r){if(u=e[w]||(e[w]={}),l=u[e.uniqueID]||(u[e.uniqueID]={}),(s=l[i])&&s[0]===T&&s[1]===o)return c[2]=s[2];if(l[i]=c,c[2]=t(e,n,a))return!0}}}function elementMatcher(t){return t.length>1?function(e,n,i){for(var r=t.length;r--;)if(!t[r](e,n,i))return!1;return!0}:t[0]}function multipleContexts(t,e,n){for(var i=0,r=e.length;i<r;i++)Sizzle(t,e[i],n);return n}function condense(t,e,n,i,r){for(var o,a=[],s=0,l=t.length,u=null!=e;s<l;s++)(o=t[s])&&(n&&!n(o,i,r)||(a.push(o),u&&e.push(s)));return a}function setMatcher(t,e,n,i,r,o){return i&&!i[w]&&(i=setMatcher(i)),r&&!r[w]&&(r=setMatcher(r,o)),markFunction(function(o,a,s,l){var u,c,d,f=[],h=[],p=a.length,g=o||multipleContexts(e||"*",s.nodeType?[s]:s,[]),v=!t||!o&&e?g:condense(g,f,t,s,l),m=n?r||(o?t:p||i)?[]:a:v;if(n&&n(v,m,s,l),i)for(u=condense(m,h),i(u,[],s,l),c=u.length;c--;)(d=u[c])&&(m[h[c]]=!(v[h[c]]=d));if(o){if(r||t){if(r){for(u=[],c=m.length;c--;)(d=m[c])&&u.push(v[c]=d);r(null,m=[],u,l)}for(c=m.length;c--;)(d=m[c])&&(u=r?R(o,d):f[c])>-1&&(o[u]=!(a[u]=d))}}else m=condense(m===a?m.splice(p,m.length):m),r?r(null,a,m,l):M.apply(a,m)})}function matcherFromTokens(t){for(var e,n,r,o=t.length,a=i.relative[t[0].type],s=a||i.relative[" "],l=a?1:0,c=addCombinator(function(t){return t===e},s,!0),d=addCombinator(function(t){return R(e,t)>-1},s,!0),f=[function(t,n,i){var r=!a&&(i||n!==u)||((e=n).nodeType?c(t,n,i):d(t,n,i));return e=null,r}];l<o;l++)if(n=i.relative[t[l].type])f=[addCombinator(elementMatcher(f),n)];else{if(n=i.filter[t[l].type].apply(null,t[l].matches),n[w]){for(r=++l;r<o&&!i.relative[t[r].type];r++);return setMatcher(l>1&&elementMatcher(f),l>1&&toSelector(t.slice(0,l-1).concat({value:" "===t[l-2].type?"*":""})).replace(W,"$1"),n,l<r&&matcherFromTokens(t.slice(l,r)),r<o&&matcherFromTokens(t=t.slice(r)),r<o&&toSelector(t))}f.push(n)}return elementMatcher(f)}function matcherFromGroupMatchers(t,e){var n=e.length>0,r=t.length>0,o=function(o,a,s,l,c){var d,p,v,m=0,y="0",b=o&&[],w=[],x=u,C=o||r&&i.find.TAG("*",c),k=T+=null==x?1:Math.random()||.1,E=C.length;for(c&&(u=a===h||a||c);y!==E&&null!=(d=C[y]);y++){if(r&&d){for(p=0,a||d.ownerDocument===h||(f(d),s=!g);v=t[p++];)if(v(d,a||h,s)){l.push(d);break}c&&(T=k)}n&&((d=!v&&d)&&m--,o&&b.push(d))}if(m+=y,n&&y!==m){for(p=0;v=e[p++];)v(b,w,a,s);if(o){if(m>0)for(;y--;)b[y]||w[y]||(w[y]=O.call(l));w=condense(w)}M.apply(l,w),c&&!o&&w.length>0&&m+e.length>1&&Sizzle.uniqueSort(l)}return c&&(T=k,u=x),b};return n?markFunction(o):o}var e,n,i,r,o,a,s,l,u,c,d,f,h,p,g,v,m,y,b,w="sizzle"+1*new Date,x=t.document,T=0,C=0,k=createCache(),E=createCache(),S=createCache(),_=function(t,e){return t===e&&(d=!0),0},A=1<<31,P={}.hasOwnProperty,D=[],O=D.pop,N=D.push,M=D.push,I=D.slice,R=function(t,e){for(var n=0,i=t.length;n<i;n++)if(t[n]===e)return n;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",z="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",q="\\["+z+"*("+F+")(?:"+z+"*([*^$|!~]?=)"+z+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+F+"))|)"+z+"*\\]",H=":("+F+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+q+")*)|.*)\\)|)",j=new RegExp(z+"+","g"),W=new RegExp("^"+z+"+|((?:^|[^\\\\])(?:\\\\.)*)"+z+"+$","g"),B=new RegExp("^"+z+"*,"+z+"*"),V=new RegExp("^"+z+"*([>+~]|"+z+")"+z+"*"),X=new RegExp("="+z+"*([^\\]'\"]*?)"+z+"*\\]","g"),$=new RegExp(H),Y=new RegExp("^"+F+"$"),U={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),TAG:new RegExp("^("+F+"|[*])"),ATTR:new RegExp("^"+q),PSEUDO:new RegExp("^"+H),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+z+"*(even|odd|(([+-]|)(\\d*)n|)"+z+"*(?:([+-]|)"+z+"*(\\d+)|))"+z+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+z+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+z+"*((?:-\\d)?\\d*)"+z+"*\\)|)(?=[^-]|$)","i")},Q=/^(?:input|select|textarea|button)$/i,G=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/[+~]/,tt=/'|\\/g,et=new RegExp("\\\\([\\da-f]{1,6}"+z+"?|("+z+")|.)","ig"),nt=function(t,e,n){var i="0x"+e-65536;return i!==i||n?e:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},it=function(){f()};try{M.apply(D=I.call(x.childNodes),x.childNodes),D[x.childNodes.length].nodeType}catch(t){M={apply:D.length?function(t,e){N.apply(t,I.call(e))}:function(t,e){for(var n=t.length,i=0;t[n++]=e[i++];);t.length=n-1}}}n=Sizzle.support={},o=Sizzle.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},f=Sizzle.setDocument=function(t){var e,r,a=t?t.ownerDocument||t:x;return a!==h&&9===a.nodeType&&a.documentElement?(h=a,p=h.documentElement,g=!o(h),(r=h.defaultView)&&r.top!==r&&(r.addEventListener?r.addEventListener("unload",it,!1):r.attachEvent&&r.attachEvent("onunload",it)),n.attributes=assert(function(t){return t.className="i",!t.getAttribute("className")}),n.getElementsByTagName=assert(function(t){return t.appendChild(h.createComment("")),!t.getElementsByTagName("*").length}),n.getElementsByClassName=K.test(h.getElementsByClassName),n.getById=assert(function(t){return p.appendChild(t).id=w,!h.getElementsByName||!h.getElementsByName(w).length}),n.getById?(i.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n=e.getElementById(t);return n?[n]:[]}},i.filter.ID=function(t){var e=t.replace(et,nt);return function(t){return t.getAttribute("id")===e}}):(delete i.find.ID,i.filter.ID=function(t){var e=t.replace(et,nt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}}),i.find.TAG=n.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):n.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,i=[],r=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[r++];)1===n.nodeType&&i.push(n);return i}return o},i.find.CLASS=n.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&g)return e.getElementsByClassName(t)},m=[],v=[],(n.qsa=K.test(h.querySelectorAll))&&(assert(function(t){p.appendChild(t).innerHTML="<a id='"+w+"'></a><select id='"+w+"-\r\\' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+z+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||v.push("\\["+z+"*(?:value|"+L+")"),t.querySelectorAll("[id~="+w+"-]").length||v.push("~="),t.querySelectorAll(":checked").length||v.push(":checked"),t.querySelectorAll("a#"+w+"+*").length||v.push(".#.+[+~]")}),assert(function(t){var e=h.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&v.push("name"+z+"*[*^$|!~]?="),t.querySelectorAll(":enabled").length||v.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=K.test(y=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&assert(function(t){n.disconnectedMatch=y.call(t,"div"),y.call(t,"[s!='']:x"),m.push("!=",H)}),v=v.length&&new RegExp(v.join("|")),m=m.length&&new RegExp(m.join("|")),e=K.test(p.compareDocumentPosition),b=e||K.test(p.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,i=e&&e.parentNode;return t===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):t.compareDocumentPosition&&16&t.compareDocumentPosition(i)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},_=e?function(t,e){if(t===e)return d=!0,0;var i=!t.compareDocumentPosition-!e.compareDocumentPosition;return i||(i=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1,1&i||!n.sortDetached&&e.compareDocumentPosition(t)===i?t===h||t.ownerDocument===x&&b(x,t)?-1:e===h||e.ownerDocument===x&&b(x,e)?1:c?R(c,t)-R(c,e):0:4&i?-1:1)}:function(t,e){if(t===e)return d=!0,0;var n,i=0,r=t.parentNode,o=e.parentNode,a=[t],s=[e];if(!r||!o)return t===h?-1:e===h?1:r?-1:o?1:c?R(c,t)-R(c,e):0;if(r===o)return siblingCheck(t,e);for(n=t;n=n.parentNode;)a.unshift(n);for(n=e;n=n.parentNode;)s.unshift(n);for(;a[i]===s[i];)i++;return i?siblingCheck(a[i],s[i]):a[i]===x?-1:s[i]===x?1:0},h):h},Sizzle.matches=function(t,e){return Sizzle(t,null,null,e)},Sizzle.matchesSelector=function(t,e){if((t.ownerDocument||t)!==h&&f(t),e=e.replace(X,"='$1']"),n.matchesSelector&&g&&!S[e+" "]&&(!m||!m.test(e))&&(!v||!v.test(e)))try{var i=y.call(t,e);if(i||n.disconnectedMatch||t.document&&11!==t.document.nodeType)return i}catch(t){}return Sizzle(e,h,null,[t]).length>0},Sizzle.contains=function(t,e){return(t.ownerDocument||t)!==h&&f(t),b(t,e)},Sizzle.attr=function(t,e){(t.ownerDocument||t)!==h&&f(t);var r=i.attrHandle[e.toLowerCase()],o=r&&P.call(i.attrHandle,e.toLowerCase())?r(t,e,!g):void 0;return void 0!==o?o:n.attributes||!g?t.getAttribute(e):(o=t.getAttributeNode(e))&&o.specified?o.value:null},Sizzle.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},Sizzle.uniqueSort=function(t){var e,i=[],r=0,o=0;if(d=!n.detectDuplicates,c=!n.sortStable&&t.slice(0),t.sort(_),d){for(;e=t[o++];)e===t[o]&&(r=i.push(o));for(;r--;)t.splice(i[r],1)}return c=null,t},r=Sizzle.getText=function(t){var e,n="",i=0,o=t.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=r(t)}else if(3===o||4===o)return t.nodeValue}else for(;e=t[i++];)n+=r(e);return n},i=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:U,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(et,nt),t[3]=(t[3]||t[4]||t[5]||"").replace(et,nt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||Sizzle.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&Sizzle.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return U.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&$.test(n)&&(e=a(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(et,nt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=k[t+" "];return e||(e=new RegExp("(^|"+z+")"+t+"("+z+"|$)"))&&k(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,e,n){return function(i){var r=Sizzle.attr(i,t);return null==r?"!="===e:!e||(r+="","="===e?r===n:"!="===e?r!==n:"^="===e?n&&0===r.indexOf(n):"*="===e?n&&r.indexOf(n)>-1:"$="===e?n&&r.slice(-n.length)===n:"~="===e?(" "+r.replace(j," ")+" ").indexOf(n)>-1:"|="===e&&(r===n||r.slice(0,n.length+1)===n+"-"))}},CHILD:function(t,e,n,i,r){var o="nth"!==t.slice(0,3),a="last"!==t.slice(-4),s="of-type"===e;return 1===i&&0===r?function(t){return!!t.parentNode}:function(e,n,l){var u,c,d,f,h,p,g=o!==a?"nextSibling":"previousSibling",v=e.parentNode,m=s&&e.nodeName.toLowerCase(),y=!l&&!s,b=!1;if(v){if(o){for(;g;){for(f=e;f=f[g];)if(s?f.nodeName.toLowerCase()===m:1===f.nodeType)return!1;p=g="only"===t&&!p&&"nextSibling"}return!0}if(p=[a?v.firstChild:v.lastChild],a&&y){for(f=v,d=f[w]||(f[w]={}),c=d[f.uniqueID]||(d[f.uniqueID]={}),u=c[t]||[],h=u[0]===T&&u[1],b=h&&u[2],f=h&&v.childNodes[h];f=++h&&f&&f[g]||(b=h=0)||p.pop();)if(1===f.nodeType&&++b&&f===e){c[t]=[T,h,b];break}}else if(y&&(f=e,d=f[w]||(f[w]={}),c=d[f.uniqueID]||(d[f.uniqueID]={}),u=c[t]||[],h=u[0]===T&&u[1],b=h),!1===b)for(;(f=++h&&f&&f[g]||(b=h=0)||p.pop())&&((s?f.nodeName.toLowerCase()!==m:1!==f.nodeType)||!++b||(y&&(d=f[w]||(f[w]={}),c=d[f.uniqueID]||(d[f.uniqueID]={}),c[t]=[T,b]),f!==e)););return(b-=r)===i||b%i==0&&b/i>=0}}},PSEUDO:function(t,e){var n,r=i.pseudos[t]||i.setFilters[t.toLowerCase()]||Sizzle.error("unsupported pseudo: "+t);return r[w]?r(e):r.length>1?(n=[t,t,"",e],i.setFilters.hasOwnProperty(t.toLowerCase())?markFunction(function(t,n){for(var i,o=r(t,e),a=o.length;a--;)i=R(t,o[a]),t[i]=!(n[i]=o[a])}):function(t){return r(t,0,n)}):r}},pseudos:{not:markFunction(function(t){var e=[],n=[],i=s(t.replace(W,"$1"));return i[w]?markFunction(function(t,e,n,r){for(var o,a=i(t,null,r,[]),s=t.length;s--;)(o=a[s])&&(t[s]=!(e[s]=o))}):function(t,r,o){return e[0]=t,i(e,null,o,n),e[0]=null,!n.pop()}}),has:markFunction(function(t){return function(e){return Sizzle(t,e).length>0}}),contains:markFunction(function(t){return t=t.replace(et,nt),function(e){return(e.textContent||e.innerText||r(e)).indexOf(t)>-1}}),lang:markFunction(function(t){return Y.test(t||"")||Sizzle.error("unsupported lang: "+t),t=t.replace(et,nt).toLowerCase(),function(e){var n;do{if(n=g?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===p},focus:function(t){return t===h.activeElement&&(!h.hasFocus||h.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:function(t){return!1===t.disabled},disabled:function(t){return!0===t.disabled},checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!i.pseudos.empty(t)},header:function(t){return G.test(t.nodeName)},input:function(t){return Q.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(t,e){return[e-1]}),eq:createPositionalPseudo(function(t,e,n){return[n<0?n+e:n]}),even:createPositionalPseudo(function(t,e){for(var n=0;n<e;n+=2)t.push(n);return t}),odd:createPositionalPseudo(function(t,e){for(var n=1;n<e;n+=2)t.push(n);return t}),lt:createPositionalPseudo(function(t,e,n){for(var i=n<0?n+e:n;--i>=0;)t.push(i);return t}),gt:createPositionalPseudo(function(t,e,n){for(var i=n<0?n+e:n;++i<e;)t.push(i);return t})}},i.pseudos.nth=i.pseudos.eq;for(e in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[e]=function(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}(e);for(e in{submit:!0,reset:!0})i.pseudos[e]=function(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}(e);return setFilters.prototype=i.filters=i.pseudos,i.setFilters=new setFilters,a=Sizzle.tokenize=function(t,e){var n,r,o,a,s,l,u,c=E[t+" "];if(c)return e?0:c.slice(0);for(s=t,l=[],u=i.preFilter;s;){n&&!(r=B.exec(s))||(r&&(s=s.slice(r[0].length)||s),l.push(o=[])),n=!1,(r=V.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return e?s.length:s?Sizzle.error(t):E(t,l).slice(0)},s=Sizzle.compile=function(t,e){var n,i=[],r=[],o=S[t+" "];if(!o){for(e||(e=a(t)),n=e.length;n--;)o=matcherFromTokens(e[n]),o[w]?i.push(o):r.push(o);o=S(t,matcherFromGroupMatchers(r,i)),o.selector=t}return o},l=Sizzle.select=function(t,e,r,o){var l,u,c,d,f,h="function"==typeof t&&t,p=!o&&a(t=h.selector||t);if(r=r||[],1===p.length){if(u=p[0]=p[0].slice(0),u.length>2&&"ID"===(c=u[0]).type&&n.getById&&9===e.nodeType&&g&&i.relative[u[1].type]){if(!(e=(i.find.ID(c.matches[0].replace(et,nt),e)||[])[0]))return r;h&&(e=e.parentNode),t=t.slice(u.shift().value.length)}for(l=U.needsContext.test(t)?0:u.length;l--&&(c=u[l],!i.relative[d=c.type]);)if((f=i.find[d])&&(o=f(c.matches[0].replace(et,nt),Z.test(u[0].type)&&testContext(e.parentNode)||e))){if(u.splice(l,1),!(t=o.length&&toSelector(u)))return M.apply(r,o),r;break}}return(h||s(t,p))(o,e,!g,r,!e||Z.test(t)&&testContext(e.parentNode)||e),r},n.sortStable=w.split("").sort(_).join("")===w,n.detectDuplicates=!!d,f(),n.sortDetached=assert(function(t){return 1&t.compareDocumentPosition(h.createElement("div"))}),assert(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||addHandle("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),n.attributes&&assert(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||addHandle("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),assert(function(t){return null==t.getAttribute("disabled")})||addHandle(L,function(t,e,n){var i;if(!n)return!0===t[e]?e.toLowerCase():(i=t.getAttributeNode(e))&&i.specified?i.value:null}),Sizzle}(n);v.find=x,v.expr=x.selectors,v.expr[":"]=v.expr.pseudos,v.uniqueSort=v.unique=x.uniqueSort,v.text=x.getText,v.isXMLDoc=x.isXML,v.contains=x.contains;var T=function(t,e,n){for(var i=[],r=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(r&&v(t).is(n))break;i.push(t)}return i},C=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},k=v.expr.match.needsContext,E=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,S=/^.[^:#\[\.,]*$/;v.filter=function(t,e,n){var i=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===i.nodeType?v.find.matchesSelector(i,t)?[i]:[]:v.find.matches(t,v.grep(e,function(t){return 1===t.nodeType}))},v.fn.extend({find:function(t){var e,n=this.length,i=[],r=this;if("string"!=typeof t)return this.pushStack(v(t).filter(function(){for(e=0;e<n;e++)if(v.contains(r[e],this))return!0}));for(e=0;e<n;e++)v.find(t,r[e],i);return i=this.pushStack(n>1?v.unique(i):i),i.selector=this.selector?this.selector+" "+t:t,i},filter:function(t){return this.pushStack(winnow(this,t||[],!1))},not:function(t){return this.pushStack(winnow(this,t||[],!0))},is:function(t){return!!winnow(this,"string"==typeof t&&k.test(t)?v(t):t||[],!1).length}});var _,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(v.fn.init=function(t,e,n){var i,r;if(!t)return this;if(n=n||_,"string"==typeof t){if(!(i="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:A.exec(t))||!i[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(i[1]){if(e=e instanceof v?e[0]:e,v.merge(this,v.parseHTML(i[1],e&&e.nodeType?e.ownerDocument||e:s,!0)),E.test(i[1])&&v.isPlainObject(e))for(i in e)v.isFunction(this[i])?this[i](e[i]):this.attr(i,e[i]);return this}return r=s.getElementById(i[2]),r&&r.parentNode&&(this.length=1,this[0]=r),this.context=s,this.selector=t,this}return t.nodeType?(this.context=this[0]=t,this.length=1,this):v.isFunction(t)?void 0!==n.ready?n.ready(t):t(v):(void 0!==t.selector&&(this.selector=t.selector,this.context=t.context),v.makeArray(t,this))}).prototype=v.fn,_=v(s);var P=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({has:function(t){var e=v(t,this),n=e.length;return this.filter(function(){for(var t=0;t<n;t++)if(v.contains(this,e[t]))return!0})},closest:function(t,e){for(var n,i=0,r=this.length,o=[],a=k.test(t)||"string"!=typeof t?v(t,e||this.context):0;i<r;i++)for(n=this[i];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&v.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?v.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?d.call(v(t),this[0]):d.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(v.uniqueSort(v.merge(this.get(),v(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),v.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return T(t,"parentNode")},parentsUntil:function(t,e,n){return T(t,"parentNode",n)},next:function(t){return sibling(t,"nextSibling")},prev:function(t){return sibling(t,"previousSibling")},nextAll:function(t){return T(t,"nextSibling")},prevAll:function(t){return T(t,"previousSibling")},nextUntil:function(t,e,n){return T(t,"nextSibling",n)},prevUntil:function(t,e,n){return T(t,"previousSibling",n)},siblings:function(t){return C((t.parentNode||{}).firstChild,t)},children:function(t){return C(t.firstChild)},contents:function(t){return t.contentDocument||v.merge([],t.childNodes)}},function(t,e){v.fn[t]=function(n,i){var r=v.map(this,e,n);return"Until"!==t.slice(-5)&&(i=n),i&&"string"==typeof i&&(r=v.filter(i,r)),this.length>1&&(D[t]||v.uniqueSort(r),P.test(t)&&r.reverse()),this.pushStack(r)}});var O=/\S+/g;v.Callbacks=function(t){t="string"==typeof t?createOptions(t):v.extend({},t);var e,n,i,r,o=[],a=[],s=-1,l=function(){for(r=t.once,i=e=!0;a.length;s=-1)for(n=a.shift();++s<o.length;)!1===o[s].apply(n[0],n[1])&&t.stopOnFalse&&(s=o.length,n=!1);t.memory||(n=!1),e=!1,r&&(o=n?[]:"")},u={add:function(){return o&&(n&&!e&&(s=o.length-1,a.push(n)),function add(e){v.each(e,function(e,n){v.isFunction(n)?t.unique&&u.has(n)||o.push(n):n&&n.length&&"string"!==v.type(n)&&add(n)})}(arguments),n&&!e&&l()),this},remove:function(){return v.each(arguments,function(t,e){for(var n;(n=v.inArray(e,o,n))>-1;)o.splice(n,1),n<=s&&s--}),this},has:function(t){return t?v.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return r=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return r=a=[],n||(o=n=""),this},locked:function(){return!!r},fireWith:function(t,n){return r||(n=n||[],n=[t,n.slice?n.slice():n],a.push(n),e||l()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!i}};return u},v.extend({Deferred:function(t){var e=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return r.done(arguments).fail(arguments),this},then:function(){var t=arguments;return v.Deferred(function(n){v.each(e,function(e,o){var a=v.isFunction(t[e])&&t[e];r[o[1]](function(){var t=a&&a.apply(this,arguments);t&&v.isFunction(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+"With"](this===i?n.promise():this,a?[t]:arguments)})}),t=null}).promise()},promise:function(t){return null!=t?v.extend(t,i):i}},r={};return i.pipe=i.then,v.each(e,function(t,o){var a=o[2],s=o[3];i[o[1]]=a.add,s&&a.add(function(){n=s},e[1^t][2].disable,e[2][2].lock),r[o[0]]=function(){return r[o[0]+"With"](this===r?i:this,arguments),this},r[o[0]+"With"]=a.fireWith}),i.promise(r),t&&t.call(r,r),r},when:function(t){var e,n,i,r=0,o=l.call(arguments),a=o.length,s=1!==a||t&&v.isFunction(t.promise)?a:0,u=1===s?t:v.Deferred(),c=function(t,n,i){return function(r){n[t]=this,i[t]=arguments.length>1?l.call(arguments):r,i===e?u.notifyWith(n,i):--s||u.resolveWith(n,i)}};if(a>1)for(e=new Array(a),n=new Array(a),i=new Array(a);r<a;r++)o[r]&&v.isFunction(o[r].promise)?o[r].promise().progress(c(r,n,e)).done(c(r,i,o)).fail(u.reject):--s;return s||u.resolveWith(i,o),u.promise()}});var N;v.fn.ready=function(t){return v.ready.promise().done(t),this},v.extend({isReady:!1,readyWait:1,holdReady:function(t){t?v.readyWait++:v.ready(!0)},ready:function(t){(!0===t?--v.readyWait:v.isReady)||(v.isReady=!0,!0!==t&&--v.readyWait>0||(N.resolveWith(s,[v]),v.fn.triggerHandler&&(v(s).triggerHandler("ready"),v(s).off("ready"))))}}),v.ready.promise=function(t){return N||(N=v.Deferred(),"complete"===s.readyState||"loading"!==s.readyState&&!s.documentElement.doScroll?n.setTimeout(v.ready):(s.addEventListener("DOMContentLoaded",completed),n.addEventListener("load",completed))),N.promise(t)},v.ready.promise();var M=function(t,e,n,i,r,o,a){var s=0,l=t.length,u=null==n;if("object"===v.type(n)){r=!0;for(s in n)M(t,e,s,n[s],!0,o,a)}else if(void 0!==i&&(r=!0,v.isFunction(i)||(a=!0),u&&(a?(e.call(t,i),e=null):(u=e,e=function(t,e,n){return u.call(v(t),n)})),e))for(;s<l;s++)e(t[s],n,a?i:i.call(t[s],s,e(t[s],n)));return r?t:u?e.call(t):l?e(t[0],n):o},I=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};Data.uid=1,Data.prototype={register:function(t,e){var n=e||{};return t.nodeType?t[this.expando]=n:Object.defineProperty(t,this.expando,{value:n,writable:!0,configurable:!0}),t[this.expando]},cache:function(t){if(!I(t))return{};var e=t[this.expando];return e||(e={},I(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,n){var i,r=this.cache(t);if("string"==typeof e)r[e]=n;else for(i in e)r[i]=e[i];return r},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][e]},access:function(t,e,n){var i;return void 0===e||e&&"string"==typeof e&&void 0===n?(i=this.get(t,e),void 0!==i?i:this.get(t,v.camelCase(e))):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,i,r,o=t[this.expando];if(void 0!==o){if(void 0===e)this.register(t);else{v.isArray(e)?i=e.concat(e.map(v.camelCase)):(r=v.camelCase(e),e in o?i=[e,r]:(i=r,i=i in o?[i]:i.match(O)||[])),n=i.length;for(;n--;)delete o[i[n]]}(void 0===e||v.isEmptyObject(o))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!v.isEmptyObject(e)}};var R=new Data,L=new Data,z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,F=/[A-Z]/g;v.extend({hasData:function(t){return L.hasData(t)||R.hasData(t)},data:function(t,e,n){return L.access(t,e,n)},removeData:function(t,e){L.remove(t,e)},_data:function(t,e,n){return R.access(t,e,n)},_removeData:function(t,e){R.remove(t,e)}}),v.fn.extend({data:function(t,e){var n,i,r,o=this[0],a=o&&o.attributes;if(void 0===t){if(this.length&&(r=L.get(o),1===o.nodeType&&!R.get(o,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&(i=a[n].name,0===i.indexOf("data-")&&(i=v.camelCase(i.slice(5)),dataAttr(o,i,r[i])));R.set(o,"hasDataAttrs",!0)}return r}return"object"==typeof t?this.each(function(){L.set(this,t)}):M(this,function(e){var n,i;if(o&&void 0===e){if(void 0!==(n=L.get(o,t)||L.get(o,t.replace(F,"-$&").toLowerCase())))return n;if(i=v.camelCase(t),void 0!==(n=L.get(o,i)))return n;if(void 0!==(n=dataAttr(o,i,void 0)))return n}else i=v.camelCase(t),this.each(function(){var n=L.get(this,i);L.set(this,i,e),t.indexOf("-")>-1&&void 0!==n&&L.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){L.remove(this,t)})}}),v.extend({queue:function(t,e,n){var i;if(t)return e=(e||"fx")+"queue",i=R.get(t,e),n&&(!i||v.isArray(n)?i=R.access(t,e,v.makeArray(n)):i.push(n)),i||[]},dequeue:function(t,e){e=e||"fx";var n=v.queue(t,e),i=n.length,r=n.shift(),o=v._queueHooks(t,e),a=function(){v.dequeue(t,e)};"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===e&&n.unshift("inprogress"),delete o.stop,r.call(t,a,o)),!i&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return R.get(t,n)||R.access(t,n,{empty:v.Callbacks("once memory").add(function(){R.remove(t,[e+"queue",n])})})}}),v.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length<n?v.queue(this[0],t):void 0===e?this:this.each(function(){var n=v.queue(this,t,e);v._queueHooks(this,t),"fx"===t&&"inprogress"!==n[0]&&v.dequeue(this,t)})},dequeue:function(t){return this.each(function(){v.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,i=1,r=v.Deferred(),o=this,a=this.length,s=function(){--i||r.resolveWith(o,[o])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";a--;)(n=R.get(o[a],t+"queueHooks"))&&n.empty&&(i++,n.empty.add(s));return s(),r.promise(e)}});var q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,H=new RegExp("^(?:([+-])=|)("+q+")([a-z%]*)$","i"),j=["Top","Right","Bottom","Left"],W=function(t,e){return t=e||t,"none"===v.css(t,"display")||!v.contains(t.ownerDocument,t)},B=/^(?:checkbox|radio)$/i,V=/<([\w:-]+)/,X=/^$|\/(?:java|ecma)script/i,$={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;var Y=/<|&#?\w+;/;!function(){var t=s.createDocumentFragment(),e=t.appendChild(s.createElement("div")),n=s.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),g.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",g.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var U=/^key/,Q=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,G=/^([^.]*)(?:\.(.+)|)/;v.event={global:{},add:function(t,e,n,i,r){var o,a,s,l,u,c,d,f,h,p,g,m=R.get(t);if(m)for(n.handler&&(o=n,n=o.handler,r=o.selector),n.guid||(n.guid=v.guid++),(l=m.events)||(l=m.events={}),(a=m.handle)||(a=m.handle=function(e){return void 0!==v&&v.event.triggered!==e.type?v.event.dispatch.apply(t,arguments):void 0}),e=(e||"").match(O)||[""],u=e.length;u--;)s=G.exec(e[u])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h&&(d=v.event.special[h]||{},h=(r?d.delegateType:d.bindType)||h,d=v.event.special[h]||{},c=v.extend({type:h,origType:g,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&v.expr.match.needsContext.test(r),namespace:p.join(".")},o),(f=l[h])||(f=l[h]=[],f.delegateCount=0,d.setup&&!1!==d.setup.call(t,i,p,a)||t.addEventListener&&t.addEventListener(h,a)),d.add&&(d.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),r?f.splice(f.delegateCount++,0,c):f.push(c),v.event.global[h]=!0)},remove:function(t,e,n,i,r){var o,a,s,l,u,c,d,f,h,p,g,m=R.hasData(t)&&R.get(t);if(m&&(l=m.events)){for(e=(e||"").match(O)||[""],u=e.length;u--;)if(s=G.exec(e[u])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h){for(d=v.event.special[h]||{},h=(i?d.delegateType:d.bindType)||h,f=l[h]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=f.length;o--;)c=f[o],!r&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||i&&i!==c.selector&&("**"!==i||!c.selector)||(f.splice(o,1),c.selector&&f.delegateCount--,d.remove&&d.remove.call(t,c));a&&!f.length&&(d.teardown&&!1!==d.teardown.call(t,p,m.handle)||v.removeEvent(t,h,m.handle),delete l[h])}else for(h in l)v.event.remove(t,h+e[u],n,i,!0);v.isEmptyObject(l)&&R.remove(t,"handle events")}},dispatch:function(t){t=v.event.fix(t);var e,n,i,r,o,a=[],s=l.call(arguments),u=(R.get(this,"events")||{})[t.type]||[],c=v.event.special[t.type]||{};if(s[0]=t,t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){for(a=v.event.handlers.call(this,t,u),e=0;(r=a[e++])&&!t.isPropagationStopped();)for(t.currentTarget=r.elem,n=0;(o=r.handlers[n++])&&!t.isImmediatePropagationStopped();)t.rnamespace&&!t.rnamespace.test(o.namespace)||(t.handleObj=o,t.data=o.data,void 0!==(i=((v.event.special[o.origType]||{}).handle||o.handler).apply(r.elem,s))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(t,e){var n,i,r,o,a=[],s=e.delegateCount,l=t.target;if(s&&l.nodeType&&("click"!==t.type||isNaN(t.button)||t.button<1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(!0!==l.disabled||"click"!==t.type)){for(i=[],n=0;n<s;n++)o=e[n],r=o.selector+" ",void 0===i[r]&&(i[r]=o.needsContext?v(r,this).index(l)>-1:v.find(r,this,null,[l]).length),i[r]&&i.push(o);i.length&&a.push({elem:l,handlers:i})}return s<e.length&&a.push({elem:this,handlers:e.slice(s)}),a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(t,e){return null==t.which&&(t.which=null!=e.charCode?e.charCode:e.keyCode),t}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(t,e){var n,i,r,o=e.button;return null==t.pageX&&null!=e.clientX&&(n=t.target.ownerDocument||s,i=n.documentElement,r=n.body,t.pageX=e.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),t.pageY=e.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),t.which||void 0===o||(t.which=1&o?1:2&o?3:4&o?2:0),t}},fix:function(t){if(t[v.expando])return t;var e,n,i,r=t.type,o=t,a=this.fixHooks[r];for(a||(this.fixHooks[r]=a=Q.test(r)?this.mouseHooks:U.test(r)?this.keyHooks:{}),i=a.props?this.props.concat(a.props):this.props,t=new v.Event(o),e=i.length;e--;)n=i[e],t[n]=o[n];return t.target||(t.target=s),3===t.target.nodeType&&(t.target=t.target.parentNode),a.filter?a.filter(t,o):t},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&v.nodeName(this,"input"))return this.click(),!1},_default:function(t){return v.nodeName(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},v.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n)},v.Event=function(t,e){if(!(this instanceof v.Event))return new v.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&!1===t.returnValue?returnTrue:returnFalse):this.type=t,e&&v.extend(this,e),this.timeStamp=t&&t.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={constructor:v.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=returnTrue,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=returnTrue,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},v.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){v.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,i=this,r=t.relatedTarget,o=t.handleObj;return r&&(r===i||v.contains(i,r))||(t.type=o.origType,n=o.handler.apply(this,arguments),t.type=e),n}}}),v.fn.extend({on:function(t,e,n,i){return on(this,t,e,n,i)},one:function(t,e,n,i){return on(this,t,e,n,i,1)},off:function(t,e,n){var i,r;if(t&&t.preventDefault&&t.handleObj)return i=t.handleObj,v(t.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof t){for(r in t)this.off(r,e,t[r]);return this}return!1!==e&&"function"!=typeof e||(n=e,e=void 0),!1===n&&(n=returnFalse),this.each(function(){v.event.remove(this,t,n,e)})}});var K=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,J=/<script|<style|<link/i,Z=/checked\s*(?:[^=]|=\s*.checked.)/i,tt=/^true\/(.*)/,et=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;v.extend({htmlPrefilter:function(t){return t.replace(K,"<$1></$2>")},clone:function(t,e,n){var i,r,o,a,s=t.cloneNode(!0),l=v.contains(t.ownerDocument,t);if(!(g.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||v.isXMLDoc(t)))for(a=getAll(s),o=getAll(t),i=0,r=o.length;i<r;i++)fixInput(o[i],a[i]);if(e)if(n)for(o=o||getAll(t),a=a||getAll(s),i=0,r=o.length;i<r;i++)cloneCopyEvent(o[i],a[i]);else cloneCopyEvent(t,s);return a=getAll(s,"script"),a.length>0&&setGlobalEval(a,!l&&getAll(t,"script")),s},cleanData:function(t){for(var e,n,i,r=v.event.special,o=0;void 0!==(n=t[o]);o++)if(I(n)){if(e=n[R.expando]){if(e.events)for(i in e.events)r[i]?v.event.remove(n,i):v.removeEvent(n,i,e.handle);n[R.expando]=void 0}n[L.expando]&&(n[L.expando]=void 0)}}}),v.fn.extend({domManip:domManip,detach:function(t){return remove(this,t,!0)},remove:function(t){return remove(this,t)},text:function(t){return M(this,function(t){return void 0===t?v.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return domManip(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){manipulationTarget(this,t).appendChild(t)}})},prepend:function(){return domManip(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=manipulationTarget(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return domManip(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return domManip(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(v.cleanData(getAll(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return v.clone(this,t,e)})},html:function(t){return M(this,function(t){var e=this[0]||{},n=0,i=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!J.test(t)&&!$[(V.exec(t)||["",""])[1].toLowerCase()]){t=v.htmlPrefilter(t);try{for(;n<i;n++)e=this[n]||{},1===e.nodeType&&(v.cleanData(getAll(e,!1)),e.innerHTML=t);e=0}catch(t){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=[];return domManip(this,arguments,function(e){var n=this.parentNode;v.inArray(this,t)<0&&(v.cleanData(getAll(this)),n&&n.replaceChild(e,this))},t)}}),v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){v.fn[t]=function(t){for(var n,i=[],r=v(t),o=r.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),v(r[a])[e](n),c.apply(i,n.get());return this.pushStack(i)}});var nt,it={HTML:"block",BODY:"block"},rt=/^margin/,ot=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),at=function(t){var e=t.ownerDocument.defaultView;return e&&e.opener||(e=n),e.getComputedStyle(t)},st=function(t,e,n,i){var r,o,a={};for(o in e)a[o]=t.style[o],t.style[o]=e[o];r=n.apply(t,i||[]);for(o in e)t.style[o]=a[o];return r},lt=s.documentElement;!function(){function computeStyleTests(){a.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",lt.appendChild(o);var s=n.getComputedStyle(a);t="1%"!==s.top,r="2px"===s.marginLeft,e="4px"===s.width,a.style.marginRight="50%",i="4px"===s.marginRight,lt.removeChild(o)}var t,e,i,r,o=s.createElement("div"),a=s.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",g.clearCloneStyle="content-box"===a.style.backgroundClip,o.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",o.appendChild(a),v.extend(g,{pixelPosition:function(){return computeStyleTests(),t},boxSizingReliable:function(){return null==e&&computeStyleTests(),e},pixelMarginRight:function(){return null==e&&computeStyleTests(),i},reliableMarginLeft:function(){return null==e&&computeStyleTests(),r},reliableMarginRight:function(){var t,e=a.appendChild(s.createElement("div"));return e.style.cssText=a.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",e.style.marginRight=e.style.width="0",a.style.width="1px",lt.appendChild(o),t=!parseFloat(n.getComputedStyle(e).marginRight),lt.removeChild(o),a.removeChild(e),t}}))}();var ut=/^(none|table(?!-c[ea]).+)/,ct={position:"absolute",visibility:"hidden",display:"block"},dt={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","O","Moz","ms"],ht=s.createElement("div").style;v.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=curCSS(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(t,e,n,i){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var r,o,a,s=v.camelCase(e),l=t.style;if(e=v.cssProps[s]||(v.cssProps[s]=vendorPropName(s)||s),a=v.cssHooks[e]||v.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(r=a.get(t,!1,i))?r:l[e];o=typeof n,"string"===o&&(r=H.exec(n))&&r[1]&&(n=adjustCSS(t,e,r),o="number"),null!=n&&n===n&&("number"===o&&(n+=r&&r[3]||(v.cssNumber[s]?"":"px")),g.clearCloneStyle||""!==n||0!==e.indexOf("background")||(l[e]="inherit"),a&&"set"in a&&void 0===(n=a.set(t,n,i))||(l[e]=n))}},css:function(t,e,n,i){var r,o,a,s=v.camelCase(e);return e=v.cssProps[s]||(v.cssProps[s]=vendorPropName(s)||s),a=v.cssHooks[e]||v.cssHooks[s],a&&"get"in a&&(r=a.get(t,!0,n)),void 0===r&&(r=curCSS(t,e,i)),"normal"===r&&e in dt&&(r=dt[e]),""===n||n?(o=parseFloat(r),!0===n||isFinite(o)?o||0:r):r}}),v.each(["height","width"],function(t,e){v.cssHooks[e]={get:function(t,n,i){if(n)return ut.test(v.css(t,"display"))&&0===t.offsetWidth?st(t,ct,function(){return getWidthOrHeight(t,e,i)}):getWidthOrHeight(t,e,i)},set:function(t,n,i){var r,o=i&&at(t),a=i&&augmentWidthOrHeight(t,e,i,"border-box"===v.css(t,"boxSizing",!1,o),o);return a&&(r=H.exec(n))&&"px"!==(r[3]||"px")&&(t.style[e]=n,n=v.css(t,e)),setPositiveNumber(t,n,a)}}}),v.cssHooks.marginLeft=addGetHookIf(g.reliableMarginLeft,function(t,e){if(e)return(parseFloat(curCSS(t,"marginLeft"))||t.getBoundingClientRect().left-st(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+"px"}),v.cssHooks.marginRight=addGetHookIf(g.reliableMarginRight,function(t,e){if(e)return st(t,{display:"inline-block"},curCSS,[t,"marginRight"])}),v.each({margin:"",padding:"",border:"Width"},function(t,e){v.cssHooks[t+e]={expand:function(n){for(var i=0,r={},o="string"==typeof n?n.split(" "):[n];i<4;i++)r[t+j[i]+e]=o[i]||o[i-2]||o[0];return r}},rt.test(t)||(v.cssHooks[t+e].set=setPositiveNumber)}),v.fn.extend({css:function(t,e){return M(this,function(t,e,n){var i,r,o={},a=0;if(v.isArray(e)){for(i=at(t),r=e.length;a<r;a++)o[e[a]]=v.css(t,e[a],!1,i);return o}return void 0!==n?v.style(t,e,n):v.css(t,e)},t,e,arguments.length>1)},show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){W(this)?v(this).show():v(this).hide()})}}),v.Tween=Tween,Tween.prototype={constructor:Tween,init:function(t,e,n,i,r,o){this.elem=t,this.prop=n,this.easing=r||v.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=i,this.unit=o||(v.cssNumber[n]?"":"px")},cur:function(){var t=Tween.propHooks[this.prop];return t&&t.get?t.get(this):Tween.propHooks._default.get(this)},run:function(t){var e,n=Tween.propHooks[this.prop];return this.options.duration?this.pos=e=v.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=v.css(t.elem,t.prop,""),e&&"auto"!==e?e:0)},set:function(t){v.fx.step[t.prop]?v.fx.step[t.prop](t):1!==t.elem.nodeType||null==t.elem.style[v.cssProps[t.prop]]&&!v.cssHooks[t.prop]?t.elem[t.prop]=t.now:v.style(t.elem,t.prop,t.now+t.unit)}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},v.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},v.fx=Tween.prototype.init,v.fx.step={};var pt,gt,vt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;v.Animation=v.extend(Animation,{tweeners:{"*":[function(t,e){var n=this.createTween(t,e);return adjustCSS(n.elem,t,H.exec(e),n),n}]},tweener:function(t,e){v.isFunction(t)?(e=t,t=["*"]):t=t.match(O);for(var n,i=0,r=t.length;i<r;i++)n=t[i],Animation.tweeners[n]=Animation.tweeners[n]||[],Animation.tweeners[n].unshift(e)},prefilters:[defaultPrefilter],prefilter:function(t,e){e?Animation.prefilters.unshift(t):Animation.prefilters.push(t)}}),v.speed=function(t,e,n){var i=t&&"object"==typeof t?v.extend({},t):{complete:n||!n&&e||v.isFunction(t)&&t,duration:t,easing:n&&e||e&&!v.isFunction(e)&&e};return i.duration=v.fx.off?0:"number"==typeof i.duration?i.duration:i.duration in v.fx.speeds?v.fx.speeds[i.duration]:v.fx.speeds._default,null!=i.queue&&!0!==i.queue||(i.queue="fx"),i.old=i.complete,i.complete=function(){v.isFunction(i.old)&&i.old.call(this),i.queue&&v.dequeue(this,i.queue)},i},v.fn.extend({fadeTo:function(t,e,n,i){return this.filter(W).css("opacity",0).show().end().animate({opacity:e},t,n,i)},animate:function(t,e,n,i){var r=v.isEmptyObject(t),o=v.speed(e,n,i),a=function(){var e=Animation(this,v.extend({},t),o);(r||R.get(this,"finish"))&&e.stop(!0)};return a.finish=a,r||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(t,e,n){var i=function(t){var e=t.stop;delete t.stop,e(n)};return"string"!=typeof t&&(n=e,e=t,t=void 0),e&&!1!==t&&this.queue(t||"fx",[]),this.each(function(){var e=!0,r=null!=t&&t+"queueHooks",o=v.timers,a=R.get(this);if(r)a[r]&&a[r].stop&&i(a[r]);else for(r in a)a[r]&&a[r].stop&&mt.test(r)&&i(a[r]);for(r=o.length;r--;)o[r].elem!==this||null!=t&&o[r].queue!==t||(o[r].anim.stop(n),e=!1,o.splice(r,1));!e&&n||v.dequeue(this,t)})},finish:function(t){return!1!==t&&(t=t||"fx"),this.each(function(){var e,n=R.get(this),i=n[t+"queue"],r=n[t+"queueHooks"],o=v.timers,a=i?i.length:0;for(n.finish=!0,v.queue(this,t,[]),r&&r.stop&&r.stop.call(this,!0),e=o.length;e--;)o[e].elem===this&&o[e].queue===t&&(o[e].anim.stop(!0),o.splice(e,1));for(e=0;e<a;e++)i[e]&&i[e].finish&&i[e].finish.call(this);delete n.finish})}}),v.each(["toggle","show","hide"],function(t,e){var n=v.fn[e];v.fn[e]=function(t,i,r){return null==t||"boolean"==typeof t?n.apply(this,arguments):this.animate(genFx(e,!0),t,i,r)}}),v.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){v.fn[t]=function(t,n,i){return this.animate(e,t,n,i)}}),v.timers=[],v.fx.tick=function(){var t,e=0,n=v.timers;for(pt=v.now();e<n.length;e++)(t=n[e])()||n[e]!==t||n.splice(e--,1);n.length||v.fx.stop(),pt=void 0},v.fx.timer=function(t){v.timers.push(t),t()?v.fx.start():v.timers.pop()},v.fx.interval=13,v.fx.start=function(){gt||(gt=n.setInterval(v.fx.tick,v.fx.interval))},v.fx.stop=function(){n.clearInterval(gt),gt=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fn.delay=function(t,e){return t=v.fx?v.fx.speeds[t]||t:t,e=e||"fx",this.queue(e,function(e,i){var r=n.setTimeout(e,t);i.stop=function(){n.clearTimeout(r)}})},function(){var t=s.createElement("input"),e=s.createElement("select"),n=e.appendChild(s.createElement("option"));t.type="checkbox",g.checkOn=""!==t.value,g.optSelected=n.selected,e.disabled=!0,g.optDisabled=!n.disabled,t=s.createElement("input"),t.value="t",t.type="radio",g.radioValue="t"===t.value}();var yt,bt=v.expr.attrHandle;v.fn.extend({attr:function(t,e){return M(this,v.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){v.removeAttr(this,t)})}}),v.extend({attr:function(t,e,n){var i,r,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===t.getAttribute?v.prop(t,e,n):(1===o&&v.isXMLDoc(t)||(e=e.toLowerCase(),r=v.attrHooks[e]||(v.expr.match.bool.test(e)?yt:void 0)),void 0!==n?null===n?void v.removeAttr(t,e):r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:(t.setAttribute(e,n+""),n):r&&"get"in r&&null!==(i=r.get(t,e))?i:(i=v.find.attr(t,e),null==i?void 0:i))},attrHooks:{type:{set:function(t,e){if(!g.radioValue&&"radio"===e&&v.nodeName(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,i,r=0,o=e&&e.match(O);if(o&&1===t.nodeType)for(;n=o[r++];)i=v.propFix[n]||n,v.expr.match.bool.test(n)&&(t[i]=!1),t.removeAttribute(n)}}),yt={set:function(t,e,n){return!1===e?v.removeAttr(t,n):t.setAttribute(n,n),n}},v.each(v.expr.match.bool.source.match(/\w+/g),function(t,e){var n=bt[e]||v.find.attr;bt[e]=function(t,e,i){var r,o;return i||(o=bt[e],bt[e]=r,r=null!=n(t,e,i)?e.toLowerCase():null,bt[e]=o),r}});var wt=/^(?:input|select|textarea|button)$/i,xt=/^(?:a|area)$/i;v.fn.extend({prop:function(t,e){return M(this,v.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[v.propFix[t]||t]})}}),v.extend({prop:function(t,e,n){var i,r,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&v.isXMLDoc(t)||(e=v.propFix[e]||e,r=v.propHooks[e]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:t[e]=n:r&&"get"in r&&null!==(i=r.get(t,e))?i:t[e]},propHooks:{tabIndex:{get:function(t){var e=v.find.attr(t,"tabindex");return e?parseInt(e,10):wt.test(t.nodeName)||xt.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),g.optSelected||(v.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),v.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){v.propFix[this.toLowerCase()]=this});var Tt=/[\t\r\n\f]/g;v.fn.extend({addClass:function(t){var e,n,i,r,o,a,s,l=0;if(v.isFunction(t))return this.each(function(e){v(this).addClass(t.call(this,e,getClass(this)))});if("string"==typeof t&&t)for(e=t.match(O)||[];n=this[l++];)if(r=getClass(n),i=1===n.nodeType&&(" "+r+" ").replace(Tt," ")){for(a=0;o=e[a++];)i.indexOf(" "+o+" ")<0&&(i+=o+" ");s=v.trim(i),r!==s&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,i,r,o,a,s,l=0;if(v.isFunction(t))return this.each(function(e){v(this).removeClass(t.call(this,e,getClass(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof t&&t)for(e=t.match(O)||[];n=this[l++];)if(r=getClass(n),i=1===n.nodeType&&(" "+r+" ").replace(Tt," ")){for(a=0;o=e[a++];)for(;i.indexOf(" "+o+" ")>-1;)i=i.replace(" "+o+" "," ");s=v.trim(i),r!==s&&n.setAttribute("class",s)}return this},toggleClass:function(t,e){var n=typeof t;return"boolean"==typeof e&&"string"===n?e?this.addClass(t):this.removeClass(t):v.isFunction(t)?this.each(function(n){v(this).toggleClass(t.call(this,n,getClass(this),e),e)}):this.each(function(){var e,i,r,o;if("string"===n)for(i=0,r=v(this),o=t.match(O)||[];e=o[i++];)r.hasClass(e)?r.removeClass(e):r.addClass(e);else void 0!==t&&"boolean"!==n||(e=getClass(this),e&&R.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":R.get(this,"__className__")||""))})},hasClass:function(t){var e,n,i=0;for(e=" "+t+" ";n=this[i++];)if(1===n.nodeType&&(" "+getClass(n)+" ").replace(Tt," ").indexOf(e)>-1)return!0;return!1}});var Ct=/\r/g,kt=/[\x20\t\r\n\f]+/g;v.fn.extend({val:function(t){var e,n,i,r=this[0];{if(arguments.length)return i=v.isFunction(t),this.each(function(n){var r;1===this.nodeType&&(r=i?t.call(this,n,v(this).val()):t,null==r?r="":"number"==typeof r?r+="":v.isArray(r)&&(r=v.map(r,function(t){return null==t?"":t+""})),(e=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,r,"value")||(this.value=r))});if(r)return(e=v.valHooks[r.type]||v.valHooks[r.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(r,"value"))?n:(n=r.value,"string"==typeof n?n.replace(Ct,""):null==n?"":n)}}}),v.extend({valHooks:{option:{get:function(t){var e=v.find.attr(t,"value");return null!=e?e:v.trim(v.text(t)).replace(kt," ")}},select:{get:function(t){for(var e,n,i=t.options,r=t.selectedIndex,o="select-one"===t.type||r<0,a=o?null:[],s=o?r+1:i.length,l=r<0?s:o?r:0;l<s;l++)if(n=i[l],(n.selected||l===r)&&(g.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){if(e=v(n).val(),o)return e;a.push(e)}return a},set:function(t,e){for(var n,i,r=t.options,o=v.makeArray(e),a=r.length;a--;)i=r[a],(i.selected=v.inArray(v.valHooks.option.get(i),o)>-1)&&(n=!0);return n||(t.selectedIndex=-1),o}}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]={set:function(t,e){if(v.isArray(e))return t.checked=v.inArray(v(t).val(),e)>-1}},g.checkOn||(v.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})});var Et=/^(?:focusinfocus|focusoutblur)$/;v.extend(v.event,{trigger:function(t,e,i,r){var o,a,l,u,c,d,f,h=[i||s],g=p.call(t,"type")?t.type:t,m=p.call(t,"namespace")?t.namespace.split("."):[];if(a=l=i=i||s,3!==i.nodeType&&8!==i.nodeType&&!Et.test(g+v.event.triggered)&&(g.indexOf(".")>-1&&(m=g.split("."),g=m.shift(),m.sort()),c=g.indexOf(":")<0&&"on"+g,t=t[v.expando]?t:new v.Event(g,"object"==typeof t&&t),t.isTrigger=r?2:3,t.namespace=m.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),e=null==e?[t]:v.makeArray(e,[t]),f=v.event.special[g]||{},r||!f.trigger||!1!==f.trigger.apply(i,e))){if(!r&&!f.noBubble&&!v.isWindow(i)){for(u=f.delegateType||g,Et.test(u+g)||(a=a.parentNode);a;a=a.parentNode)h.push(a),l=a;l===(i.ownerDocument||s)&&h.push(l.defaultView||l.parentWindow||n)}for(o=0;(a=h[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||g,d=(R.get(a,"events")||{})[t.type]&&R.get(a,"handle"),d&&d.apply(a,e),(d=c&&a[c])&&d.apply&&I(a)&&(t.result=d.apply(a,e),!1===t.result&&t.preventDefault());return t.type=g,r||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(h.pop(),e)||!I(i)||c&&v.isFunction(i[g])&&!v.isWindow(i)&&(l=i[c],l&&(i[c]=null),v.event.triggered=g,i[g](),v.event.triggered=void 0,l&&(i[c]=l)),t.result}},simulate:function(t,e,n){var i=v.extend(new v.Event,n,{type:t,isSimulated:!0});v.event.trigger(i,null,e)}}),v.fn.extend({trigger:function(t,e){return this.each(function(){v.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return v.event.trigger(t,e,n,!0)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(t,e){v.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}}),v.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),g.focusin="onfocusin"in n,g.focusin||v.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){v.event.simulate(e,t.target,v.event.fix(t))};v.event.special[e]={setup:function(){var i=this.ownerDocument||this,r=R.access(i,e);r||i.addEventListener(t,n,!0),R.access(i,e,(r||0)+1)},teardown:function(){var i=this.ownerDocument||this,r=R.access(i,e)-1;r?R.access(i,e,r):(i.removeEventListener(t,n,!0),R.remove(i,e))}}});var St=n.location,_t=v.now(),At=/\?/;v.parseJSON=function(t){return JSON.parse(t+"")},v.parseXML=function(t){var e;if(!t||"string"!=typeof t)return null;try{e=(new n.DOMParser).parseFromString(t,"text/xml")}catch(t){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||v.error("Invalid XML: "+t),e};var Pt=/#.*$/,Dt=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Nt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,It=/^\/\//,Rt={},Lt={},zt="*/".concat("*"),Ft=s.createElement("a");Ft.href=St.href,v.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:St.href,type:"GET",isLocal:Nt.test(St.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":zt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?ajaxExtend(ajaxExtend(t,v.ajaxSettings),e):ajaxExtend(v.ajaxSettings,t)},ajaxPrefilter:addToPrefiltersOrTransports(Rt),ajaxTransport:addToPrefiltersOrTransports(Lt),ajax:function(t,e){function done(t,e,a,s){var u,d,b,w,T,k=e;2!==x&&(x=2,l&&n.clearTimeout(l),i=void 0,o=s||"",C.readyState=t>0?4:0,u=t>=200&&t<300||304===t,a&&(w=ajaxHandleResponses(f,C,a)),w=ajaxConvert(f,w,C,u),u?(f.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(v.lastModified[r]=T),(T=C.getResponseHeader("etag"))&&(v.etag[r]=T)),204===t||"HEAD"===f.type?k="nocontent":304===t?k="notmodified":(k=w.state,d=w.data,b=w.error,u=!b)):(b=k,!t&&k||(k="error",t<0&&(t=0))),C.status=t,C.statusText=(e||k)+"",u?g.resolveWith(h,[d,k,C]):g.rejectWith(h,[C,k,b]),C.statusCode(y),y=void 0,c&&p.trigger(u?"ajaxSuccess":"ajaxError",[C,f,u?d:b]),m.fireWith(h,[C,k]),c&&(p.trigger("ajaxComplete",[C,f]),--v.active||v.event.trigger("ajaxStop")))}"object"==typeof t&&(e=t,t=void 0),e=e||{};var i,r,o,a,l,u,c,d,f=v.ajaxSetup({},e),h=f.context||f,p=f.context&&(h.nodeType||h.jquery)?v(h):v.event,g=v.Deferred(),m=v.Callbacks("once memory"),y=f.statusCode||{},b={},w={},x=0,T="canceled",C={readyState:0,getResponseHeader:function(t){var e;if(2===x){if(!a)for(a={};e=Ot.exec(o);)a[e[1].toLowerCase()]=e[2];e=a[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return 2===x?o:null},setRequestHeader:function(t,e){var n=t.toLowerCase();return x||(t=w[n]=w[n]||t,b[t]=e),this},overrideMimeType:function(t){return x||(f.mimeType=t),this},statusCode:function(t){var e;if(t)if(x<2)for(e in t)y[e]=[y[e],t[e]];else C.always(t[C.status]);return this},abort:function(t){var e=t||T;return i&&i.abort(e),done(0,e),this}};if(g.promise(C).complete=m.add,C.success=C.done,C.error=C.fail,f.url=((t||f.url||St.href)+"").replace(Pt,"").replace(It,St.protocol+"//"),f.type=e.method||e.type||f.method||f.type,f.dataTypes=v.trim(f.dataType||"*").toLowerCase().match(O)||[""],null==f.crossDomain){u=s.createElement("a");try{u.href=f.url,u.href=u.href,f.crossDomain=Ft.protocol+"//"+Ft.host!=u.protocol+"//"+u.host}catch(t){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=v.param(f.data,f.traditional)),inspectPrefiltersOrTransports(Rt,f,e,C),2===x)return C;c=v.event&&f.global,c&&0==v.active++&&v.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!Mt.test(f.type),r=f.url,f.hasContent||(f.data&&(r=f.url+=(At.test(r)?"&":"?")+f.data,delete f.data),!1===f.cache&&(f.url=Dt.test(r)?r.replace(Dt,"$1_="+_t++):r+(At.test(r)?"&":"?")+"_="+_t++)),f.ifModified&&(v.lastModified[r]&&C.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&C.setRequestHeader("If-None-Match",v.etag[r])),(f.data&&f.hasContent&&!1!==f.contentType||e.contentType)&&C.setRequestHeader("Content-Type",f.contentType),C.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+zt+"; q=0.01":""):f.accepts["*"]);for(d in f.headers)C.setRequestHeader(d,f.headers[d]);if(f.beforeSend&&(!1===f.beforeSend.call(h,C,f)||2===x))return C.abort();T="abort";for(d in{success:1,error:1,complete:1})C[d](f[d]);if(i=inspectPrefiltersOrTransports(Lt,f,e,C)){if(C.readyState=1,c&&p.trigger("ajaxSend",[C,f]),2===x)return C;f.async&&f.timeout>0&&(l=n.setTimeout(function(){C.abort("timeout")},f.timeout));try{x=1,i.send(b,done)}catch(t){if(!(x<2))throw t;done(-1,t)}}else done(-1,"No Transport");return C},getJSON:function(t,e,n){return v.get(t,e,n,"json")},getScript:function(t,e){return v.get(t,void 0,e,"script")}}),v.each(["get","post"],function(t,e){v[e]=function(t,n,i,r){return v.isFunction(n)&&(r=r||i,i=n,n=void 0),v.ajax(v.extend({url:t,type:e,dataType:r,data:n,success:i},v.isPlainObject(t)&&t))}}),v._evalUrl=function(t){return v.ajax({url:t,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},v.fn.extend({wrapAll:function(t){var e;return v.isFunction(t)?this.each(function(e){v(this).wrapAll(t.call(this,e))}):(this[0]&&(e=v(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this)},wrapInner:function(t){return v.isFunction(t)?this.each(function(e){v(this).wrapInner(t.call(this,e))}):this.each(function(){var e=v(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=v.isFunction(t);return this.each(function(n){v(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()}}),v.expr.filters.hidden=function(t){return!v.expr.filters.visible(t)},v.expr.filters.visible=function(t){return t.offsetWidth>0||t.offsetHeight>0||t.getClientRects().length>0};var qt=/%20/g,Ht=/\[\]$/,jt=/\r?\n/g,Wt=/^(?:submit|button|image|reset|file)$/i,Bt=/^(?:input|select|textarea|keygen)/i;v.param=function(t,e){var n,i=[],r=function(t,e){e=v.isFunction(e)?e():null==e?"":e,i[i.length]=encodeURIComponent(t)+"="+encodeURIComponent(e)};if(void 0===e&&(e=v.ajaxSettings&&v.ajaxSettings.traditional),v.isArray(t)||t.jquery&&!v.isPlainObject(t))v.each(t,function(){r(this.name,this.value)});else for(n in t)buildParams(n,t[n],e,r);return i.join("&").replace(qt,"+")},v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=v.prop(this,"elements");return t?v.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!v(this).is(":disabled")&&Bt.test(this.nodeName)&&!Wt.test(t)&&(this.checked||!B.test(t))}).map(function(t,e){var n=v(this).val();return null==n?null:v.isArray(n)?v.map(n,function(t){return{name:e.name,value:t.replace(jt,"\r\n")}}):{name:e.name,value:n.replace(jt,"\r\n")}}).get()}}),v.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}};var Vt={0:200,1223:204},Xt=v.ajaxSettings.xhr();g.cors=!!Xt&&"withCredentials"in Xt,g.ajax=Xt=!!Xt,v.ajaxTransport(function(t){var e,i;if(g.cors||Xt&&!t.crossDomain)return{send:function(r,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(a in r)s.setRequestHeader(a,r[a]);e=function(t){return function(){e&&(e=i=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===t?s.abort():"error"===t?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=e(),i=s.onerror=e("error"),void 0!==s.onabort?s.onabort=i:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){e&&i()})},e=e("abort");try{s.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return v.globalEval(t),t}}}),v.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),v.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(i,r){e=v("<script>").prop({charset:t.scriptCharset,src:t.url}).on("load error",n=function(t){e.remove(),n=null,t&&r("error"===t.type?404:200,t.type)}),s.head.appendChild(e[0])},abort:function(){n&&n()}}}});var $t=[],Yt=/(=)\?(?=&|$)|\?\?/;v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=$t.pop()||v.expando+"_"+_t++;return this[t]=!0,t}}),v.ajaxPrefilter("json jsonp",function(t,e,i){var r,o,a,s=!1!==t.jsonp&&(Yt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return r=t.jsonpCallback=v.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Yt,"$1"+r):!1!==t.jsonp&&(t.url+=(At.test(t.url)?"&":"?")+t.jsonp+"="+r),t.converters["script json"]=function(){return a||v.error(r+" was not called"),a[0]},t.dataTypes[0]="json",o=n[r],n[r]=function(){a=arguments},i.always(function(){void 0===o?v(n).removeProp(r):n[r]=o,t[r]&&(t.jsonpCallback=e.jsonpCallback,$t.push(r)),a&&v.isFunction(o)&&o(a[0]),a=o=void 0}),"script"}),v.parseHTML=function(t,e,n){if(!t||"string"!=typeof t)return null;"boolean"==typeof e&&(n=e,e=!1),e=e||s;var i=E.exec(t),r=!n&&[];return i?[e.createElement(i[1])]:(i=buildFragment([t],e,r),r&&r.length&&v(r).remove(),v.merge([],i.childNodes))};var Ut=v.fn.load;v.fn.load=function(t,e,n){if("string"!=typeof t&&Ut)return Ut.apply(this,arguments);var i,r,o,a=this,s=t.indexOf(" ");return s>-1&&(i=v.trim(t.slice(s)),t=t.slice(0,s)),v.isFunction(e)?(n=e,e=void 0):e&&"object"==typeof e&&(r="POST"),a.length>0&&v.ajax({url:t,type:r||"GET",dataType:"html",data:e}).done(function(t){o=arguments,a.html(i?v("<div>").append(v.parseHTML(t)).find(i):t)}).always(n&&function(t,e){a.each(function(){n.apply(this,o||[t.responseText,e,t])})}),this},v.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){v.fn[e]=function(t){return this.on(e,t)}}),v.expr.filters.animated=function(t){return v.grep(v.timers,function(e){return t===e.elem}).length},v.offset={setOffset:function(t,e,n){var i,r,o,a,s,l,u,c=v.css(t,"position"),d=v(t),f={};"static"===c&&(t.style.position="relative"),s=d.offset(),o=v.css(t,"top"),l=v.css(t,"left"),u=("absolute"===c||"fixed"===c)&&(o+l).indexOf("auto")>-1,u?(i=d.position(),a=i.top,r=i.left):(a=parseFloat(o)||0,r=parseFloat(l)||0),v.isFunction(e)&&(e=e.call(t,n,v.extend({},s))),null!=e.top&&(f.top=e.top-s.top+a),null!=e.left&&(f.left=e.left-s.left+r),"using"in e?e.using.call(t,f):d.css(f)}},v.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){v.offset.setOffset(this,t,e)});var e,n,i=this[0],r={top:0,left:0},o=i&&i.ownerDocument;if(o)return e=o.documentElement,v.contains(e,i)?(r=i.getBoundingClientRect(),n=getWindow(o),{top:r.top+n.pageYOffset-e.clientTop,left:r.left+n.pageXOffset-e.clientLeft}):r},position:function(){if(this[0]){var t,e,n=this[0],i={top:0,left:0};return"fixed"===v.css(n,"position")?e=n.getBoundingClientRect():(t=this.offsetParent(),e=this.offset(),v.nodeName(t[0],"html")||(i=t.offset()),i.top+=v.css(t[0],"borderTopWidth",!0),i.left+=v.css(t[0],"borderLeftWidth",!0)),{top:e.top-i.top-v.css(n,"marginTop",!0),left:e.left-i.left-v.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&"static"===v.css(t,"position");)t=t.offsetParent;return t||lt})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,e){var n="pageYOffset"===e;v.fn[t]=function(i){return M(this,function(t,i,r){var o=getWindow(t);if(void 0===r)return o?o[e]:t[i];o?o.scrollTo(n?o.pageXOffset:r,n?r:o.pageYOffset):t[i]=r},t,i,arguments.length)}}),v.each(["top","left"],function(t,e){v.cssHooks[e]=addGetHookIf(g.pixelPosition,function(t,n){if(n)return n=curCSS(t,e),ot.test(n)?v(t).position()[e]+"px":n})}),v.each({Height:"height",Width:"width"},function(t,e){v.each({padding:"inner"+t,content:e,"":"outer"+t},function(n,i){v.fn[i]=function(i,r){var o=arguments.length&&(n||"boolean"!=typeof i),a=n||(!0===i||!0===r?"margin":"border");return M(this,function(e,n,i){var r;return v.isWindow(e)?e.document.documentElement["client"+t]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+t],r["scroll"+t],e.body["offset"+t],r["offset"+t],r["client"+t])):void 0===i?v.css(e,n,a):v.style(e,n,i,a)},e,o?i:void 0,o,null)}})}),v.fn.extend({bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,i){return this.on(e,t,n,i)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)},size:function(){return this.length}}),v.fn.andSelf=v.fn.addBack,i=[],void 0!==(r=function(){return v}.apply(e,i))&&(t.exports=r);var Qt=n.jQuery,Gt=n.$;return v.noConflict=function(t){return n.$===v&&(n.$=Gt),t&&n.jQuery===v&&(n.jQuery=Qt),v},o||(n.jQuery=n.$=v),v})},function(t,e,n){"use strict";(function(t){function escapeHtml(t){return String(t).replace(/[&<>"'\/]/g,function(t){return o[t]})}function mousePosition(e){var n=t.document.body,r={top:0,left:0};return"static"!==i(n).css("position")&&(r=i(n).offset()),{top:e.pageY-r.top,left:e.pageX-r.left}}var i=n(0),r=n(17).Promise,o={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"},a=function(){if("function"==typeof t.Gettext){var e=new t.Gettext({domain:"annotator"});return function(t){return e.gettext(t)}}return function(t){return t}}();e.$=i,e.Promise=r,e.gettext=a,e.escapeHtml=escapeHtml,e.mousePosition=mousePosition}).call(e,n(2))},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";(function(t){function Widget(t){this.element=o(this.constructor.template),this.classes=o.extend({},Widget.classes,this.constructor.classes),this.options=o.extend({},Widget.options,this.constructor.options,t),this.extensionsInstalled=!1}var i=n(16),r=n(1),o=r.$;Widget.prototype.destroy=function(){this.element.remove()},Widget.prototype.installExtensions=function(){if(this.options.extensions)for(var t=0,e=this.options.extensions.length;t<e;t++){var n=this.options.extensions[t];n(this)}},Widget.prototype._maybeInstallExtensions=function(){this.extensionsInstalled||(this.extensionsInstalled=!0,this.installExtensions())},Widget.prototype.attach=function(){this.element.appendTo(this.options.appendTo),this._maybeInstallExtensions()},Widget.prototype.show=function(){this.element.removeClass(this.classes.hide),this.checkOrientation()},Widget.prototype.hide=function(){o(this.element).addClass(this.classes.hide)},Widget.prototype.isShown=function(){return!o(this.element).hasClass(this.classes.hide)},Widget.prototype.checkOrientation=function(){this.resetOrientation();var e=o(t),n=this.element.children(":first"),i=n.offset(),r={top:e.scrollTop(),right:e.width()+e.scrollLeft()},a={top:i.top,right:i.left+n.width()};return a.top-r.top<0&&this.invertY(),a.right-r.right>0&&this.invertX(),this},Widget.prototype.resetOrientation=function(){return this.element.removeClass(this.classes.invert.x).removeClass(this.classes.invert.y),this},Widget.prototype.invertX=function(){return this.element.addClass(this.classes.invert.x),this},Widget.prototype.invertY=function(){return this.element.addClass(this.classes.invert.y),this},Widget.prototype.isInvertedY=function(){return this.element.hasClass(this.classes.invert.y)},Widget.prototype.isInvertedX=function(){return this.element.hasClass(this.classes.invert.x)},Widget.classes={hide:"annotator-hide",invert:{x:"annotator-invert-x",y:"annotator-invert-y"}},Widget.template="<div></div>",Widget.options={appendTo:"body"},Widget.extend=i,e.Widget=Widget}).call(e,n(2))},function(t,e,n){var i;!function(r,o,a){function _addEvent(t,e,n){if(t.addEventListener)return void t.addEventListener(e,n,!1);t.attachEvent("on"+e,n)}function _characterFromEvent(t){if("keypress"==t.type){var e=String.fromCharCode(t.which);return t.shiftKey||(e=e.toLowerCase()),e}return l[t.which]?l[t.which]:u[t.which]?u[t.which]:String.fromCharCode(t.which).toLowerCase()}function _modifiersMatch(t,e){return t.sort().join(",")===e.sort().join(",")}function _eventModifiers(t){var e=[];return t.shiftKey&&e.push("shift"),t.altKey&&e.push("alt"),t.ctrlKey&&e.push("ctrl"),t.metaKey&&e.push("meta"),e}function _preventDefault(t){if(t.preventDefault)return void t.preventDefault();t.returnValue=!1}function _stopPropagation(t){if(t.stopPropagation)return void t.stopPropagation();t.cancelBubble=!0}function _isModifier(t){return"shift"==t||"ctrl"==t||"alt"==t||"meta"==t}function _getReverseMap(){if(!s){s={};for(var t in l)t>95&&t<112||l.hasOwnProperty(t)&&(s[l[t]]=t)}return s}function _pickBestAction(t,e,n){return n||(n=_getReverseMap()[t]?"keydown":"keypress"),"keypress"==n&&e.length&&(n="keydown"),n}function _keysFromString(t){return"+"===t?["+"]:(t=t.replace(/\+{2}/g,"+plus"),t.split("+"))}function _getKeyInfo(t,e){var n,i,r,o=[];for(n=_keysFromString(t),r=0;r<n.length;++r)i=n[r],d[i]&&(i=d[i]),e&&"keypress"!=e&&c[i]&&(i=c[i],o.push("shift")),_isModifier(i)&&o.push(i);return e=_pickBestAction(i,o,e),{key:i,modifiers:o,action:e}}function _belongsTo(t,e){return null!==t&&t!==o&&(t===e||_belongsTo(t.parentNode,e))}function Mousetrap(t){function _resetSequences(t){t=t||{};var e,n=!1;for(e in i)t[e]?n=!0:i[e]=0;n||(s=!1)}function _getMatches(t,n,r,o,a,s){var l,u,c=[],d=r.type;if(!e._callbacks[t])return[];for("keyup"==d&&_isModifier(t)&&(n=[t]),l=0;l<e._callbacks[t].length;++l)if(u=e._callbacks[t][l],(o||!u.seq||i[u.seq]==u.level)&&d==u.action&&("keypress"==d&&!r.metaKey&&!r.ctrlKey||_modifiersMatch(n,u.modifiers))){var f=!o&&u.combo==a,h=o&&u.seq==o&&u.level==s;(f||h)&&e._callbacks[t].splice(l,1),c.push(u)}return c}function _fireCallback(t,n,i,r){e.stopCallback(n,n.target||n.srcElement,i,r)||!1===t(n,i)&&(_preventDefault(n),_stopPropagation(n))}function _handleKeyEvent(t){"number"!=typeof t.which&&(t.which=t.keyCode);var n=_characterFromEvent(t);if(n)return"keyup"==t.type&&r===n?void(r=!1):void e.handleKey(n,_eventModifiers(t),t)}function _resetSequenceTimer(){clearTimeout(n),n=setTimeout(_resetSequences,1e3)}function _bindSequence(t,e,n,o){function _callbackAndReset(e){_fireCallback(n,e,t),"keyup"!==o&&(r=_characterFromEvent(e)),setTimeout(_resetSequences,10)}i[t]=0;for(var a=0;a<e.length;++a){var l=a+1===e.length,u=l?_callbackAndReset:function(e){return function(){s=e,++i[t],_resetSequenceTimer()}}(o||_getKeyInfo(e[a+1]).action);_bindSingle(e[a],u,o,t,a)}}function _bindSingle(t,n,i,r,o){e._directMap[t+":"+i]=n,t=t.replace(/\s+/g," ");var a,s=t.split(" ");if(s.length>1)return void _bindSequence(t,s,n,i);a=_getKeyInfo(t,i),e._callbacks[a.key]=e._callbacks[a.key]||[],_getMatches(a.key,a.modifiers,{type:a.action},r,t,o),e._callbacks[a.key][r?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:r,level:o,combo:t})}var e=this;if(t=t||o,!(e instanceof Mousetrap))return new Mousetrap(t);e.target=t,e._callbacks={},e._directMap={};var n,i={},r=!1,a=!1,s=!1;e._handleKey=function(t,e,n){var i,r=_getMatches(t,e,n),o={},l=0,u=!1;for(i=0;i<r.length;++i)r[i].seq&&(l=Math.max(l,r[i].level));for(i=0;i<r.length;++i)if(r[i].seq){if(r[i].level!=l)continue;u=!0,o[r[i].seq]=1,_fireCallback(r[i].callback,n,r[i].combo,r[i].seq)}else u||_fireCallback(r[i].callback,n,r[i].combo);var c="keypress"==n.type&&a;n.type!=s||_isModifier(t)||c||_resetSequences(o),a=u&&"keydown"==n.type},e._bindMultiple=function(t,e,n){for(var i=0;i<t.length;++i)_bindSingle(t[i],e,n)},_addEvent(t,"keypress",_handleKeyEvent),_addEvent(t,"keydown",_handleKeyEvent),_addEvent(t,"keyup",_handleKeyEvent)}if(r){for(var s,l={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},u={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},c={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},d={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},f=1;f<20;++f)l[111+f]="f"+f;for(f=0;f<=9;++f)l[f+96]=f.toString();Mousetrap.prototype.bind=function(t,e,n){var i=this;return t=t instanceof Array?t:[t],i._bindMultiple.call(i,t,e,n),i},Mousetrap.prototype.unbind=function(t,e){var n=this;return n.bind.call(n,t,function(){},e)},Mousetrap.prototype.trigger=function(t,e){var n=this;return n._directMap[t+":"+e]&&n._directMap[t+":"+e]({},t),n},Mousetrap.prototype.reset=function(){var t=this;return t._callbacks={},t._directMap={},t},Mousetrap.prototype.stopCallback=function(t,e){var n=this;return!((" "+e.className+" ").indexOf(" mousetrap ")>-1)&&(!_belongsTo(e,n.target)&&("INPUT"==e.tagName||"SELECT"==e.tagName||"TEXTAREA"==e.tagName||e.isContentEditable))},Mousetrap.prototype.handleKey=function(){var t=this;return t._handleKey.apply(t,arguments)},Mousetrap.addKeycodes=function(t){for(var e in t)t.hasOwnProperty(e)&&(l[e]=t[e]);s=null},Mousetrap.init=function(){var t=Mousetrap(o);for(var e in t)"_"!==e.charAt(0)&&(Mousetrap[e]=function(e){return function(){return t[e].apply(t,arguments)}}(e))},Mousetrap.init(),r.Mousetrap=Mousetrap,void 0!==t&&t.exports&&(t.exports=Mousetrap),void 0!==(i=function(){return Mousetrap}.call(e,n,e,t))&&(t.exports=i)}}("undefined"!=typeof window?window:null,"undefined"!=typeof window?document:null)},function(t,e,n){"use strict";var i;e.acl=function(){var t=new i;return{configure:function(e){e.registerUtility(t,"authorizationPolicy")}}},i=e.AclAuthzPolicy=function(){},i.prototype.permits=function(t,e,n){var i=this.authorizedUserId(n),r=e.permissions;if(r){var o=r[t];if(void 0===o||null===o)return!0;for(var a=0,s=o.length;a<s;a++)if(i===o[a])return!0;return!1}return!e.user||i===e.user},i.prototype.authorizedUserId=function(t){return t}},function(t,e,n){"use strict";var i;e.simple=function(){var t=new i;return{configure:function(e){e.registerUtility(t,"identityPolicy")},beforeAnnotationCreated:function(e){e.user=t.who()}}},i=function(){this.identity=null},e.SimpleIdentityPolicy=i,i.prototype.who=function(){return this.identity}},function(t,e,n){"use strict";(function(t){function banner(e,n){void 0!==n&&null!==n||(n=o);var l=r(a)[0],u=!1,c=function(){u||(u=!0,r(l).removeClass(s.show).removeClass(s[n]),setTimeout(function(){r(l).remove()},500))};return r(l).addClass(s.show).addClass(s[n]).html(i.escapeHtml(e||"")).appendTo(t.document.body),r(l).on("click",c),setTimeout(c,5e3),{close:c}}var i=n(1),r=i.$,o="info",a="<div class='annotator-notice'></div>",s={show:"annotator-notice-show",info:"annotator-notice-info",success:"annotator-notice-success",error:"annotator-notice-error"};e.banner=banner,e.defaultNotifier=banner,e.INFO=o,e.SUCCESS="success",e.ERROR="error"}).call(e,n(2))},function(t,e,n){"use strict";function StorageAdapter(t,e){this.store=t,this.runHook=e}var i=n(1),r=i.$,o=i.gettext,a=i.Promise,s=function(){var t;return t=-1,function(){return t+=1}}();e.debug=function(){function trace(t,e){var n=JSON.parse(JSON.stringify(e));console.debug("annotator.storage.debug: "+t,n)}return{create:function(t){return t.id=s(),trace("create",t),t},update:function(t){return trace("update",t),t},delete:function(t){return trace("destroy",t),t},query:function(t){return trace("query",t),{results:[],meta:{total:0}}},configure:function(t){t.registerUtility(this,"storage")}}},e.noop=function(){return{create:function(t){return void 0!==t.id&&null!==t.id||(t.id=s()),t},update:function(t){return t},delete:function(t){return t},query:function(){return{results:[]}},configure:function(t){t.registerUtility(this,"storage")}}};var l;e.http=function(t){var e=function(){};void 0!==t&&null!==t||(t={}),t.onError=t.onError||function(t,n){console.error(t,n),e(t,"error")};var n=new l(t);return{configure:function(t){t.registerUtility(n,"storage")},start:function(t){e=t.notify}}},l=e.HttpStorage=function HttpStorage(t){this.options=r.extend(!0,{},HttpStorage.options,t),this.onError=this.options.onError},l.prototype.create=function(t){return this._apiRequest("create",t)},l.prototype.update=function(t){return this._apiRequest("update",t)},l.prototype.delete=function(t){return this._apiRequest("destroy",t)},l.prototype.query=function(t){return this._apiRequest("search",t).then(function(t){var e=t.rows;return delete t.rows,{results:e,meta:t}})},l.prototype.setHeader=function(t,e){this.options.headers[t]=e},l.prototype._apiRequest=function(t,e){var n=e&&e.id,i=this._urlFor(t,n),o=this._apiRequestOptions(t,e),a=r.ajax(i,o);return a._id=n,a._action=t,a},l.prototype._apiRequestOptions=function(t,e){var n=this._methodFor(t),i=this,o={type:n,dataType:"json",error:function(){i._onError.apply(i,arguments)},headers:this.options.headers};if(!this.options.emulateHTTP||"PUT"!==n&&"DELETE"!==n||(o.headers=r.extend(o.headers,{"X-HTTP-Method-Override":n}),o.type="POST"),"search"===t)return o=r.extend(o,{data:e});var a=e&&JSON.stringify(e);return this.options.emulateJSON?(o.data={json:a},this.options.emulateHTTP&&(o.data._method=n),o):o=r.extend(o,{data:a,contentType:"application/json; charset=utf-8"})},l.prototype._urlFor=function(t,e){void 0!==e&&null!==e||(e="");var n="";return void 0!==this.options.prefix&&null!==this.options.prefix&&(n=this.options.prefix),n+=this.options.urls[t],n=n.replace(/idAnnotation/,e)},l.prototype._methodFor=function(t){return{create:"POST",update:"PUT",destroy:"DELETE",search:"GET"}[t]},l.prototype._onError=function(t){if("function"==typeof this.onError){var e;e=o(400===t.status?"The annotation store did not understand the request! (Error 400)":401===t.status?"You must be logged in to perform this operation! (Error 401)":403===t.status?"You don't have permission to perform this operation! (Error 403)":404===t.status?"Could not connect to the annotation store! (Error 404)":500===t.status?"Internal error in annotation store! (Error 500)":"Unknown error while speaking to annotation store!"),this.onError(e,t)}},l.options={emulateHTTP:!1,emulateJSON:!1,headers:{},onError:function(t){console.error("API request failed: "+t)},prefix:"/store",urls:{create:"/annotations",update:"/annotations/idAnnotation",destroy:"/annotations/idAnnotation",search:"/search"}},StorageAdapter.prototype.create=function(t){return void 0!==t&&null!==t||(t={}),this._cycle(t,"create","beforeAnnotationCreated","annotationCreated")},StorageAdapter.prototype.update=function(t){if(void 0===t.id||null===t.id)throw new TypeError("annotation must have an id for update()");return this._cycle(t,"update","beforeAnnotationUpdated","annotationUpdated")},StorageAdapter.prototype.delete=function(t){if(void 0===t.id||null===t.id)throw new TypeError("annotation must have an id for delete()");return this._cycle(t,"delete","beforeAnnotationDeleted","annotationDeleted")},StorageAdapter.prototype.query=function(t){return a.resolve(this.store.query(t))},StorageAdapter.prototype.load=function(t){var e=this;return this.query(t).then(function(t){e.runHook("annotationsLoaded",[t.results])})},StorageAdapter.prototype._cycle=function(t,e,n,i){var o=this;return this.runHook(n,[t]).then(function(){var n=r.extend(!0,{},t);delete n._local;var i=o.store[e](n);return a.resolve(i)}).then(function(e){for(var n in t)t.hasOwnProperty(n)&&"_local"!==n&&delete t[n];return r.extend(t,e),o.runHook(i,[t]),t})},e.StorageAdapter=StorageAdapter},function(t,e,n){"use strict";var i=n(3).Widget,r=n(1),o=r.$,a=r.gettext,s="annotator-adder",l=i.extend({constructor:function(t){i.call(this,t),this.ignoreMouseup=!1,this.annotation=null,this.onCreate=this.options.onCreate;var e=this;this.element.on("click."+s,"button",function(t){e._onClick(t)}).on("mousedown."+s,"button",function(t){e._onMousedown(t)}),this.document=this.element[0].ownerDocument,o(this.document.body).on("mouseup."+s,function(t){e._onMouseup(t)})},destroy:function(){this.element.off("."+s),o(this.document.body).off("."+s),i.prototype.destroy.call(this)},load:function(t,e){this.annotation=t,this.show(e)},show:function(t){void 0!==t&&null!==t&&this.element.css({top:t.top,left:t.left}),i.prototype.show.call(this)},_onMousedown:function(t){t.which>1||(t.preventDefault(),this.ignoreMouseup=!0)},_onMouseup:function(t){t.which>1||this.ignoreMouseup&&t.stopImmediatePropagation()},_onClick:function(t){t.which>1||(t.preventDefault(),this.hide(),this.ignoreMouseup=!1,null!==this.annotation&&"function"==typeof this.onCreate&&this.onCreate(this.annotation,t))}});l.template=['<div class="annotator-adder annotator-hide">',' <button type="button">'+a("Annotate")+"</button>","</div>"].join("\n"),l.options={onCreate:null},e.Adder=l},function(t,e,n){"use strict";function preventEventDefault(t){void 0!==t&&null!==t&&"function"==typeof t.preventDefault&&t.preventDefault()}var i=n(3).Widget,r=n(1),o=r.$,a=r.gettext,s=r.Promise,l="annotator-editor",u=function(){var t;return t=-1,function(){return t+=1}}(),c=e.dragTracker=function(t,e){function mouseMove(t){if(!i&&null!==n){var r={y:t.pageY-n.top,x:t.pageX-n.left},o=!0;"function"==typeof e&&(o=e(r)),!1!==o&&(n={top:t.pageY,left:t.pageX}),i=!0,setTimeout(function(){i=!1},1e3/60)}}function mouseUp(){n=null,o(t.ownerDocument).off("mouseup",mouseUp).off("mousemove",mouseMove)}function mouseDown(e){e.target===t&&(n={top:e.pageY,left:e.pageX},o(t.ownerDocument).on("mouseup",mouseUp).on("mousemove",mouseMove),e.preventDefault())}function destroy(){o(t).off("mousedown",mouseDown)}var n=null,i=!1;return o(t).on("mousedown",mouseDown),{destroy:destroy}},d=e.resizer=function(t,e,n){function translate(t){var e=1,i=-1;return"function"==typeof n.invertedX&&n.invertedX()&&(e=-1),"function"==typeof n.invertedY&&n.invertedY()&&(i=1),{x:t.x*e,y:t.y*i}}function resize(t){var e=i.height(),n=i.width(),r=translate(t);return Math.abs(r.x)>0&&i.width(n+r.x),Math.abs(r.y)>0&&i.height(e+r.y),i.height()!==e||i.width()!==n}var i=o(t);return void 0!==n&&null!==n||(n={}),c(e,resize)},f=e.mover=function(t,e){function move(e){o(t).css({top:parseInt(o(t).css("top"),10)+e.y,left:parseInt(o(t).css("left"),10)+e.x})}return c(e,move)},h=e.Editor=i.extend({constructor:function(t){i.call(this,t),this.fields=[],this.annotation={},this.options.defaultFields&&this.addField({type:"textarea",label:a("Comments")+"…",load:function(t,e){o(t).find("textarea").val(e.text||"")},submit:function(t,e){e.text=o(t).find("textarea").val()}});var e=this;this.element.on("submit."+l,"form",function(t){e._onFormSubmit(t)}).on("click."+l,".annotator-save",function(t){e._onSaveClick(t)}).on("click."+l,".annotator-cancel",function(t){e._onCancelClick(t)}).on("mouseover."+l,".annotator-cancel",function(t){e._onCancelMouseover(t)}).on("keydown."+l,"textarea",function(t){e._onTextareaKeydown(t)})},destroy:function(){this.element.off("."+l),i.prototype.destroy.call(this)},show:function(t){void 0!==t&&null!==t&&this.element.css({top:t.top,left:t.left}),this.element.find(".annotator-save").addClass(this.classes.focus),i.prototype.show.call(this),this.element.find(":input:first").focus(),this._setupDraggables()},load:function(t,e){this.annotation=t;for(var n=0,i=this.fields.length;n<i;n++){var r=this.fields[n];r.load(r.element,this.annotation)}var o=this;return new s(function(t,n){o.dfd={resolve:t,reject:n},o.show(e)})},submit:function(){for(var t=0,e=this.fields.length;t<e;t++){var n=this.fields[t];n.submit(n.element,this.annotation)}void 0!==this.dfd&&null!==this.dfd&&this.dfd.resolve(),this.hide()},cancel:function(){void 0!==this.dfd&&null!==this.dfd&&this.dfd.reject("editing cancelled"),this.hide()},addField:function(t){var e=o.extend({id:"annotator-field-"+u(),type:"input",label:"",load:function(){},submit:function(){}},t),n=null,i=o('<li class="annotator-item" />');return e.element=i[0],"textarea"===e.type?n=o("<textarea />"):"checkbox"===e.type?n=o('<input type="checkbox" />'):"input"===e.type?n=o("<input />"):"select"===e.type&&(n=o("<select />")),i.append(n),n.attr({id:e.id,placeholder:e.label}),"checkbox"===e.type&&(i.addClass("annotator-checkbox"),i.append(o("<label />",{for:e.id,html:e.label}))),this.element.find("ul:first").append(i),this.fields.push(e),e.element},checkOrientation:function(){i.prototype.checkOrientation.call(this);var t=this.element.find("ul").first(),e=this.element.find(".annotator-controls");return this.element.hasClass(this.classes.invert.y)?e.insertBefore(t):e.is(":first-child")&&e.insertAfter(t),this},_onFormSubmit:function(t){preventEventDefault(t),this.submit()},_onSaveClick:function(t){preventEventDefault(t),this.submit()},_onCancelClick:function(t){preventEventDefault(t),this.cancel()},_onCancelMouseover:function(){this.element.find("."+this.classes.focus).removeClass(this.classes.focus)},_onTextareaKeydown:function(t){27===t.which?this.cancel():13!==t.which||t.shiftKey||this.submit()},_setupDraggables:function(){void 0!==this._resizer&&null!==this._resizer&&this._resizer.destroy(),void 0!==this._mover&&null!==this._mover&&this._mover.destroy(),this.element.find(".annotator-resize").remove();var t;(t=this.element.hasClass(this.classes.invert.y)?this.element.find(".annotator-item:last"):this.element.find(".annotator-item:first"))&&o('<span class="annotator-resize"></span>').appendTo(t);var e=this.element.find(".annotator-controls")[0],n=this.element.find("textarea:first")[0],i=this.element.find(".annotator-resize")[0],r=this;this._resizer=d(n,i,{invertedX:function(){return r.element.hasClass(r.classes.invert.x)},invertedY:function(){return r.element.hasClass(r.classes.invert.y)}}),this._mover=f(this.element[0],e)}});h.classes={hide:"annotator-hide",focus:"annotator-focus"},h.template=['<div class="annotator-outer annotator-editor annotator-hide">',' <form class="annotator-widget">',' <ul class="annotator-listing"></ul>',' <div class="annotator-controls">',' <a href="#cancel" class="annotator-cancel">'+a("Cancel")+"</a>",' <a href="#save"',' class="annotator-save annotator-focus">'+a("Save")+"</a>"," </div>"," </form>","</div>"].join("\n"),h.options={defaultFields:!0},e.standalone=function(t){var n=new e.Editor(t);return{destroy:function(){n.destroy()},beforeAnnotationCreated:function(t){return n.load(t)},beforeAnnotationUpdated:function(t){return n.load(t)}}}},function(t,e,n){"use strict";(function(t){function highlightRange(e,n){void 0!==n&&null!==n||(n="annotator-hl");for(var i=/^\s*$/,r=e.textNodes(),o=[],a=0,s=r.length;a<s;a++){var l=r[a];if(!i.test(l.nodeValue)){var u=t.document.createElement("span");u.className=n,l.parentNode.replaceChild(u,l),u.appendChild(l),o.push(u)}}return o}function reanchorRange(t,e){try{return i.Range.sniff(t).normalize(e)}catch(t){if(!(t instanceof i.Range.RangeError))throw t}return null}var i=n(18),r=n(1),o=r.$,a=r.Promise,s=e.Highlighter=function Highlighter(t,e){this.element=t,this.options=o.extend(!0,{},Highlighter.options,e)};s.prototype.destroy=function(){o(this.element).find("."+this.options.highlightClass).each(function(t,e){o(e).contents().insertBefore(e),o(e).remove()})},s.prototype.drawAll=function(t){var e=this;return new a(function(n){function loader(t){void 0!==t&&null!==t||(t=[]);for(var r=t.splice(0,e.options.chunkSize),o=0,a=r.length;o<a;o++)i=i.concat(e.draw(r[o]));t.length>0?setTimeout(function(){loader(t)},e.options.chunkDelay):n(i)}var i=[];loader(t.slice())})},s.prototype.draw=function(t){for(var e=[],n=0,i=t.ranges.length;n<i;n++){var r=reanchorRange(t.ranges[n],this.element);null!==r&&e.push(r)}void 0!==t._local&&null!==t._local||(t._local={}),void 0!==t._local.highlights&&null===t._local.highlights||(t._local.highlights=[]);for(var a=0,s=e.length;a<s;a++){var l=e[a];o.merge(t._local.highlights,highlightRange(l,this.options.highlightClass))}return o(t._local.highlights).data("annotation",t),void 0!==t.id&&null!==t.id&&o(t._local.highlights).attr("data-annotation-id",t.id),t._local.highlights},s.prototype.undraw=function(t){if(void 0!==t._local&&null!==t._local&&void 0!==t._local.highlights&&null!==t._local.highlights){for(var e=0,n=t._local.highlights.length;e<n;e++){var i=t._local.highlights[e];null!==i.parentNode&&o(i).replaceWith(i.childNodes)}delete t._local.highlights}},s.prototype.redraw=function(t){return this.undraw(t),this.draw(t)},s.options={highlightClass:"annotator-hl",chunkSize:10,chunkDelay:10},e.standalone=function(t,n){var i=e.Highlighter(t,n);return{destroy:function(){i.destroy()},annotationsLoaded:function(t){i.drawAll(t)},annotationCreated:function(t){i.draw(t)},annotationDeleted:function(t){i.undraw(t)},annotationUpdated:function(t){i.redraw(t)}}}}).call(e,n(2))},function(t,e,n){"use strict";(function(t){function isAnnotator(t){return 0!==o(t).parents().addBack().filter("[class^=annotator-]").length}function TextSelector(t,e){if(this.element=t,this.options=o.extend(!0,{},TextSelector.options,e),this.onSelection=this.options.onSelection,void 0!==this.element.ownerDocument&&null!==this.element.ownerDocument){var n=this;this.document=this.element.ownerDocument,o(this.document.body).on("mouseup."+a,function(t){n._checkForEndSelection(t)})}else console.warn("You created an instance of the TextSelector on an element that doesn't have an ownerDocument. This won't work! Please ensure the element is added to the DOM before the plugin is configured:",this.element)}var i=n(18),r=n(1),o=r.$,a="annotator-textselector";TextSelector.prototype.destroy=function(){this.document&&o(this.document.body).off("."+a)},TextSelector.prototype.captureDocumentSelection=function(){var e,n,r=[],o=[],a=t.getSelection();if(a.isCollapsed)return[];for(e=0;e<a.rangeCount;e++){var s=a.getRangeAt(e),l=new i.Range.BrowserRange(s),u=l.normalize().limit(this.element);null===u?o.push(s):r.push(u)}for(a.removeAllRanges(),e=0,n=o.length;e<n;e++)a.addRange(o[e]);for(e=0,n=r.length;e<n;e++){var c=r[e],d=this.document.createRange();d.setStartBefore(c.start),d.setEndAfter(c.end),a.addRange(d)}return r},TextSelector.prototype._checkForEndSelection=function(t){var e=this,n=function(){"function"==typeof e.onSelection&&e.onSelection([],t)},i=this.captureDocumentSelection();if(0===i.length)return void n();for(var r=0,a=i.length;r<a;r++){var s=i[r].commonAncestor;if(o(s).hasClass("annotator-hl")&&(s=o(s).parents("[class!=annotator-hl]")[0]),isAnnotator(s))return void n()}"function"==typeof this.onSelection&&this.onSelection(i,t)},TextSelector.options={onSelection:null},e.TextSelector=TextSelector}).call(e,n(2))},function(t,e,n){"use strict";function parseLinks(t,e,n){n=o.extend({},n,{rel:e});for(var i=[],r=0,a=t.length;r<a;r++){var s=t[r],l=!0;for(var u in n)if(n.hasOwnProperty(u)&&s[u]!==n[u]){l=!1;break}l&&i.push(s)}return i}var i=n(3).Widget,r=n(1),o=r.$,a=r.gettext,s="annotator-viewer",l=e.Viewer=i.extend({constructor:function(t){i.call(this,t),this.itemTemplate=l.itemTemplate,this.fields=[],this.annotations=[],this.hideTimer=null,this.hideTimerDfd=null,this.hideTimerActivity=null,this.mouseDown=!1,this.render=function(t){return t.text?r.escapeHtml(t.text):"<i>"+a("No comment")+"</i>"};var e=this;if(this.options.defaultFields&&this.addField({load:function(t,n){o(t).html(e.render(n))}}),"function"!=typeof this.options.onEdit)throw new TypeError("onEdit callback must be a function");if("function"!=typeof this.options.onDelete)throw new TypeError("onDelete callback must be a function");if("function"!=typeof this.options.permitEdit)throw new TypeError("permitEdit callback must be a function");if("function"!=typeof this.options.permitDelete)throw new TypeError("permitDelete callback must be a function");this.options.autoViewHighlights&&(this.document=this.options.autoViewHighlights.ownerDocument,o(this.options.autoViewHighlights).on("mouseover."+s,".annotator-hl",function(t){t.target===this&&e._onHighlightMouseover(t)}).on("mouseleave."+s,".annotator-hl",function(){e._startHideTimer()}),o(this.document.body).on("mousedown."+s,function(t){1===t.which&&(e.mouseDown=!0)}).on("mouseup."+s,function(t){1===t.which&&(e.mouseDown=!1)})),this.element.on("click."+s,".annotator-edit",function(t){e._onEditClick(t)}).on("click."+s,".annotator-delete",function(t){e._onDeleteClick(t)}).on("mouseenter."+s,function(){e._clearHideTimer()}).on("mouseleave."+s,function(){e._startHideTimer()})},destroy:function(){this.options.autoViewHighlights&&(o(this.options.autoViewHighlights).off("."+s),o(this.document.body).off("."+s)),this.element.off("."+s),i.prototype.destroy.call(this)},show:function(t){void 0!==t&&null!==t&&this.element.css({top:t.top,left:t.left});var e=this.element.find(".annotator-controls").addClass(this.classes.showControls),n=this;setTimeout(function(){e.removeClass(n.classes.showControls)},500),i.prototype.show.call(this)},load:function(t,e){this.annotations=t||[];for(var n=this.element.find("ul:first").empty(),i=0,r=this.annotations.length;i<r;i++){var o=this.annotations[i];this._annotationItem(o).appendTo(n).data("annotation",o)}this.show(e)},setRenderer:function(t){this.render=t},_annotationItem:function(t){var e=o(this.itemTemplate).clone(),n=e.find(".annotator-controls"),i=n.find(".annotator-link"),r=n.find(".annotator-edit"),a=n.find(".annotator-delete"),s=parseLinks(t.links||[],"alternate",{type:"text/html"});s.length>0&&void 0!==s[0].href&&null!==s[0].href?i.attr("href",s[0].href):i.remove();var l={};this.options.permitEdit(t)?(l.showEdit=function(){r.removeAttr("disabled")},l.hideEdit=function(){r.attr("disabled","disabled")}):r.remove(),this.options.permitDelete(t)?(l.showDelete=function(){a.removeAttr("disabled")},l.hideDelete=function(){a.attr("disabled","disabled")}):a.remove();for(var u=0,c=this.fields.length;u<c;u++){var d=this.fields[u],f=o(d.element).clone().appendTo(e)[0];d.load(f,t,l)}return e},addField:function(t){var e=o.extend({load:function(){}},t);return e.element=o("<div />")[0],this.fields.push(e),this},_onEditClick:function(t){var e=o(t.target).parents(".annotator-annotation").data("annotation");this.hide(),this.options.onEdit(e)},_onDeleteClick:function(t){if(window.confirm(a("Delete this annotation?"))){var e=o(t.target).parents(".annotator-annotation").data("annotation");this.hide(),this.options.onDelete(e)}},_onHighlightMouseover:function(t){if(!this.mouseDown){var e=this;this._startHideTimer(!0).done(function(){var n=o(t.target).parents(".annotator-hl").addBack().map(function(t,e){return o(e).data("annotation")}).toArray();e.load(n,r.mousePosition(t))})}},_startHideTimer:function(t){if(void 0!==t&&null!==t||(t=!1),this.hideTimer){if(!1===t||this.hideTimerActivity===t)return this.hideTimerDfd;this._clearHideTimer()}var e;if(e=t?this.options.activityDelay:this.options.inactivityDelay,this.hideTimerDfd=o.Deferred(),this.isShown()){var n=this;this.hideTimer=setTimeout(function(){n.hide(),n.hideTimerDfd.resolve(),n.hideTimer=null},e),this.hideTimerActivity=Boolean(t)}else this.hideTimer=null,this.hideTimerDfd.resolve(),this.hideTimerActivity=null;return this.hideTimerDfd.promise()},_clearHideTimer:function(){clearTimeout(this.hideTimer),this.hideTimer=null,this.hideTimerDfd.reject(),this.hideTimerActivity=null}});l.classes={showControls:"annotator-visible"},l.template=['<div class="annotator-outer annotator-viewer annotator-hide">',' <ul class="annotator-widget annotator-listing"></ul>',"</div>"].join("\n"),l.itemTemplate=['<li class="annotator-annotation annotator-item">',' <span class="annotator-controls">',' <a href="#"',' title="'+a("View as webpage")+'"',' class="annotator-link">'+a("View as webpage")+"</a>",' <button type="button"',' title="'+a("Edit")+'"',' class="annotator-edit">'+a("Edit")+"</button>",' <button type="button"',' title="'+a("Delete")+'"',' class="annotator-delete">'+a("Delete")+"</button>"," </span>","</li>"].join("\n"),l.options={defaultFields:!0,inactivityDelay:500,activityDelay:100,permitEdit:function(){return!1},permitDelete:function(){return!1},autoViewHighlights:null,onEdit:function(){},onDelete:function(){}},e.standalone=function(t){var n;return void 0!==t&&null!==t||(t={}),{start:function(i){var r=i.registry.getUtility("identityPolicy"),o=i.registry.getUtility("authorizationPolicy");void 0===t.onEdit&&(t.onEdit=function(t){i.annotations.update(t)}),void 0===t.onDelete&&(t.onDelete=function(t){i.annotations.delete(t)}),void 0===t.permitEdit&&(t.permitEdit=function(t){return o.permits("update",t,r.who())}),void 0===t.permitDelete&&(t.permitDelete=function(t){return o.permits("delete",t,r.who())}),n=new e.Viewer(t)},destroy:function(){n.destroy()}}}},function(t,e,n){"use strict"},function(t,e,n){"use strict";var i=n(4),r=function(t){return t&&t.__esModule?t:{default:t}}(i);r.default.bind("g u",function(){window.location.href=Routing.generate("homepage")}),r.default.bind("g s",function(){window.location.href=Routing.generate("starred")}),r.default.bind("g r",function(){window.location.href=Routing.generate("archive")}),r.default.bind("g a",function(){window.location.href=Routing.generate("all")}),r.default.bind("g t",function(){window.location.href=Routing.generate("tag")}),r.default.bind("g c",function(){window.location.href=Routing.generate("config")}),r.default.bind("g i",function(){window.location.href=Routing.generate("import")}),r.default.bind("g d",function(){window.location.href=Routing.generate("developer")}),r.default.bind("?",function(){window.location.href=Routing.generate("howto")}),r.default.bind("g l",function(){window.location.href=Routing.generate("fos_user_security_logout")})},function(t,e,n){!function(e){t.exports=e()}(function(){"use strict";var t={has:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},extend:function(t){for(var e=1;e<arguments.length;++e){var n=arguments[e];if(n)for(var i in n)t[i]=n[i]}return t}};return function(e,n){var i,r=this;i=e&&t.has(e,"constructor")?e.constructor:function(){return r.apply(this,arguments)},t.extend(i,r,n);var o=function(){this.constructor=i};return o.prototype=r.prototype,i.prototype=new o,e&&t.extend(i.prototype,e),i.__super__=r.prototype,i}})},function(t,e,n){(function(e,i){!function(e,n){t.exports=n()}(0,function(){"use strict";function objectOrFunction(t){return"function"==typeof t||"object"==typeof t&&null!==t}function isFunction(t){return"function"==typeof t}function setScheduler(t){s=t}function setAsap(t){l=t}function useVertxTimer(){return function(){a(flush)}}function useSetTimeout(){var t=setTimeout;return function(){return t(flush,1)}}function flush(){for(var t=0;t<o;t+=2){(0,p[t])(p[t+1]),p[t]=void 0,p[t+1]=void 0}o=0}function then(t,e){var n=arguments,i=this,r=new this.constructor(noop);void 0===r[v]&&makePromise(r);var o=i._state;return o?function(){var t=n[o-1];l(function(){return invokeCallback(o,r,t,i._result)})}():subscribe(i,r,t,e),r}function resolve(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var n=new e(noop);return _resolve(n,t),n}function noop(){}function selfFulfillment(){return new TypeError("You cannot resolve a promise with itself")}function cannotReturnOwn(){return new TypeError("A promises callback cannot return that same promise.")}function getThen(t){try{return t.then}catch(t){return w.error=t,w}}function tryThen(t,e,n,i){try{t.call(e,n,i)}catch(t){return t}}function handleForeignThenable(t,e,n){l(function(t){var i=!1,r=tryThen(n,e,function(n){i||(i=!0,e!==n?_resolve(t,n):fulfill(t,n))},function(e){i||(i=!0,_reject(t,e))},"Settle: "+(t._label||" unknown promise"));!i&&r&&(i=!0,_reject(t,r))},t)}function handleOwnThenable(t,e){e._state===y?fulfill(t,e._result):e._state===b?_reject(t,e._result):subscribe(e,void 0,function(e){return _resolve(t,e)},function(e){return _reject(t,e)})}function handleMaybeThenable(t,e,n){e.constructor===t.constructor&&n===then&&e.constructor.resolve===resolve?handleOwnThenable(t,e):n===w?_reject(t,w.error):void 0===n?fulfill(t,e):isFunction(n)?handleForeignThenable(t,e,n):fulfill(t,e)}function _resolve(t,e){t===e?_reject(t,selfFulfillment()):objectOrFunction(e)?handleMaybeThenable(t,e,getThen(e)):fulfill(t,e)}function publishRejection(t){t._onerror&&t._onerror(t._result),publish(t)}function fulfill(t,e){t._state===m&&(t._result=e,t._state=y,0!==t._subscribers.length&&l(publish,t))}function _reject(t,e){t._state===m&&(t._state=b,t._result=e,l(publishRejection,t))}function subscribe(t,e,n,i){var r=t._subscribers,o=r.length;t._onerror=null,r[o]=e,r[o+y]=n,r[o+b]=i,0===o&&t._state&&l(publish,t)}function publish(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var i=void 0,r=void 0,o=t._result,a=0;a<e.length;a+=3)i=e[a],r=e[a+n],i?invokeCallback(n,i,r,o):r(o);t._subscribers.length=0}}function ErrorObject(){this.error=null}function tryCatch(t,e){try{return t(e)}catch(t){return x.error=t,x}}function invokeCallback(t,e,n,i){var r=isFunction(n),o=void 0,a=void 0,s=void 0,l=void 0;if(r){if(o=tryCatch(n,i),o===x?(l=!0,a=o.error,o=null):s=!0,e===o)return void _reject(e,cannotReturnOwn())}else o=i,s=!0;e._state!==m||(r&&s?_resolve(e,o):l?_reject(e,a):t===y?fulfill(e,o):t===b&&_reject(e,o))}function initializePromise(t,e){try{e(function(e){_resolve(t,e)},function(e){_reject(t,e)})}catch(e){_reject(t,e)}}function nextId(){return T++}function makePromise(t){t[v]=T++,t._state=void 0,t._result=void 0,t._subscribers=[]}function Enumerator(t,e){this._instanceConstructor=t,this.promise=new t(noop),this.promise[v]||makePromise(this.promise),r(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?fulfill(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&fulfill(this.promise,this._result))):_reject(this.promise,validationError())}function validationError(){return new Error("Array Methods must be provided an Array")}function all(t){return new Enumerator(this,t).promise}function race(t){var e=this;return new e(r(t)?function(n,i){for(var r=t.length,o=0;o<r;o++)e.resolve(t[o]).then(n,i)}:function(t,e){return e(new TypeError("You must pass an array to race."))})}function reject(t){var e=this,n=new e(noop);return _reject(n,t),n}function needsResolver(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function needsNew(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function Promise(t){this[v]=nextId(),this._result=this._state=void 0,this._subscribers=[],noop!==t&&("function"!=typeof t&&needsResolver(),this instanceof Promise?initializePromise(this,t):needsNew())}function polyfill(){var t=void 0;if(void 0!==i)t=i;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var n=null;try{n=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===n&&!e.cast)return}t.Promise=Promise}var t=void 0;t=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var r=t,o=0,a=void 0,s=void 0,l=function(t,e){p[o]=t,p[o+1]=e,2===(o+=2)&&(s?s(flush):g())},u="undefined"!=typeof window?window:void 0,c=u||{},d=c.MutationObserver||c.WebKitMutationObserver,f="undefined"==typeof self&&void 0!==e&&"[object process]"==={}.toString.call(e),h="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,p=new Array(1e3),g=void 0;g=f?function(){return function(){return e.nextTick(flush)}}():d?function(){var t=0,e=new d(flush),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}():h?function(){var t=new MessageChannel;return t.port1.onmessage=flush,function(){return t.port2.postMessage(0)}}():void 0===u?function(){try{var t=n(39);return a=t.runOnLoop||t.runOnContext,useVertxTimer()}catch(t){return useSetTimeout()}}():useSetTimeout();var v=Math.random().toString(36).substring(16),m=void 0,y=1,b=2,w=new ErrorObject,x=new ErrorObject,T=0;return Enumerator.prototype._enumerate=function(){for(var t=this.length,e=this._input,n=0;this._state===m&&n<t;n++)this._eachEntry(e[n],n)},Enumerator.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,i=n.resolve;if(i===resolve){var r=getThen(t);if(r===then&&t._state!==m)this._settledAt(t._state,e,t._result);else if("function"!=typeof r)this._remaining--,this._result[e]=t;else if(n===Promise){var o=new n(noop);handleMaybeThenable(o,t,r),this._willSettleAt(o,e)}else this._willSettleAt(new n(function(e){return e(t)}),e)}else this._willSettleAt(i(t),e)},Enumerator.prototype._settledAt=function(t,e,n){var i=this.promise;i._state===m&&(this._remaining--,t===b?_reject(i,n):this._result[e]=n),0===this._remaining&&fulfill(i,this._result)},Enumerator.prototype._willSettleAt=function(t,e){var n=this;subscribe(t,void 0,function(t){return n._settledAt(y,e,t)},function(t){return n._settledAt(b,e,t)})},Promise.all=all,Promise.race=race,Promise.resolve=resolve,Promise.reject=reject,Promise._setScheduler=setScheduler,Promise._setAsap=setAsap,Promise._asap=l,Promise.prototype={constructor:Promise,then:then,catch:function(t){return this.then(null,t)}},polyfill(),Promise.polyfill=polyfill,Promise.Promise=Promise,Promise})}).call(e,n(37),n(2))},function(t,e,n){(function(){t.exports={xpath:n(20),Range:n(38)}}).call(this)},function(t,e,n){(function(){var e,i;e=n(0),i={},i.NodeTypes={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12},i.getFirstTextNodeNotBefore=function(t){var e;switch(t.nodeType){case i.NodeTypes.TEXT_NODE:return t;case i.NodeTypes.ELEMENT_NODE:if(null!=t.firstChild&&null!=(e=i.getFirstTextNodeNotBefore(t.firstChild)))return e}return t=t.nextSibling,null!=t?i.getFirstTextNodeNotBefore(t):null},i.getLastTextNodeUpTo=function(t){var e;switch(t.nodeType){case i.NodeTypes.TEXT_NODE:return t;case i.NodeTypes.ELEMENT_NODE:if(null!=t.lastChild&&null!=(e=i.getLastTextNodeUpTo(t.lastChild)))return e}return t=t.previousSibling,null!=t?i.getLastTextNodeUpTo(t):null},i.getTextNodes=function(t){var e;return e=function(t){var n;if(t&&t.nodeType!==i.NodeTypes.TEXT_NODE){if(n=[],t.nodeType!==i.NodeTypes.COMMENT_NODE)for(t=t.lastChild;t;)n.push(e(t)),t=t.previousSibling;return n.reverse()}return t},t.map(function(){return i.flatten(e(this))})},i.getGlobal=function(){return function(){return this}()},i.contains=function(t,e){var n;for(n=e;null!=n;){if(n===t)return!0;n=n.parentNode}return!1},i.flatten=function(t){var n;return(n=function(t){var i,r,o,a;for(r=[],o=0,a=t.length;o<a;o++)i=t[o],r=r.concat(i&&e.isArray(i)?n(i):i);return r})(t)},t.exports=i}).call(this)},function(t,e,n){(function(){var e,i,r,o,a,s,l,u,c,d;e=n(0),i=n(19),r=function(t,e,n){var i,r,a,s,l,u,c,d;null==e&&(e=document),null==n&&(n=null);try{return document.evaluate("."+t,e,n,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}catch(n){for(n,console.log("XPath evaluation failed."),console.log("Trying fallback..."),l=t.substring(1).split("/"),a=e,u=0,c=l.length;u<c;u++)s=l[u],d=s.split("["),r=d[0],i=d[1],i=null!=i?parseInt((null!=i?i.split("]"):void 0)[0]):1,a=o(a,r.toLowerCase(),i);return a}},u=function(t,n){var r;return r=t.map(function(){var t,r,o,a;for(o="",t=this;(null!=t?t.nodeType:void 0)===i.NodeTypes.ELEMENT_NODE&&t!==n;)a=t.tagName.replace(":","\\:"),r=e(t.parentNode).children(a).index(t)+1,r="["+r+"]",o="/"+t.tagName.toLowerCase()+r+o,t=t.parentNode;return o}),r.get()},c=function(t,e){var n,i,r,o;return n=function(t){var e,n;return e=s(t),n=l(t),e+"["+n+"]"},o=e,i=function(t){var e;for(e="";t!==o;){if(null==t)throw new Error("Called getPathTo on a node which was not a descendant of @rootNode. "+o);e=n(t)+"/"+e,t=t.parentNode}return e="/"+e,e=e.replace(/\/$/,"")},r=t.map(function(){return i(this)}),r.get()},o=function(t,e,n){var i,r,o,a,l;if(!t.hasChildNodes())throw new Error("XPath error: node has no children!");for(r=t.childNodes,o=0,a=0,l=r.length;a<l;a++)if(i=r[a],s(i)===e&&(o+=1)===n)return i;throw new Error("XPath error: wanted child not found.")},s=function(t){var e;switch(e=t.nodeName.toLowerCase()){case"#text":return"text()";case"#comment":return"comment()";case"#cdata-section":return"cdata-section()";default:return e}},l=function(t){var e,n;for(e=0,n=t;n;)n.nodeName===t.nodeName&&(e+=1),n=n.previousSibling;return e},a=function(t,e){var n;try{n=u(t,e)}catch(i){i,console.log("jQuery-based XPath construction failed! Falling back to manual."),n=c(t,e)}return n},d=function(t,n){var i,o,a,s;return null==n&&(n=document),e.isXMLDoc(document.documentElement)?(i=document.createNSResolver(null===document.ownerDocument?document.documentElement:document.ownerDocument.documentElement),a=r(t,n,i),a||(t=function(){var e,n,i,r;for(i=t.split("/"),r=[],e=0,n=i.length;e<n;e++)s=i[e],s&&-1===s.indexOf(":")?r.push(s.replace(/^([a-z]+)/,"xhtml:$1")):r.push(s);return r}().join("/"),o=document.lookupNamespaceURI(null),i=function(t){return"xhtml"===t?o:document.documentElement.getAttribute("xmlns:"+t)},a=r(t,n,i)),a):r(t,n)},t.exports={fromNode:a,toNode:d}}).call(this)},function(t,e,n){"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}var i=n(0),r=_interopRequireDefault(i),o=n(22),a=_interopRequireDefault(o);n(34),n(33),n(31),n(14),n(15);var s=n(30);(0,r.default)(document).ready(function(){if((0,r.default)("article").length){var t=new a.default.App;t.include(a.default.ui.main,{element:document.querySelector("article")});var e={permits:function(){return!0}};t.registry.registerUtility(e,"authorizationPolicy");var n=JSON.parse((0,r.default)("#annotationroutes").html());t.include(a.default.storage.http,r.default.extend({},n,{onError:function(t,e){if(!Object.prototype.hasOwnProperty.call(e,"responseJSON"))return void a.default.notification.banner("An error occurred","error");r.default.each(e.responseJSON.children,function(t,e){e.errors&&r.default.each(e.errors,function(t,e){a.default.notification.banner(e,"error")})})}})),t.start().then(function(){t.annotations.load({entry:n.entryId})}),(0,r.default)(window).scroll(function(){var t=(0,r.default)(window).scrollTop(),e=(0,r.default)(document).height(),i=t/e,o=Math.round(100*i)/100;(0,s.savePercent)(n.entryId,o)}),(0,s.retrievePercent)(n.entryId),(0,r.default)(window).resize(function(){(0,s.retrievePercent)(n.entryId,!0)})}})},function(t,e,n){"use strict";(function(t){n(35)(n(32));var i=n(23),r=n(1);e.App=i.App,e.authz=n(5),e.identity=n(6),e.notification=n(7),e.storage=n(8),e.ui=n(25),e.util=r,e.ext={};var o=t.wgxpath;void 0!==o&&null!==o&&"function"==typeof o.install&&o.install();var a=t.annotator;e.noConflict=function(){return t.annotator=a,this}}).call(e,n(2))},function(t,e,n){"use strict";function App(){this.modules=[],this.registry=new l.Registry,this._started=!1,this.registry.registerUtility(s.defaultNotifier,"notifier"),this.include(o.acl),this.include(a.simple),this.include(u.noop)}var i=n(16),r=n(17).Promise,o=n(5),a=n(6),s=n(7),l=n(24),u=n(8);App.prototype.include=function(t,e){var n=t(e);return"function"==typeof n.configure&&n.configure(this.registry),this.modules.push(n),this},App.prototype.start=function(){if(!this._started){this._started=!0;var t=this,e=this.registry;return this.authz=e.getUtility("authorizationPolicy"),this.ident=e.getUtility("identityPolicy"),this.notify=e.getUtility("notifier"),this.annotations=new u.StorageAdapter(e.getUtility("storage"),function(){return t.runHook.apply(t,arguments)}),this.runHook("start",[this])}},App.prototype.destroy=function(){return this.runHook("destroy")},App.prototype.runHook=function(t,e){for(var n=[],i=0,o=this.modules.length;i<o;i++){var a=this.modules[i];"function"==typeof a[t]&&n.push(a[t].apply(a,e))}return r.all(n)},App.extend=i,e.App=App},function(t,e,n){"use strict";function Registry(){this.utilities={}}function LookupError(t){this.name="LookupError",this.message='No utility registered for interface "'+t+'".'}Registry.prototype.registerUtility=function(t,e){this.utilities[e]=t},Registry.prototype.getUtility=function(t){var e=this.queryUtility(t);if(null===e)throw new LookupError(t);return e},Registry.prototype.queryUtility=function(t){var e=this.utilities[t];return void 0===e||null===e?null:e},LookupError.prototype=Object.create(Error.prototype),LookupError.prototype.constructor=LookupError,e.LookupError=LookupError,e.Registry=Registry},function(t,e,n){e.main=n(27).main,e.adder=n(9),e.editor=n(10),e.filter=n(26),e.highlighter=n(11),e.markdown=n(28),e.tags=n(29),e.textselector=n(12),e.viewer=n(13),e.widget=n(3)},function(t,e,n){"use strict";var i=n(1),r=i.$,o=i.gettext,a="annotator-filter",s=e.Filter=function Filter(t){this.options=r.extend(!0,{},Filter.options,t),this.classes=r.extend(!0,{},Filter.classes),this.element=r(Filter.html.element).appendTo(this.options.appendTo),this.filter=r(Filter.html.filter),this.filters=[],this.current=0;for(var e=0,n=this.options.filters.length;e<n;e++){var i=this.options.filters[e];this.addFilter(i)}this.updateHighlights();var s=".annotator-filter-property input",l=this;this.element.on("focus."+a,s,function(t){l._onFilterFocus(t)}).on("blur."+a,s,function(t){l._onFilterBlur(t)}).on("keyup."+a,s,function(t){l._onFilterKeyup(t)}).on("click."+a,".annotator-filter-previous",function(t){l._onPreviousClick(t)}).on("click."+a,".annotator-filter-next",function(t){l._onNextClick(t)}).on("click."+a,".annotator-filter-clear",function(t){l._onClearClick(t)}),this._insertSpacer(),this.options.addAnnotationFilter&&this.addFilter({label:o("Annotation"),property:"text"})};s.prototype.destroy=function(){var t=r("html"),e=parseInt(t.css("padding-top"),10)||0;t.css("padding-top",e-this.element.outerHeight()),this.element.off("."+a),this.element.remove()},s.prototype._insertSpacer=function(){var t=r("html"),e=parseInt(t.css("padding-top"),10)||0;return t.css("padding-top",e+this.element.outerHeight()),this},s.prototype.addFilter=function(t){for(var e=r.extend({label:"",property:"",isFiltered:this.options.isFiltered},t),n=!1,i=0,a=this.filters.length;i<a;i++){if(this.filters[i].property===e.property){n=!0;break}}return n||(e.id="annotator-filter-"+e.property,e.annotations=[],e.element=this.filter.clone().appendTo(this.element),e.element.find("label").html(e.label).attr("for",e.id),e.element.find("input").attr({id:e.id,placeholder:o("Filter by ")+e.label+"…"}),e.element.find("button").hide(),e.element.data("filter",e),this.filters.push(e)),this},s.prototype.updateFilter=function(t){t.annotations=[],this.updateHighlights(),this.resetHighlights();var e=r.trim(t.element.find("input").val());if(e){var n=this.highlights.map(function(){return r(this).data("annotation")});n=r.makeArray(n);for(var i=0,o=n.length;i<o;i++){var a=n[i],s=a[t.property];t.isFiltered(e,s)&&t.annotations.push(a)}this.filterHighlights()}},s.prototype.updateHighlights=function(){this.highlights=r(this.options.filterElement).find(".annotator-hl:visible"),this.filtered=this.highlights.not(this.classes.hl.hide)},s.prototype.filterHighlights=function(){var t=r.grep(this.filters,function(t){return Boolean(t.annotations.length)}),e=[];if(t.length>0&&(e=t[0].annotations),t.length>1){var n=[];r.each(t,function(){r.merge(n,this.annotations)});var i=[];e=[],r.each(n,function(){-1===r.inArray(this,i)?i.push(this):e.push(this)})}for(var o=this.highlights,a=0,s=e.length;a<s;a++)o=o.not(e[a]._local.highlights);return o.addClass(this.classes.hl.hide),this.filtered=this.highlights.not(this.classes.hl.hide),this},s.prototype.resetHighlights=function(){return this.highlights.removeClass(this.classes.hl.hide),this.filtered=this.highlights,this},s.prototype._onFilterFocus=function(t){var e=r(t.target);e.parent().addClass(this.classes.active),e.next("button").show()},s.prototype._onFilterBlur=function(t){if(!t.target.value){var e=r(t.target);e.parent().removeClass(this.classes.active),e.next("button").hide()}},s.prototype._onFilterKeyup=function(t){var e=r(t.target).parent().data("filter");e&&this.updateFilter(e)},s.prototype._findNextHighlight=function(t){if(0===this.highlights.length)return this;var e=-1,n=0,i="gt";t&&(e=0,n=-1,i="lt");var r=this.highlights.not("."+this.classes.hl.hide),o=r.filter("."+this.classes.hl.active);0===o.length&&(o=r.eq(e));var a=o.data("annotation"),s=r.index(o[0]),l=r.filter(":"+i+"("+s+")").not(a._local.highlights).eq(n);0===l.length&&(l=r.eq(n)),this._scrollToHighlight(l.data("annotation")._local.highlights)},s.prototype._onNextClick=function(){this._findNextHighlight()},s.prototype._onPreviousClick=function(){this._findNextHighlight(!0)},s.prototype._scrollToHighlight=function(t){t=r(t),this.highlights.removeClass(this.classes.hl.active),t.addClass(this.classes.hl.active),r("html, body").animate({scrollTop:t.offset().top-(this.element.height()+20)},150)},s.prototype._onClearClick=function(t){r(t.target).prev("input").val("").keyup().blur()},s.classes={active:"annotator-filter-active",hl:{hide:"annotator-hl-filtered",active:"annotator-hl-active"}},s.html={element:['<div class="annotator-filter">'," <strong>"+o("Navigate:")+"</strong>",' <span class="annotator-filter-navigation">',' <button type="button"',' class="annotator-filter-previous">'+o("Previous")+"</button>",' <button type="button"',' class="annotator-filter-next">'+o("Next")+"</button>"," </span>"," <strong>"+o("Filter by:")+"</strong>","</div>"].join("\n"),filter:['<span class="annotator-filter-property">'," <label></label>"," <input/>",' <button type="button"',' class="annotator-filter-clear">'+o("Clear")+"</button>","</span>"].join("\n")},s.options={appendTo:"body",filterElement:"body",filters:[],addAnnotationFilter:!0,isFiltered:function(t,e){if(!t||!e)return!1;for(var n=t.split(/\s+/),i=0,r=n.length;i<r;i++)if(-1===e.indexOf(n[i]))return!1;return!0}},e.standalone=function(t){var n=new e.Filter(t);return{destroy:function(){n.destroy()},annotationsLoaded:function(){n.updateHighlights()},annotationCreated:function(){n.updateHighlights()},annotationUpdated:function(){n.updateHighlights()},annotationDeleted:function(){n.updateHighlights()}}}},function(t,e,n){"use strict";(function(t){function trim(t){return"function"==typeof String.prototype.trim?String.prototype.trim.call(t):t.replace(/^[\s\xA0]+|[\s\xA0]+$/g,"")}function annotationFactory(t,e){return function(n){for(var i=[],r=[],o=0,a=n.length;o<a;o++){var s=n[o];i.push(trim(s.text())),r.push(s.serialize(t,e))}return{quote:i.join(" / "),ranges:r}}}function maxZIndex(t){for(var e=-1,n=0,r=t.length;n<r;n++){var o=i.$(t[n]);if("static"!==o.css("position")){var a=parseFloat(o.css("z-index"));a>e&&(e=a)}}return e}function injectDynamicStyle(){i.$("#annotator-dynamic-style").remove();var e=maxZIndex(i.$(t.document.body).find("*:not(annotator-adder):not(annotator-outer):not(annotator-notice):not(annotator-filter)").get());e=Math.max(e,1e3);var n=[".annotator-adder, .annotator-outer, .annotator-notice {"," z-index: "+(e+20)+";","}",".annotator-filter {"," z-index: "+(e+10)+";","}"].join("\n");i.$("<style>"+n+"</style>").attr("id","annotator-dynamic-style").attr("type","text/css").appendTo("head")}function removeDynamicStyle(){i.$("#annotator-dynamic-style").remove()}function addPermissionsCheckboxes(t,e,n){function createLoadCallback(t){return function(r,o){r=i.$(r).show();var a=e.who(),s=r.find("input");void 0!==a&&null!==a||r.hide(),n.permits("admin",o,a)||r.hide(),n.permits(t,o,null)?s.attr("checked","checked"):s.removeAttr("checked")}}function createSubmitCallback(t){return function(r,o){var a=e.who();void 0!==a&&null!==a&&(o.permissions||(o.permissions={}),i.$(r).find("input").is(":checked")?delete o.permissions[t]:o.permissions[t]=[n.authorizedUserId(a)])}}t.addField({type:"checkbox",label:u("Allow anyone to <strong>view</strong> this annotation"),load:createLoadCallback("read"),submit:createSubmitCallback("read")}),t.addField({type:"checkbox",label:u("Allow anyone to <strong>edit</strong> this annotation"),load:createLoadCallback("update"),submit:createSubmitCallback("update")})}function main(e){function start(t){var c=t.registry.getUtility("identityPolicy"),d=t.registry.getUtility("authorizationPolicy");u.adder=new r.Adder({onCreate:function(e){t.annotations.create(e)}}),u.adder.attach(),u.editor=new o.Editor({extensions:e.editorExtensions}),u.editor.attach(),addPermissionsCheckboxes(u.editor,c,d),u.highlighter=new a.Highlighter(e.element),u.textselector=new s.TextSelector(e.element,{onSelection:function(t,e){if(t.length>0){var r=n(t);u.interactionPoint=i.mousePosition(e),u.adder.load(r,u.interactionPoint)}else u.adder.hide()}}),u.viewer=new l.Viewer({onEdit:function(e){u.interactionPoint=i.$(u.viewer.element).css(["top","left"]),t.annotations.update(e)},onDelete:function(e){t.annotations.delete(e)},permitEdit:function(t){return d.permits("update",t,c.who())},permitDelete:function(t){return d.permits("delete",t,c.who())},autoViewHighlights:e.element,extensions:e.viewerExtensions}),u.viewer.attach(),injectDynamicStyle()}void 0!==e&&null!==e||(e={}),e.element=e.element||t.document.body,e.editorExtensions=e.editorExtensions||[],e.viewerExtensions=e.viewerExtensions||[];var n=annotationFactory(e.element,".annotator-hl"),u={interactionPoint:null};return{start:start,destroy:function(){u.adder.destroy(),u.editor.destroy(),u.highlighter.destroy(),u.textselector.destroy(),u.viewer.destroy(),removeDynamicStyle()},annotationsLoaded:function(t){u.highlighter.drawAll(t)},annotationCreated:function(t){u.highlighter.draw(t)},annotationDeleted:function(t){u.highlighter.undraw(t)},annotationUpdated:function(t){u.highlighter.redraw(t)},beforeAnnotationCreated:function(t){return u.editor.load(t,u.interactionPoint)},beforeAnnotationUpdated:function(t){return u.editor.load(t,u.interactionPoint)}}}var i=n(1),r=n(9),o=n(10),a=n(11),s=n(12),l=n(13),u=i.gettext;e.main=main}).call(e,n(2))},function(t,e,n){"use strict";(function(t){var i=n(1),r=i.gettext,o=e.render=function(e){var n=i.escapeHtml;return t.showdown&&"function"==typeof t.showdown.Converter&&(n=(new t.showdown.Converter).makeHtml),e.text?n(e.text):"<i>"+r("No comment")+"</i>"};e.viewerExtension=function(e){t.showdown&&"function"==typeof t.showdown.Converter||console.warn(r("To use the Markdown plugin, you must include Showdown into the page first.")),e.setRenderer(o)}}).call(e,n(2))},function(t,e,n){"use strict";function stringifyTags(t){return t.join(" ")}function parseTags(t){t=r.trim(t);var e=[];return t&&(e=t.split(/\s+/)),e}var i=n(1),r=i.$,o=i.gettext;e.viewerExtension=function(t){function updateViewer(t,e){t=r(t),e.tags&&r.isArray(e.tags)&&e.tags.length?t.addClass("annotator-tags").html(function(){return r.map(e.tags,function(t){return'<span class="annotator-tag">'+i.escapeHtml(t)+"</span>"}).join(" ")}):t.remove()}t.addField({load:updateViewer})},e.editorExtension=function(t){function updateField(t,e){var i="";e.tags&&(i=stringifyTags(e.tags)),n.val(i)}function setAnnotationTags(t,e){e.tags=parseTags(n.val())}var e=null,n=null;e=t.addField({label:o("Add some tags here")+"…",load:updateField,submit:setAnnotationTags}),n=r(e).find(":input")}},function(t,e,n){"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function supportsLocalStorage(){try{return"localStorage"in window&&null!==window.localStorage}catch(t){return!1}}function savePercent(t,e){return!!supportsLocalStorage()&&(localStorage["wallabag.article."+t+".percent"]=e,!0)}function retrievePercent(t,e){if(!supportsLocalStorage())return!1;var n=(0,r.default)(document).height(),i=localStorage["wallabag.article."+t+".percent"],o=n*i;return e||(0,r.default)("html,body").animate({scrollTop:o},"fast"),!0}Object.defineProperty(e,"__esModule",{value:!0}),e.retrievePercent=e.savePercent=void 0;var i=n(0),r=_interopRequireDefault(i);n(15),n(14);var o=n(36);_interopRequireDefault(o);e.savePercent=savePercent,e.retrievePercent=retrievePercent},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){var n={};t.exports=function(t,e){if(!n[t]){n[t]=!0;var i=document.createElement("style");i.setAttribute("type","text/css"),"textContent"in i?i.textContent=t:i.styleSheet.cssText=t;var r=document.getElementsByTagName("head")[0];e&&e.prepend?r.insertBefore(i,r.childNodes[0]):r.appendChild(i)}}},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return t[i].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";t.exports=n(3)},function(t,e){"use strict";!function(){Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(void 0===t||null===t)throw new TypeError("Cannot convert first argument to object");for(var e=Object(t),n=1;n<arguments.length;n++){var i=arguments[n];if(void 0!==i&&null!==i){i=Object(i);for(var r=Object.keys(Object(i)),o=0,a=r.length;o<a;o++){var s=r[o],l=Object.getOwnPropertyDescriptor(i,s);void 0!==l&&l.enumerable&&(e[s]=i[s])}}}return e}})}()},function(t,e){"use strict";t.exports=function(){var t={};return t.utf16to8=function(t){var e,n,i,r;for(e="",i=t.length,n=0;n<i;n++)r=t.charCodeAt(n),r>=1&&r<=127?e+=t.charAt(n):r>2047?(e+=String.fromCharCode(224|r>>12&15),e+=String.fromCharCode(128|r>>6&63),e+=String.fromCharCode(128|r>>0&63)):(e+=String.fromCharCode(192|r>>6&31),e+=String.fromCharCode(128|r>>0&63));return e},t.utf8to16=function(t){var e,n,i,r,o,a;for(e="",i=t.length,n=0;n<i;)switch((r=t.charCodeAt(n++))>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:e+=t.charAt(n-1);break;case 12:case 13:o=t.charCodeAt(n++),e+=String.fromCharCode((31&r)<<6|63&o);break;case 14:o=t.charCodeAt(n++),a=t.charCodeAt(n++),e+=String.fromCharCode((15&r)<<12|(63&o)<<6|(63&a)<<0)}return e},t}()},function(e,n,i){"use strict";i(1),i(4);var r=i(2),o=function(){function t(t){var e=new QRCode(t.typeNumber,t.correctLevel);e.addData(t.text),e.make();var n=document.createElement("canvas");n.width=t.width,n.height=t.height;var i=n.getContext("2d"),r=(t.width-2*t.padding)/e.getModuleCount(),o=(t.height-2*t.padding)/e.getModuleCount();if(t.reverse){var a="rgba(0, 0, 0, 0)";i.fillStyle=a,t.foreground=a}else i.fillStyle=t.background;i.fillRect(0,0,n.width,n.height);for(var s=0;s<e.getModuleCount();s++)for(var l=0;l<e.getModuleCount();l++){i.fillStyle=e.isDark(s,l)?t.foreground:t.background;var u=Math.ceil((l+1)*r)-Math.floor(l*r),c=Math.ceil((s+1)*r)-Math.floor(s*r);i.fillRect(Math.round(l*r)+t.padding,Math.round(s*o)+t.padding,u,c)}return n}var e={};return e.getQrBase64=function(e,n){"string"!=typeof e&&(e=""),"string"==typeof n?n={text:n}:"object"!=typeof n&&(n={}),n=Object.assign({padding:10,width:256,height:256,typeNumber:-1,correctLevel:QRErrorCorrectLevel.H,reverse:!1,background:"#ffffff",foreground:"#000000"},n);try{n.text=r.utf16to8(e)}catch(t){n.text=""+t}return t(n).toDataURL()},e.QRErrorCorrectLevel=QRErrorCorrectLevel,e}();!window.jrQrcode&&(window.jrQrcode=o),e.exports=o},function(t,e){function r(t){this.mode=s.MODE_8BIT_BYTE,this.data=t}function o(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=new Array}function n(t,e){if(void 0==t.length)throw new Error(t.length+"/"+e);for(var n=0;n<t.length&&0==t[n];)n++;this.num=new Array(t.length-n+e);for(var i=0;i<t.length-n;i++)this.num[i]=t[i+n]}function i(t,e){this.totalCount=t,this.dataCount=e}function a(){this.buffer=new Array,this.length=0}r.prototype={getLength:function(t){return this.data.length},write:function(t){for(var e=0;e<this.data.length;e++)t.put(this.data.charCodeAt(e),8)}},o.prototype={addData:function(t){var e=new r(t);this.dataList.push(e),this.dataCache=null},isDark:function(t,e){if(t<0||this.moduleCount<=t||e<0||this.moduleCount<=e)throw new Error(t+","+e);return this.modules[t][e]},getModuleCount:function(){return this.moduleCount},make:function(){if(this.typeNumber<1){var t=1;for(t=1;t<40;t++){for(var e=i.getRSBlocks(t,this.errorCorrectLevel),n=new a,r=0,o=0;o<e.length;o++)r+=e[o].dataCount;for(var o=0;o<this.dataList.length;o++){var s=this.dataList[o];n.put(s.mode,4),n.put(s.getLength(),c.getLengthInBits(s.mode,t)),s.write(n)}if(n.getLengthInBits()<=8*r)break}this.typeNumber=t}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(t,e){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var n=0;n<this.moduleCount;n++){this.modules[n]=new Array(this.moduleCount);for(var i=0;i<this.moduleCount;i++)this.modules[n][i]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(t,e),this.typeNumber>=7&&this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=o.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,e)},setupPositionProbePattern:function(t,e){for(var n=-1;n<=7;n++)if(!(t+n<=-1||this.moduleCount<=t+n))for(var i=-1;i<=7;i++)e+i<=-1||this.moduleCount<=e+i||(this.modules[t+n][e+i]=0<=n&&n<=6&&(0==i||6==i)||0<=i&&i<=6&&(0==n||6==n)||2<=n&&n<=4&&2<=i&&i<=4)},getBestMaskPattern:function(){for(var t=0,e=0,n=0;n<8;n++){this.makeImpl(!0,n);var i=c.getLostPoint(this);(0==n||t>i)&&(t=i,e=n)}return e},createMovieClip:function(t,e,n){var i=t.createEmptyMovieClip(e,n);this.make();for(var r=0;r<this.modules.length;r++)for(var o=1*r,a=0;a<this.modules[r].length;a++){var s=1*a,l=this.modules[r][a];l&&(i.beginFill(0,100),i.moveTo(s,o),i.lineTo(s+1,o),i.lineTo(s+1,o+1),i.lineTo(s,o+1),i.endFill())}return i},setupTimingPattern:function(){for(var t=8;t<this.moduleCount-8;t++)null==this.modules[t][6]&&(this.modules[t][6]=t%2==0);for(var e=8;e<this.moduleCount-8;e++)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0)},setupPositionAdjustPattern:function(){for(var t=c.getPatternPosition(this.typeNumber),e=0;e<t.length;e++)for(var n=0;n<t.length;n++){var i=t[e],r=t[n];if(null==this.modules[i][r])for(var o=-2;o<=2;o++)for(var a=-2;a<=2;a++)this.modules[i+o][r+a]=-2==o||2==o||-2==a||2==a||0==o&&0==a}},setupTypeNumber:function(t){for(var e=c.getBCHTypeNumber(this.typeNumber),n=0;n<18;n++){var i=!t&&1==(e>>n&1);this.modules[Math.floor(n/3)][n%3+this.moduleCount-8-3]=i}for(var n=0;n<18;n++){var i=!t&&1==(e>>n&1);this.modules[n%3+this.moduleCount-8-3][Math.floor(n/3)]=i}},setupTypeInfo:function(t,e){for(var n=this.errorCorrectLevel<<3|e,i=c.getBCHTypeInfo(n),r=0;r<15;r++){var o=!t&&1==(i>>r&1);r<6?this.modules[r][8]=o:r<8?this.modules[r+1][8]=o:this.modules[this.moduleCount-15+r][8]=o}for(var r=0;r<15;r++){var o=!t&&1==(i>>r&1);r<8?this.modules[8][this.moduleCount-r-1]=o:r<9?this.modules[8][15-r-1+1]=o:this.modules[8][15-r-1]=o}this.modules[this.moduleCount-8][8]=!t},mapData:function(t,e){for(var n=-1,i=this.moduleCount-1,r=7,o=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var s=0;s<2;s++)if(null==this.modules[i][a-s]){var l=!1;o<t.length&&(l=1==(t[o]>>>r&1));var u=c.getMask(e,i,a-s);u&&(l=!l),this.modules[i][a-s]=l,-1==--r&&(o++,r=7)}if((i+=n)<0||this.moduleCount<=i){i-=n,n=-n;break}}}},o.PAD0=236,o.PAD1=17,o.createData=function(t,e,n){for(var r=i.getRSBlocks(t,e),s=new a,l=0;l<n.length;l++){var u=n[l];s.put(u.mode,4),s.put(u.getLength(),c.getLengthInBits(u.mode,t)),u.write(s)}for(var d=0,l=0;l<r.length;l++)d+=r[l].dataCount;if(s.getLengthInBits()>8*d)throw new Error("code length overflow. ("+s.getLengthInBits()+">"+8*d+")");for(s.getLengthInBits()+4<=8*d&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(!1);for(;!(s.getLengthInBits()>=8*d)&&(s.put(o.PAD0,8),!(s.getLengthInBits()>=8*d));)s.put(o.PAD1,8);return o.createBytes(s,r)},o.createBytes=function(t,e){for(var i=0,r=0,o=0,a=new Array(e.length),s=new Array(e.length),l=0;l<e.length;l++){var u=e[l].dataCount,d=e[l].totalCount-u;r=Math.max(r,u),o=Math.max(o,d),a[l]=new Array(u);for(var f=0;f<a[l].length;f++)a[l][f]=255&t.buffer[f+i];i+=u;var h=c.getErrorCorrectPolynomial(d),p=new n(a[l],h.getLength()-1),g=p.mod(h);s[l]=new Array(h.getLength()-1);for(var f=0;f<s[l].length;f++){var v=f+g.getLength()-s[l].length;s[l][f]=v>=0?g.get(v):0}}for(var m=0,f=0;f<e.length;f++)m+=e[f].totalCount;for(var y=new Array(m),b=0,f=0;f<r;f++)for(var l=0;l<e.length;l++)f<a[l].length&&(y[b++]=a[l][f]);for(var f=0;f<o;f++)for(var l=0;l<e.length;l++)f<s[l].length&&(y[b++]=s[l][f]);return y};for(var s={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},l={L:1,M:0,Q:3,H:2},u={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},c={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(t){for(var e=t<<10;c.getBCHDigit(e)-c.getBCHDigit(c.G15)>=0;)e^=c.G15<<c.getBCHDigit(e)-c.getBCHDigit(c.G15);return(t<<10|e)^c.G15_MASK},getBCHTypeNumber:function(t){for(var e=t<<12;c.getBCHDigit(e)-c.getBCHDigit(c.G18)>=0;)e^=c.G18<<c.getBCHDigit(e)-c.getBCHDigit(c.G18);return t<<12|e},getBCHDigit:function(t){for(var e=0;0!=t;)e++,t>>>=1;return e},getPatternPosition:function(t){return c.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,e,n){switch(t){case u.PATTERN000:return(e+n)%2==0;case u.PATTERN001:return e%2==0;case u.PATTERN010:return n%3==0;case u.PATTERN011:return(e+n)%3==0;case u.PATTERN100:return(Math.floor(e/2)+Math.floor(n/3))%2==0;case u.PATTERN101:return e*n%2+e*n%3==0;case u.PATTERN110:return(e*n%2+e*n%3)%2==0;case u.PATTERN111:return(e*n%3+(e+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}},getErrorCorrectPolynomial:function(t){for(var e=new n([1],0),i=0;i<t;i++)e=e.multiply(new n([1,d.gexp(i)],0));return e},getLengthInBits:function(t,e){if(1<=e&&e<10)switch(t){case s.MODE_NUMBER:return 10;case s.MODE_ALPHA_NUM:return 9;case s.MODE_8BIT_BYTE:case s.MODE_KANJI:return 8;default:throw new Error("mode:"+t)}else if(e<27)switch(t){case s.MODE_NUMBER:return 12;case s.MODE_ALPHA_NUM:return 11;case s.MODE_8BIT_BYTE:return 16;case s.MODE_KANJI:return 10;default:throw new Error("mode:"+t)}else{if(!(e<41))throw new Error("type:"+e);switch(t){case s.MODE_NUMBER:return 14;case s.MODE_ALPHA_NUM:return 13;case s.MODE_8BIT_BYTE:return 16;case s.MODE_KANJI:return 12;default:throw new Error("mode:"+t)}}},getLostPoint:function(t){for(var e=t.getModuleCount(),n=0,i=0;i<e;i++)for(var r=0;r<e;r++){for(var o=0,a=t.isDark(i,r),s=-1;s<=1;s++)if(!(i+s<0||e<=i+s))for(var l=-1;l<=1;l++)r+l<0||e<=r+l||0==s&&0==l||a==t.isDark(i+s,r+l)&&o++;o>5&&(n+=3+o-5)}for(var i=0;i<e-1;i++)for(var r=0;r<e-1;r++){var u=0;t.isDark(i,r)&&u++,t.isDark(i+1,r)&&u++,t.isDark(i,r+1)&&u++,t.isDark(i+1,r+1)&&u++,0!=u&&4!=u||(n+=3)}for(var i=0;i<e;i++)for(var r=0;r<e-6;r++)t.isDark(i,r)&&!t.isDark(i,r+1)&&t.isDark(i,r+2)&&t.isDark(i,r+3)&&t.isDark(i,r+4)&&!t.isDark(i,r+5)&&t.isDark(i,r+6)&&(n+=40);for(var r=0;r<e;r++)for(var i=0;i<e-6;i++)t.isDark(i,r)&&!t.isDark(i+1,r)&&t.isDark(i+2,r)&&t.isDark(i+3,r)&&t.isDark(i+4,r)&&!t.isDark(i+5,r)&&t.isDark(i+6,r)&&(n+=40);for(var c=0,r=0;r<e;r++)for(var i=0;i<e;i++)t.isDark(i,r)&&c++;return n+=Math.abs(100*c/e/e-50)/5*10}},d={glog:function(t){if(t<1)throw new Error("glog("+t+")");return d.LOG_TABLE[t]},gexp:function(t){for(;t<0;)t+=255;for(;t>=256;)t-=255;return d.EXP_TABLE[t]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},f=0;f<8;f++)d.EXP_TABLE[f]=1<<f;for(var f=8;f<256;f++)d.EXP_TABLE[f]=d.EXP_TABLE[f-4]^d.EXP_TABLE[f-5]^d.EXP_TABLE[f-6]^d.EXP_TABLE[f-8];for(var f=0;f<255;f++)d.LOG_TABLE[d.EXP_TABLE[f]]=f;n.prototype={get:function(t){return this.num[t]},getLength:function(){return this.num.length},multiply:function(t){for(var e=new Array(this.getLength()+t.getLength()-1),i=0;i<this.getLength();i++)for(var r=0;r<t.getLength();r++)e[i+r]^=d.gexp(d.glog(this.get(i))+d.glog(t.get(r)));return new n(e,0)},mod:function(t){if(this.getLength()-t.getLength()<0)return this;for(var e=d.glog(this.get(0))-d.glog(t.get(0)),i=new Array(this.getLength()),r=0;r<this.getLength();r++)i[r]=this.get(r);for(var r=0;r<t.getLength();r++)i[r]^=d.gexp(d.glog(t.get(r))+e);return new n(i,0).mod(t)}},i.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],i.getRSBlocks=function(t,e){var n=i.getRsBlockTable(t,e);if(void 0==n)throw new Error("bad rs block @ typeNumber:"+t+"/errorCorrectLevel:"+e);for(var r=n.length/3,o=new Array,a=0;a<r;a++)for(var s=n[3*a+0],l=n[3*a+1],u=n[3*a+2],c=0;c<s;c++)o.push(new i(l,u));return o},i.getRsBlockTable=function(t,e){switch(e){case l.L:return i.RS_BLOCK_TABLE[4*(t-1)+0];case l.M:return i.RS_BLOCK_TABLE[4*(t-1)+1];case l.Q:return i.RS_BLOCK_TABLE[4*(t-1)+2];case l.H:return i.RS_BLOCK_TABLE[4*(t-1)+3];default:return}},a.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var n=0;n<e;n++)this.putBit(1==(t>>>e-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},window.QRCode=o,window.QRErrorCorrectLevel=l;try{t.exports={QRCode:o,QRErrorCorrectLevel:l}}catch(t){}}])})},function(t,e){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(t){if(n===setTimeout)return setTimeout(t,0);if((n===defaultSetTimout||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}function runClearTimeout(t){if(i===clearTimeout)return clearTimeout(t);if((i===defaultClearTimeout||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{return i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}function cleanUpNextTick(){s&&o&&(s=!1,o.length?a=o.concat(a):l=-1,a.length&&drainQueue())}function drainQueue(){if(!s){var t=runTimeout(cleanUpNextTick);s=!0;for(var e=a.length;e;){for(o=a,a=[];++l<e;)o&&o[l].run();l=-1,e=a.length}o=null,s=!1,runClearTimeout(t)}}function Item(t,e){this.fun=t,this.array=e}function noop(){}var n,i,r=t.exports={};!function(){try{n="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(t){n=defaultSetTimout}try{i="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(t){i=defaultClearTimeout}}();var o,a=[],s=!1,l=-1;r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];a.push(new Item(t,e)),1!==a.length||s||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=noop,r.addListener=noop,r.once=noop,r.off=noop,r.removeListener=noop,r.removeAllListeners=noop,r.emit=noop,r.prependListener=noop,r.prependOnceListener=noop,r.listeners=function(t){return[]},r.binding=function(t){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(t){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},function(t,e,n){(function(){var e,i,r,o,a={}.hasOwnProperty,s=function(t,e){function ctor(){this.constructor=t}for(var n in e)a.call(e,n)&&(t[n]=e[n]);return ctor.prototype=e.prototype,t.prototype=new ctor,t.__super__=e.prototype,t};o=n(20),r=n(19),e=n(0),i={},i.sniff=function(t){return null!=t.commonAncestorContainer?new i.BrowserRange(t):"string"==typeof t.start?new i.SerializedRange(t):t.start&&"object"==typeof t.start?new i.NormalizedRange(t):(console.error("Could not sniff range type"),!1)},i.RangeError=function(t){function RangeError(t,e,n){this.type=t,this.message=e,this.parent=null!=n?n:null,RangeError.__super__.constructor.call(this,this.message)}return s(RangeError,t),RangeError}(Error),i.BrowserRange=function(){function BrowserRange(t){this.commonAncestorContainer=t.commonAncestorContainer,this.startContainer=t.startContainer,this.startOffset=t.startOffset,this.endContainer=t.endContainer,this.endOffset=t.endOffset}return BrowserRange.prototype.normalize=function(t){var e,n;if(this.tainted)return console.error("You may only call normalize() once on a BrowserRange!"),!1;for(this.tainted=!0,n={},this._normalizeStart(n),this._normalizeEnd(n),e={},n.startOffset>0?n.start.nodeValue.length>n.startOffset?e.start=n.start.splitText(n.startOffset):e.start=n.start.nextSibling:e.start=n.start,n.start===n.end?(e.start.nodeValue.length>n.endOffset-n.startOffset&&e.start.splitText(n.endOffset-n.startOffset),e.end=e.start):(n.end.nodeValue.length>n.endOffset&&n.end.splitText(n.endOffset),e.end=n.end),e.commonAncestor=this.commonAncestorContainer;e.commonAncestor.nodeType!==r.NodeTypes.ELEMENT_NODE;)e.commonAncestor=e.commonAncestor.parentNode;return new i.NormalizedRange(e)},BrowserRange.prototype._normalizeStart=function(t){return this.startContainer.nodeType===r.NodeTypes.ELEMENT_NODE?(t.start=r.getFirstTextNodeNotBefore(this.startContainer.childNodes[this.startOffset]),t.startOffset=0):(t.start=this.startContainer,t.startOffset=this.startOffset)},BrowserRange.prototype._normalizeEnd=function(t){var e,n;if(this.endContainer.nodeType!==r.NodeTypes.ELEMENT_NODE)return t.end=this.endContainer,t.endOffset=this.endOffset;if(null!=(n=this.endContainer.childNodes[this.endOffset])){for(e=n;null!=e&&e.nodeType!==r.NodeTypes.TEXT_NODE;)e=e.firstChild;null!=e&&(t.end=e,t.endOffset=0)}return null==t.end?(n=this.endOffset?this.endContainer.childNodes[this.endOffset-1]:this.endContainer.previousSibling,t.end=r.getLastTextNodeUpTo(n),t.endOffset=t.end.nodeValue.length):void 0},BrowserRange.prototype.serialize=function(t,e){return this.normalize(t).serialize(t,e)},BrowserRange}(),i.NormalizedRange=function(){function NormalizedRange(t){this.commonAncestor=t.commonAncestor,this.start=t.start,this.end=t.end}return NormalizedRange.prototype.normalize=function(t){return this},NormalizedRange.prototype.limit=function(t){var n,i,r,o,a,s;if(n=e.grep(this.textNodes(),function(n){return n.parentNode===t||e.contains(t,n.parentNode)}),!n.length)return null;for(this.start=n[0],this.end=n[n.length-1],r=e(this.start).parents(),s=e(this.end).parents(),o=0,a=s.length;o<a;o++)if(i=s[o],-1!==r.index(i)){this.commonAncestor=i;break}return this},NormalizedRange.prototype.serialize=function(t,n){var a,s,l;return s=function(i,a){var s,l,u,c,d,f,h,p;for(c=n?e(i).parents(":not("+n+")").eq(0):e(i).parent(),d=o.fromNode(c,t)[0],f=r.getTextNodes(c),l=f.slice(0,f.index(i)),u=0,h=0,p=l.length;h<p;h++)s=l[h],u+=s.nodeValue.length;return a?[d,u+i.nodeValue.length]:[d,u]},l=s(this.start),a=s(this.end,!0),new i.SerializedRange({start:l[0],end:a[0],startOffset:l[1],endOffset:a[1]})},NormalizedRange.prototype.text=function(){var t;return function(){var e,n,i,r;for(i=this.textNodes(),r=[],e=0,n=i.length;e<n;e++)t=i[e],r.push(t.nodeValue);return r}.call(this).join("")},NormalizedRange.prototype.textNodes=function(){var t,n,i,o;return i=r.getTextNodes(e(this.commonAncestor)),o=[i.index(this.start),i.index(this.end)],n=o[0],t=o[1],e.makeArray(i.slice(n,+t+1||9e9))},NormalizedRange}(),i.SerializedRange=function(){function SerializedRange(t){this.start=t.start,this.startOffset=t.startOffset,this.end=t.end,this.endOffset=t.endOffset}return SerializedRange.prototype.normalize=function(t){var n,a,s,l,u,c,d,f,h,p,g,v,m,y;for(c={},m=["start","end"],h=0,g=m.length;h<g;h++){u=m[h];try{l=o.toNode(this[u],t)}catch(t){throw a=t,new i.RangeError(u,"Error while finding "+u+" node: "+this[u]+": "+a,a)}if(!l)throw new i.RangeError(u,"Couldn't find "+u+" node: "+this[u]);for(s=0,d=this[u+"Offset"],"end"===u&&(d-=1),y=r.getTextNodes(e(l)),p=0,v=y.length;p<v;p++){if(f=y[p],s+f.nodeValue.length>d){c[u+"Container"]=f,c[u+"Offset"]=this[u+"Offset"]-s;break}s+=f.nodeValue.length}if(null==c[u+"Offset"])throw new i.RangeError(u+"offset","Couldn't find offset "+this[u+"Offset"]+" in element "+this[u])}return n=null!=document.compareDocumentPosition?function(t,e){return t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY}:function(t,e){return t.contains(e)},e(c.startContainer).parents().each(function(){var t;if(t=c.endContainer.nodeType===r.NodeTypes.TEXT_NODE?c.endContainer.parentNode:c.endContainer,n(this,t))return c.commonAncestorContainer=this,!1}),new i.BrowserRange(c).normalize(t)},SerializedRange.prototype.serialize=function(t,e){return this.normalize(t).serialize(t,e)},SerializedRange.prototype.toObject=function(){return{start:this.start,startOffset:this.startOffset,end:this.end,endOffset:this.endOffset}},SerializedRange}(),t.exports=i}).call(this)},function(t,e){},,,,,function(t,e,n){"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}var i=n(4),r=_interopRequireDefault(i),o=n(0),a=_interopRequireDefault(o);(0,a.default)(document).ready(function(){(0,a.default)("#article").length>0&&(r.default.bind("o",function(){(0,a.default)("ul.side-nav a.original i")[0].click()}),r.default.bind("f",function(){(0,a.default)("ul.side-nav a.favorite i")[0].click()}),r.default.bind("a",function(){(0,a.default)("ul.side-nav a.markasread i")[0].click()}),r.default.bind("del",function(){(0,a.default)("ul.side-nav a.delete i")[0].click()}))})},function(t,e,n){"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function toggleFocus(t){t&&(0,a.default)(t).toggleClass("z-depth-4")}var i=n(4),r=_interopRequireDefault(i),o=n(0),a=_interopRequireDefault(o);(0,a.default)(document).ready(function(){var t=(0,a.default)("#content").find(".card"),e=t.length,n=0;"#prev"===window.location.hash&&(n=e-1);var i=t[n],o=(0,a.default)(".pagination");(0,a.default)("#content > div.quickstart").length>0||(0,a.default)("#username").length>0||(0,a.default)("#fos_user_registration_form_username").length>0||(0,a.default)("#username").length>0||(0,a.default)("#fos_user_registration_form_username").length>0||(toggleFocus(i),r.default.bind("g n",function(){return(0,a.default)("#nav-btn-add").trigger("click"),!1}),r.default.bind("s",function(){return(0,a.default)("#nav-btn-search").trigger("click"),!1}),r.default.bind("esc",function(){(0,a.default)(".close").trigger("click")}),r.default.bind("right",function(){if(n>=0&&n<e-1)return toggleFocus(i),n+=1,i=t[n],void toggleFocus(i);o.length>0&&o.find("li.next:not(.disabled)").length>0&&n===e-1&&(window.location.href=window.location.origin+(0,a.default)(o).find("li.next a").attr("href"))}),r.default.bind("left",function(){if(n>0&&n<e)return toggleFocus(i),n-=1,i=t[n],void toggleFocus(i);o.length>0&&(0,a.default)(o).find("li.prev:not(.disabled)").length>0&&0===n&&(window.location.href=window.location.origin+(0,a.default)(o).find("li.prev a").attr("href")+"#prev")}),r.default.bind("enter",function(){window.location.href=window.location.origin+(0,a.default)(i).find("span.card-title a").attr("href")}))})},function(t,e,n){"use strict";function initFilters(){(0,r.default)("div").is("#filters")&&((0,r.default)("#button_filters").show(),(0,r.default)(".js-filters-action").sideNav({edge:"right"}),(0,r.default)("#clear_form_filters").on("click",function(){return(0,r.default)("#filters input").val(""),(0,r.default)("#filters :checked").removeAttr("checked"),!1}))}function initExport(){(0,r.default)("div").is("#export")&&((0,r.default)("#button_export").show(),(0,r.default)(".js-export-action").sideNav({edge:"right"}))}Object.defineProperty(e,"__esModule",{value:!0}),e.initFilters=e.initExport=void 0;var i=n(0),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.initExport=initExport,e.initFilters=initFilters},,,function(t,e){},function(t,e){},function(e,i,a){(function(d,f){var h,g,g,h,b,g,b,h,T,h,b,g;if(void 0===C){var C;C=d=a(0)}C.easing.jswing=C.easing.swing,C.extend(C.easing,{def:"easeOutQuad",swing:function(t,e,n,i,r){return C.easing[C.easing.def](t,e,n,i,r)},easeInQuad:function(t,e,n,i,r){return i*(e/=r)*e+n},easeOutQuad:function(t,e,n,i,r){return-i*(e/=r)*(e-2)+n},easeInOutQuad:function(t,e,n,i,r){return(e/=r/2)<1?i/2*e*e+n:-i/2*(--e*(e-2)-1)+n},easeInCubic:function(t,e,n,i,r){return i*(e/=r)*e*e+n},easeOutCubic:function(t,e,n,i,r){return i*((e=e/r-1)*e*e+1)+n},easeInOutCubic:function(t,e,n,i,r){return(e/=r/2)<1?i/2*e*e*e+n:i/2*((e-=2)*e*e+2)+n},easeInQuart:function(t,e,n,i,r){return i*(e/=r)*e*e*e+n},easeOutQuart:function(t,e,n,i,r){return-i*((e=e/r-1)*e*e*e-1)+n},easeInOutQuart:function(t,e,n,i,r){return(e/=r/2)<1?i/2*e*e*e*e+n:-i/2*((e-=2)*e*e*e-2)+n},easeInQuint:function(t,e,n,i,r){return i*(e/=r)*e*e*e*e+n},easeOutQuint:function(t,e,n,i,r){return i*((e=e/r-1)*e*e*e*e+1)+n},easeInOutQuint:function(t,e,n,i,r){return(e/=r/2)<1?i/2*e*e*e*e*e+n:i/2*((e-=2)*e*e*e*e+2)+n},easeInSine:function(t,e,n,i,r){return-i*Math.cos(e/r*(Math.PI/2))+i+n},easeOutSine:function(t,e,n,i,r){return i*Math.sin(e/r*(Math.PI/2))+n},easeInOutSine:function(t,e,n,i,r){return-i/2*(Math.cos(Math.PI*e/r)-1)+n},easeInExpo:function(t,e,n,i,r){return 0==e?n:i*Math.pow(2,10*(e/r-1))+n},easeOutExpo:function(t,e,n,i,r){return e==r?n+i:i*(1-Math.pow(2,-10*e/r))+n},easeInOutExpo:function(t,e,n,i,r){return 0==e?n:e==r?n+i:(e/=r/2)<1?i/2*Math.pow(2,10*(e-1))+n:i/2*(2-Math.pow(2,-10*--e))+n},easeInCirc:function(t,e,n,i,r){return-i*(Math.sqrt(1-(e/=r)*e)-1)+n},easeOutCirc:function(t,e,n,i,r){return i*Math.sqrt(1-(e=e/r-1)*e)+n},easeInOutCirc:function(t,e,n,i,r){return(e/=r/2)<1?-i/2*(Math.sqrt(1-e*e)-1)+n:i/2*(Math.sqrt(1-(e-=2)*e)+1)+n},easeInElastic:function(t,e,n,i,r){var o=1.70158,a=0,s=i;if(0==e)return n;if(1==(e/=r))return n+i;if(a||(a=.3*r),s<Math.abs(i)){s=i;var o=a/4}else var o=a/(2*Math.PI)*Math.asin(i/s);return-s*Math.pow(2,10*(e-=1))*Math.sin((e*r-o)*(2*Math.PI)/a)+n},easeOutElastic:function(t,e,n,i,r){var o=1.70158,a=0,s=i;if(0==e)return n;if(1==(e/=r))return n+i;if(a||(a=.3*r),s<Math.abs(i)){s=i;var o=a/4}else var o=a/(2*Math.PI)*Math.asin(i/s);return s*Math.pow(2,-10*e)*Math.sin((e*r-o)*(2*Math.PI)/a)+i+n},easeInOutElastic:function(t,e,n,i,r){var o=1.70158,a=0,s=i;if(0==e)return n;if(2==(e/=r/2))return n+i;if(a||(a=r*(.3*1.5)),s<Math.abs(i)){s=i;var o=a/4}else var o=a/(2*Math.PI)*Math.asin(i/s);return e<1?s*Math.pow(2,10*(e-=1))*Math.sin((e*r-o)*(2*Math.PI)/a)*-.5+n:s*Math.pow(2,-10*(e-=1))*Math.sin((e*r-o)*(2*Math.PI)/a)*.5+i+n},easeInBack:function(t,e,n,i,r,o){return void 0==o&&(o=1.70158),i*(e/=r)*e*((o+1)*e-o)+n},easeOutBack:function(t,e,n,i,r,o){return void 0==o&&(o=1.70158),i*((e=e/r-1)*e*((o+1)*e+o)+1)+n},easeInOutBack:function(t,e,n,i,r,o){return void 0==o&&(o=1.70158),(e/=r/2)<1?i/2*(e*e*((1+(o*=1.525))*e-o))+n:i/2*((e-=2)*e*((1+(o*=1.525))*e+o)+2)+n},easeInBounce:function(t,e,n,i,r){return i-C.easing.easeOutBounce(t,r-e,0,i,r)+n},easeOutBounce:function(t,e,n,i,r){return(e/=r)<1/2.75?i*(7.5625*e*e)+n:e<2/2.75?i*(7.5625*(e-=1.5/2.75)*e+.75)+n:e<2.5/2.75?i*(7.5625*(e-=2.25/2.75)*e+.9375)+n:i*(7.5625*(e-=2.625/2.75)*e+.984375)+n},easeInOutBounce:function(t,e,n,i,r){return e<r/2?.5*C.easing.easeInBounce(t,2*e,0,i,r)+n:.5*C.easing.easeOutBounce(t,2*e-r,0,i,r)+.5*i+n}}),C.extend(C.easing,{easeInOutMaterial:function(t,e,n,i,r){return(e/=r/2)<1?i/2*e*e+n:i/4*((e-=2)*e*e+2)+n}}),C.Velocity?console.log("Velocity is already loaded. You may be needlessly importing Velocity again; note that Materialize includes Velocity."):(function(n){function t(t){var e=t.length,n=i.type(t);return"function"!==n&&!i.isWindow(t)&&(!(1!==t.nodeType||!e)||("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t))}if(!f){var i=function(t,e){return new i.fn.init(t,e)};i.isWindow=function(t){return null!=t&&t==t.window},i.type=function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?o[s.call(t)]||"object":typeof t},i.isArray=Array.isArray||function(t){return"array"===i.type(t)},i.isPlainObject=function(t){var e;if(!t||"object"!==i.type(t)||t.nodeType||i.isWindow(t))return!1;try{if(t.constructor&&!a.call(t,"constructor")&&!a.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}for(e in t);return void 0===e||a.call(t,e)},i.each=function(e,n,i){var r=0,o=e.length,a=t(e);if(i){if(a)for(;o>r&&!1!==n.apply(e[r],i);r++);else for(r in e)if(!1===n.apply(e[r],i))break}else if(a)for(;o>r&&!1!==n.call(e[r],r,e[r]);r++);else for(r in e)if(!1===n.call(e[r],r,e[r]))break;return e},i.data=function(t,e,n){if(void 0===n){var o=t[i.expando],a=o&&r[o];if(void 0===e)return a;if(a&&e in a)return a[e]}else if(void 0!==e){var o=t[i.expando]||(t[i.expando]=++i.uuid);return r[o]=r[o]||{},r[o][e]=n,n}},i.removeData=function(t,e){var n=t[i.expando],o=n&&r[n];o&&i.each(e,function(t,e){delete o[e]})},i.extend=function(){var t,e,n,r,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[l]||{},l++),"object"!=typeof s&&"function"!==i.type(s)&&(s={}),l===u&&(s=this,l--);u>l;l++)if(null!=(o=arguments[l]))for(r in o)t=s[r],n=o[r],s!==n&&(c&&n&&(i.isPlainObject(n)||(e=i.isArray(n)))?(e?(e=!1,a=t&&i.isArray(t)?t:[]):a=t&&i.isPlainObject(t)?t:{},s[r]=i.extend(c,a,n)):void 0!==n&&(s[r]=n));return s},i.queue=function(e,n,r){if(e){n=(n||"fx")+"queue";var o=i.data(e,n);return r?(!o||i.isArray(r)?o=i.data(e,n,function(e,n){var i=n||[];return null!=e&&(t(Object(e))?function(t,e){for(var n=+e.length,i=0,r=t.length;n>i;)t[r++]=e[i++];if(n!==n)for(;void 0!==e[i];)t[r++]=e[i++];t.length=r}(i,"string"==typeof e?[e]:e):[].push.call(i,e)),i}(r)):o.push(r),o):o||[]}},i.dequeue=function(t,e){i.each(t.nodeType?[t]:t,function(t,n){e=e||"fx";var r=i.queue(n,e),o=r.shift();"inprogress"===o&&(o=r.shift()),o&&("fx"===e&&r.unshift("inprogress"),o.call(n,function(){i.dequeue(n,e)}))})},i.fn=i.prototype={init:function(t){if(t.nodeType)return this[0]=t,this;throw new Error("Not a DOM node.")},offset:function(){var t=this[0].getBoundingClientRect?this[0].getBoundingClientRect():{top:0,left:0};return{top:t.top+(n.pageYOffset||document.scrollTop||0)-(document.clientTop||0),left:t.left+(n.pageXOffset||document.scrollLeft||0)-(document.clientLeft||0)}},position:function(){function e(){for(var t=this.offsetParent||document;t&&"html"===!t.nodeType.toLowerCase&&"static"===t.style.position;)t=t.offsetParent;return t||document}var t=this[0],e=e.apply(t),n=this.offset(),r=/^(?:body|html)$/i.test(e.nodeName)?{top:0,left:0}:i(e).offset();return n.top-=parseFloat(t.style.marginTop)||0,n.left-=parseFloat(t.style.marginLeft)||0,e.style&&(r.top+=parseFloat(e.style.borderTopWidth)||0,r.left+=parseFloat(e.style.borderLeftWidth)||0),{top:n.top-r.top,left:n.left-r.left}}};var r={};i.expando="velocity"+(new Date).getTime(),i.uuid=0;for(var o={},a=o.hasOwnProperty,s=o.toString,l="Boolean Number String Function Array Date RegExp Object Error".split(" "),u=0;u<l.length;u++)o["[object "+l[u]+"]"]=l[u].toLowerCase();i.fn.init.prototype=i.fn,n.Velocity={Utilities:i}}}(window),function(t){"object"==typeof e&&"object"==typeof e.exports?e.exports=t():(h=t,void 0!==(g="function"==typeof h?h.call(i,a,i,e):h)&&(e.exports=g))}(function(){return function(r,a,h,v){function n(t){for(var e=-1,n=t?t.length:0,i=[];++e<n;){var r=t[e];r&&i.push(r)}return i}function o(t){return w.isWrapped(t)?t=[].slice.call(t):w.isNode(t)&&(t=[t]),t}function i(t){var e=m.data(t,"velocity");return null===e?v:e}function s(t){return function(e){return Math.round(e*t)*(1/t)}}function l(t,e,n,r){function o(t,e){return 1-3*e+3*t}function i(t,e){return 3*e-6*t}function s(t){return 3*t}function l(t,e,n){return((o(e,n)*t+i(e,n))*t+s(e))*t}function u(t,e,n){return 3*o(e,n)*t*t+2*i(e,n)*t+s(e)}function c(e,i){for(var r=0;h>r;++r){var o=u(i,t,n);if(0===o)return i;i-=(l(i,t,n)-e)/o}return i}function p(){for(var e=0;b>e;++e)C[e]=l(e*w,t,n)}function f(e,i,r){var o,a,s=0;do{a=i+(r-i)/2,o=l(a,t,n)-e,o>0?r=a:i=a}while(Math.abs(o)>m&&++s<y);return a}function d(e){for(var i=0,r=1,o=b-1;r!=o&&C[r]<=e;++r)i+=w;--r;var a=(e-C[r])/(C[r+1]-C[r]),s=i+a*w,l=u(s,t,n);return l>=v?c(e,s):0==l?s:f(e,i,i+w)}function g(){k=!0,(t!=e||n!=r)&&p()}var h=4,v=.001,m=1e-7,y=10,b=11,w=1/(b-1),x="Float32Array"in a;if(4!==arguments.length)return!1;for(var T=0;4>T;++T)if("number"!=typeof arguments[T]||isNaN(arguments[T])||!isFinite(arguments[T]))return!1;t=Math.min(t,1),n=Math.min(n,1),t=Math.max(t,0),n=Math.max(n,0);var C=x?new Float32Array(b):new Array(b),k=!1,E=function(i){return k||g(),t===e&&n===r?i:0===i?0:1===i?1:l(d(i),e,r)};E.getControlPoints=function(){return[{x:t,y:e},{x:n,y:r}]};var S="generateBezier("+[t,e,n,r]+")";return E.toString=function(){return S},E}function u(t,e){var n=t;return w.isString(t)?E.Easings[t]||(n=!1):n=w.isArray(t)&&1===t.length?s.apply(null,t):w.isArray(t)&&2===t.length?S.apply(null,t.concat([e])):!(!w.isArray(t)||4!==t.length)&&l.apply(null,t),!1===n&&(n=E.Easings[E.defaults.easing]?E.defaults.easing:k),n}function c(t){if(t){var e=(new Date).getTime(),r=E.State.calls.length;r>1e4&&(E.State.calls=n(E.State.calls));for(var o=0;r>o;o++)if(E.State.calls[o]){var a=E.State.calls[o],s=a[0],l=a[2],u=a[3],d=!!u,f=null;u||(u=E.State.calls[o][3]=e-16);for(var h=Math.min((e-u)/l.duration,1),g=0,y=s.length;y>g;g++){var b=s[g],x=b.element;if(i(x)){var T=!1;if(l.display!==v&&null!==l.display&&"none"!==l.display){if("flex"===l.display){var C=["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex"];m.each(C,function(t,e){_.setPropertyValue(x,"display",e)})}_.setPropertyValue(x,"display",l.display)}l.visibility!==v&&"hidden"!==l.visibility&&_.setPropertyValue(x,"visibility",l.visibility);for(var k in b)if("element"!==k){var S,A=b[k],D=w.isString(A.easing)?E.Easings[A.easing]:A.easing;if(1===h)S=A.endValue;else{var O=A.endValue-A.startValue;if(S=A.startValue+O*D(h,l,O),!d&&S===A.currentValue)continue}if(A.currentValue=S,"tween"===k)f=S;else{if(_.Hooks.registered[k]){var N=_.Hooks.getRoot(k),M=i(x).rootPropertyValueCache[N];M&&(A.rootPropertyValue=M)}var I=_.setPropertyValue(x,k,A.currentValue+(0===parseFloat(S)?"":A.unitType),A.rootPropertyValue,A.scrollData);_.Hooks.registered[k]&&(i(x).rootPropertyValueCache[N]=_.Normalizations.registered[N]?_.Normalizations.registered[N]("extract",null,I[1]):I[1]),"transform"===I[0]&&(T=!0)}}l.mobileHA&&i(x).transformCache.translate3d===v&&(i(x).transformCache.translate3d="(0px, 0px, 0px)",T=!0),T&&_.flushTransformCache(x)}}l.display!==v&&"none"!==l.display&&(E.State.calls[o][2].display=!1),l.visibility!==v&&"hidden"!==l.visibility&&(E.State.calls[o][2].visibility=!1),l.progress&&l.progress.call(a[1],a[1],h,Math.max(0,u+l.duration-e),u,f),1===h&&p(o)}}E.State.isTicking&&P(c)}function p(t,e){if(!E.State.calls[t])return!1;for(var n=E.State.calls[t][0],r=E.State.calls[t][1],o=E.State.calls[t][2],a=E.State.calls[t][4],s=!1,l=0,u=n.length;u>l;l++){var c=n[l].element;if(e||o.loop||("none"===o.display&&_.setPropertyValue(c,"display",o.display),"hidden"===o.visibility&&_.setPropertyValue(c,"visibility",o.visibility)),!0!==o.loop&&(m.queue(c)[1]===v||!/\.velocityQueueEntryFlag/i.test(m.queue(c)[1]))&&i(c)){i(c).isAnimating=!1,i(c).rootPropertyValueCache={};var d=!1;m.each(_.Lists.transforms3D,function(t,e){var n=/^scale/.test(e)?1:0,r=i(c).transformCache[e];i(c).transformCache[e]!==v&&new RegExp("^\\("+n+"[^.]").test(r)&&(d=!0,delete i(c).transformCache[e])}),o.mobileHA&&(d=!0,delete i(c).transformCache.translate3d),d&&_.flushTransformCache(c),_.Values.removeClass(c,"velocity-animating")}if(!e&&o.complete&&!o.loop&&l===u-1)try{o.complete.call(r,r)}catch(t){setTimeout(function(){throw t},1)}a&&!0!==o.loop&&a(r),i(c)&&!0===o.loop&&!e&&(m.each(i(c).tweensContainer,function(t,e){/^rotate/.test(t)&&360===parseFloat(e.endValue)&&(e.endValue=0,e.startValue=360),/^backgroundPosition/.test(t)&&100===parseFloat(e.endValue)&&"%"===e.unitType&&(e.endValue=0,e.startValue=100)}),E(c,"reverse",{loop:!0,delay:o.delay})),!1!==o.queue&&m.dequeue(c,o.queue)}E.State.calls[t]=!1;for(var f=0,h=E.State.calls.length;h>f;f++)if(!1!==E.State.calls[f]){s=!0;break}!1===s&&(E.State.isTicking=!1,delete E.State.calls,E.State.calls=[])}var m,y=function(){if(h.documentMode)return h.documentMode;for(var t=7;t>4;t--){var e=h.createElement("div");if(e.innerHTML="\x3c!--[if IE "+t+"]><span></span><![endif]--\x3e",e.getElementsByTagName("span").length)return e=null,t}return v}(),b=function(){var t=0;return a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||function(e){var n,i=(new Date).getTime();return n=Math.max(0,16-(i-t)),t=i+n,setTimeout(function(){e(i+n)},n)}}(),w={isString:function(t){return"string"==typeof t},isArray:Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},isFunction:function(t){return"[object Function]"===Object.prototype.toString.call(t)},isNode:function(t){return t&&t.nodeType},isNodeList:function(t){return"object"==typeof t&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(t))&&t.length!==v&&(0===t.length||"object"==typeof t[0]&&t[0].nodeType>0)},isWrapped:function(t){return t&&(t.jquery||a.Zepto&&a.Zepto.zepto.isZ(t))},isSVG:function(t){return a.SVGElement&&t instanceof a.SVGElement},isEmptyObject:function(t){for(var e in t)return!1;return!0}},x=!1;if(r.fn&&r.fn.jquery?(m=r,x=!0):m=a.Velocity.Utilities,8>=y&&!x)throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");if(7>=y)return void(C.fn.velocity=C.fn.animate);var T=400,k="swing",E={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(navigator.userAgent),isChrome:a.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:h.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,calls:[]},CSS:{},Utilities:m,Redirects:{},Easings:{},Promise:a.Promise,defaults:{queue:"",duration:T,easing:k,begin:v,complete:v,progress:v,display:v,visibility:v,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0},init:function(t){m.data(t,"velocity",{isSVG:w.isSVG(t),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},hook:null,mock:!1,version:{major:1,minor:2,patch:2},debug:!1};a.pageYOffset!==v?(E.State.scrollAnchor=a,E.State.scrollPropertyLeft="pageXOffset",E.State.scrollPropertyTop="pageYOffset"):(E.State.scrollAnchor=h.documentElement||h.body.parentNode||h.body,E.State.scrollPropertyLeft="scrollLeft",E.State.scrollPropertyTop="scrollTop");var S=function(){function e(t){return-t.tension*t.x-t.friction*t.v}function t(t,n,i){var r={x:t.x+i.dx*n,v:t.v+i.dv*n,tension:t.tension,friction:t.friction};return{dx:r.v,dv:e(r)}}function r(n,i){var r={dx:n.v,dv:e(n)},o=t(n,.5*i,r),a=t(n,.5*i,o),s=t(n,i,a),l=1/6*(r.dx+2*(o.dx+a.dx)+s.dx),u=1/6*(r.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+l*i,n.v=n.v+u*i,n}return function a(t,e,n){var i,o,s,l={x:-1,v:0,tension:null,friction:null},u=[0],c=0;for(t=parseFloat(t)||500,e=parseFloat(e)||20,n=n||null,l.tension=t,l.friction=e,i=null!==n,i?(c=a(t,e),o=c/n*.016):o=.016;s=r(s||l,o),u.push(1+s.x),c+=16,Math.abs(s.x)>1e-4&&Math.abs(s.v)>1e-4;);return i?function(t){return u[t*(u.length-1)|0]}:c}}();E.Easings={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},spring:function(t){return 1-Math.cos(4.5*t*Math.PI)*Math.exp(6*-t)}},m.each([["ease",[.25,.1,.25,1]],["ease-in",[.42,0,1,1]],["ease-out",[0,0,.58,1]],["ease-in-out",[.42,0,.58,1]],["easeInSine",[.47,0,.745,.715]],["easeOutSine",[.39,.575,.565,1]],["easeInOutSine",[.445,.05,.55,.95]],["easeInQuad",[.55,.085,.68,.53]],["easeOutQuad",[.25,.46,.45,.94]],["easeInOutQuad",[.455,.03,.515,.955]],["easeInCubic",[.55,.055,.675,.19]],["easeOutCubic",[.215,.61,.355,1]],["easeInOutCubic",[.645,.045,.355,1]],["easeInQuart",[.895,.03,.685,.22]],["easeOutQuart",[.165,.84,.44,1]],["easeInOutQuart",[.77,0,.175,1]],["easeInQuint",[.755,.05,.855,.06]],["easeOutQuint",[.23,1,.32,1]],["easeInOutQuint",[.86,0,.07,1]],["easeInExpo",[.95,.05,.795,.035]],["easeOutExpo",[.19,1,.22,1]],["easeInOutExpo",[1,0,0,1]],["easeInCirc",[.6,.04,.98,.335]],["easeOutCirc",[.075,.82,.165,1]],["easeInOutCirc",[.785,.135,.15,.86]]],function(t,e){E.Easings[e[0]]=l.apply(null,e[1])});var _=E.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"]},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var t=0;t<_.Lists.colors.length;t++){var e="color"===_.Lists.colors[t]?"0 0 0 1":"255 255 255 1";_.Hooks.templates[_.Lists.colors[t]]=["Red Green Blue Alpha",e]}var n,i,r;if(y)for(n in _.Hooks.templates){i=_.Hooks.templates[n],r=i[0].split(" ");var o=i[1].match(_.RegEx.valueSplit);"Color"===r[0]&&(r.push(r.shift()),o.push(o.shift()),_.Hooks.templates[n]=[r.join(" "),o.join(" ")])}for(n in _.Hooks.templates){i=_.Hooks.templates[n],r=i[0].split(" ");for(var t in r){var a=n+r[t],s=t;_.Hooks.registered[a]=[n,s]}}},getRoot:function(t){var e=_.Hooks.registered[t];return e?e[0]:t},cleanRootPropertyValue:function(t,e){return _.RegEx.valueUnwrap.test(e)&&(e=e.match(_.RegEx.valueUnwrap)[1]),_.Values.isCSSNullValue(e)&&(e=_.Hooks.templates[t][1]),e},extractValue:function(t,e){var n=_.Hooks.registered[t];if(n){var i=n[0],r=n[1];return e=_.Hooks.cleanRootPropertyValue(i,e),e.toString().match(_.RegEx.valueSplit)[r]}return e},injectValue:function(t,e,n){var i=_.Hooks.registered[t];if(i){var r,o=i[0],a=i[1];return n=_.Hooks.cleanRootPropertyValue(o,n),r=n.toString().match(_.RegEx.valueSplit),r[a]=e,r.join(" ")}return n}},Normalizations:{registered:{clip:function(t,e,n){switch(t){case"name":return"clip";case"extract":var i;return _.RegEx.wrappedValueAlreadyExtracted.test(n)?i=n:(i=n.toString().match(_.RegEx.valueUnwrap),i=i?i[1].replace(/,(\s+)?/g," "):n),i;case"inject":return"rect("+n+")"}},blur:function(t,e,n){switch(t){case"name":return E.State.isFirefox?"filter":"-webkit-filter";case"extract":var i=parseFloat(n);if(!i&&0!==i){var r=n.toString().match(/blur\(([0-9]+[A-z]+)\)/i);i=r?r[1]:0}return i;case"inject":return parseFloat(n)?"blur("+n+")":"none"}},opacity:function(t,e,n){if(8>=y)switch(t){case"name":return"filter";case"extract":var i=n.toString().match(/alpha\(opacity=(.*)\)/i);return n=i?i[1]/100:1;case"inject":return e.style.zoom=1,parseFloat(n)>=1?"":"alpha(opacity="+parseInt(100*parseFloat(n),10)+")"}else switch(t){case"name":return"opacity";case"extract":case"inject":return n}}},register:function(){9>=y||E.State.isGingerbread||(_.Lists.transformsBase=_.Lists.transformsBase.concat(_.Lists.transforms3D));for(var t=0;t<_.Lists.transformsBase.length;t++)!function(){var e=_.Lists.transformsBase[t];_.Normalizations.registered[e]=function(t,n,r){switch(t){case"name":return"transform";case"extract":return i(n)===v||i(n).transformCache[e]===v?/^scale/i.test(e)?1:0:i(n).transformCache[e].replace(/[()]/g,"");case"inject":var o=!1;switch(e.substr(0,e.length-1)){case"translate":o=!/(%|px|em|rem|vw|vh|\d)$/i.test(r);break;case"scal":case"scale":E.State.isAndroid&&i(n).transformCache[e]===v&&1>r&&(r=1),o=!/(\d)$/i.test(r);break;case"skew":o=!/(deg|\d)$/i.test(r);break;case"rotate":o=!/(deg|\d)$/i.test(r)}return o||(i(n).transformCache[e]="("+r+")"),i(n).transformCache[e]}}}();for(var t=0;t<_.Lists.colors.length;t++)!function(){var e=_.Lists.colors[t];_.Normalizations.registered[e]=function(t,n,i){switch(t){case"name":return e;case"extract":var r;if(_.RegEx.wrappedValueAlreadyExtracted.test(i))r=i;else{var o,a={black:"rgb(0, 0, 0)",blue:"rgb(0, 0, 255)",gray:"rgb(128, 128, 128)",green:"rgb(0, 128, 0)",red:"rgb(255, 0, 0)",white:"rgb(255, 255, 255)"};/^[A-z]+$/i.test(i)?o=a[i]!==v?a[i]:a.black:_.RegEx.isHex.test(i)?o="rgb("+_.Values.hexToRgb(i).join(" ")+")":/^rgba?\(/i.test(i)||(o=a.black),r=(o||i).toString().match(_.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g," ")}return 8>=y||3!==r.split(" ").length||(r+=" 1"),r;case"inject":return 8>=y?4===i.split(" ").length&&(i=i.split(/\s+/).slice(0,3).join(" ")):3===i.split(" ").length&&(i+=" 1"),(8>=y?"rgb":"rgba")+"("+i.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")"}}}()}},Names:{camelCase:function(t){return t.replace(/-(\w)/g,function(t,e){return e.toUpperCase()})},SVGAttribute:function(t){var e="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(y||E.State.isAndroid&&!E.State.isChrome)&&(e+="|transform"),new RegExp("^("+e+")$","i").test(t)},prefixCheck:function(t){if(E.State.prefixMatches[t])return[E.State.prefixMatches[t],!0];for(var e=["","Webkit","Moz","ms","O"],n=0,i=e.length;i>n;n++){var r;if(r=0===n?t:e[n]+t.replace(/^\w/,function(t){return t.toUpperCase()}),w.isString(E.State.prefixElement.style[r]))return E.State.prefixMatches[t]=r,[r,!0]}return[t,!1]}},Values:{hexToRgb:function(t){var e,n=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;return t=t.replace(n,function(t,e,n,i){return e+e+n+n+i+i}),e=i.exec(t),e?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]:[0,0,0]},isCSSNullValue:function(t){return 0==t||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(t)},getUnitType:function(t){return/^(rotate|skew)/i.test(t)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(t)?"":"px"},getDisplayType:function(t){var e=t&&t.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(e)?"inline":/^(li)$/i.test(e)?"list-item":/^(tr)$/i.test(e)?"table-row":/^(table)$/i.test(e)?"table":/^(tbody)$/i.test(e)?"table-row-group":"block"},addClass:function(t,e){t.classList?t.classList.add(e):t.className+=(t.className.length?" ":"")+e},removeClass:function(t,e){t.classList?t.classList.remove(e):t.className=t.className.toString().replace(new RegExp("(^|\\s)"+e.split(" ").join("|")+"(\\s|$)","gi")," ")}},getPropertyValue:function(t,e,r,o){function s(t,e){function n(){l&&_.setPropertyValue(t,"display","none")}var r=0;if(8>=y)r=m.css(t,e);else{var l=!1;if(/^(width|height)$/.test(e)&&0===_.getPropertyValue(t,"display")&&(l=!0,_.setPropertyValue(t,"display",_.Values.getDisplayType(t))),!o){if("height"===e&&"border-box"!==_.getPropertyValue(t,"boxSizing").toString().toLowerCase()){var u=t.offsetHeight-(parseFloat(_.getPropertyValue(t,"borderTopWidth"))||0)-(parseFloat(_.getPropertyValue(t,"borderBottomWidth"))||0)-(parseFloat(_.getPropertyValue(t,"paddingTop"))||0)-(parseFloat(_.getPropertyValue(t,"paddingBottom"))||0);return n(),u}if("width"===e&&"border-box"!==_.getPropertyValue(t,"boxSizing").toString().toLowerCase()){var c=t.offsetWidth-(parseFloat(_.getPropertyValue(t,"borderLeftWidth"))||0)-(parseFloat(_.getPropertyValue(t,"borderRightWidth"))||0)-(parseFloat(_.getPropertyValue(t,"paddingLeft"))||0)-(parseFloat(_.getPropertyValue(t,"paddingRight"))||0);return n(),c}}var d;d=i(t)===v?a.getComputedStyle(t,null):i(t).computedStyle?i(t).computedStyle:i(t).computedStyle=a.getComputedStyle(t,null),"borderColor"===e&&(e="borderTopColor"),r=9===y&&"filter"===e?d.getPropertyValue(e):d[e],(""===r||null===r)&&(r=t.style[e]),n()}if("auto"===r&&/^(top|right|bottom|left)$/i.test(e)){var f=s(t,"position");("fixed"===f||"absolute"===f&&/top|left/i.test(e))&&(r=m(t).position()[e]+"px")}return r}var l;if(_.Hooks.registered[e]){var u=e,c=_.Hooks.getRoot(u);r===v&&(r=_.getPropertyValue(t,_.Names.prefixCheck(c)[0])),_.Normalizations.registered[c]&&(r=_.Normalizations.registered[c]("extract",t,r)),l=_.Hooks.extractValue(u,r)}else if(_.Normalizations.registered[e]){var d,f;d=_.Normalizations.registered[e]("name",t),"transform"!==d&&(f=s(t,_.Names.prefixCheck(d)[0]),_.Values.isCSSNullValue(f)&&_.Hooks.templates[e]&&(f=_.Hooks.templates[e][1])),l=_.Normalizations.registered[e]("extract",t,f)}if(!/^[\d-]/.test(l))if(i(t)&&i(t).isSVG&&_.Names.SVGAttribute(e))if(/^(height|width)$/i.test(e))try{l=t.getBBox()[e]}catch(t){l=0}else l=t.getAttribute(e);else l=s(t,_.Names.prefixCheck(e)[0]);return _.Values.isCSSNullValue(l)&&(l=0),E.debug>=2&&console.log("Get "+e+": "+l),l},setPropertyValue:function(t,e,n,r,o){var s=e;if("scroll"===e)o.container?o.container["scroll"+o.direction]=n:"Left"===o.direction?a.scrollTo(n,o.alternateValue):a.scrollTo(o.alternateValue,n);else if(_.Normalizations.registered[e]&&"transform"===_.Normalizations.registered[e]("name",t))_.Normalizations.registered[e]("inject",t,n),s="transform",n=i(t).transformCache[e];else{if(_.Hooks.registered[e]){var l=e,u=_.Hooks.getRoot(e);r=r||_.getPropertyValue(t,u),n=_.Hooks.injectValue(l,n,r),e=u}if(_.Normalizations.registered[e]&&(n=_.Normalizations.registered[e]("inject",t,n),e=_.Normalizations.registered[e]("name",t)),s=_.Names.prefixCheck(e)[0],8>=y)try{t.style[s]=n}catch(t){E.debug&&console.log("Browser does not support ["+n+"] for ["+s+"]")}else i(t)&&i(t).isSVG&&_.Names.SVGAttribute(e)?t.setAttribute(e,n):t.style[s]=n;E.debug>=2&&console.log("Set "+e+" ("+s+"): "+n)}return[s,n]},flushTransformCache:function(e){function t(t){return parseFloat(_.getPropertyValue(e,t))}var n="";if((y||E.State.isAndroid&&!E.State.isChrome)&&i(e).isSVG){var r={translate:[t("translateX"),t("translateY")],skewX:[t("skewX")],skewY:[t("skewY")],scale:1!==t("scale")?[t("scale"),t("scale")]:[t("scaleX"),t("scaleY")],rotate:[t("rotateZ"),0,0]};m.each(i(e).transformCache,function(t){/^translate/i.test(t)?t="translate":/^scale/i.test(t)?t="scale":/^rotate/i.test(t)&&(t="rotate"),r[t]&&(n+=t+"("+r[t].join(" ")+") ",delete r[t])})}else{var o,a;m.each(i(e).transformCache,function(t){return o=i(e).transformCache[t],"transformPerspective"===t?(a=o,!0):(9===y&&"rotateZ"===t&&(t="rotate"),void(n+=t+o+" "))}),a&&(n="perspective"+a+" "+n)}_.setPropertyValue(e,"transform",n)}};_.Hooks.register(),_.Normalizations.register(),E.hook=function(t,e,n){var r=v;return t=o(t),m.each(t,function(t,o){if(i(o)===v&&E.init(o),n===v)r===v&&(r=E.CSS.getPropertyValue(o,e));else{var a=E.CSS.setPropertyValue(o,e,n);"transform"===a[0]&&E.CSS.flushTransformCache(o),r=a}}),r};var A=function(){function e(){return t?S.promise||null:r}function n(){function e(e){function p(t,e){var i=v,o=v,a=v;return w.isArray(t)?(i=t[0],!w.isArray(t[1])&&/^[\d-]/.test(t[1])||w.isFunction(t[1])||_.RegEx.isHex.test(t[1])?a=t[1]:(w.isString(t[1])&&!_.RegEx.isHex.test(t[1])||w.isArray(t[1]))&&(o=e?t[1]:u(t[1],r.duration),t[2]!==v&&(a=t[2]))):i=t,e||(o=o||r.easing),w.isFunction(i)&&(i=i.call(n,x,b)),w.isFunction(a)&&(a=a.call(n,x,b)),[i||0,o,a]}function d(t,e){var n,i;return i=(e||"0").toString().toLowerCase().replace(/[%A-z]+$/,function(t){return n=t,""}),n||(n=_.Values.getUnitType(t)),[i,n]}if(r.begin&&0===x)try{r.begin.call(l,l)}catch(t){setTimeout(function(){throw t},1)}if("scroll"===P){var s,y,T,C=/^x$/i.test(r.axis)?"Left":"Top",k=parseFloat(r.offset)||0;r.container?w.isWrapped(r.container)||w.isNode(r.container)?(r.container=r.container[0]||r.container,s=r.container["scroll"+C],T=s+m(n).position()[C.toLowerCase()]+k):r.container=null:(s=E.State.scrollAnchor[E.State["scrollProperty"+C]],y=E.State.scrollAnchor[E.State["scrollProperty"+("Left"===C?"Top":"Left")]],T=m(n).offset()[C.toLowerCase()]+k),o={scroll:{rootPropertyValue:!1,startValue:s,currentValue:s,endValue:T,unitType:"",easing:r.easing,scrollData:{container:r.container,direction:C,alternateValue:y}},element:n},E.debug&&console.log("tweensContainer (scroll): ",o.scroll,n)}else if("reverse"===P){if(!i(n).tweensContainer)return void m.dequeue(n,r.queue);"none"===i(n).opts.display&&(i(n).opts.display="auto"),"hidden"===i(n).opts.visibility&&(i(n).opts.visibility="visible"),i(n).opts.loop=!1,i(n).opts.begin=null,i(n).opts.complete=null,g.easing||delete r.easing,g.duration||delete r.duration,r=m.extend({},i(n).opts,r);var A=m.extend(!0,{},i(n).tweensContainer);for(var D in A)if("element"!==D){var O=A[D].startValue;A[D].startValue=A[D].currentValue=A[D].endValue,A[D].endValue=O,w.isEmptyObject(g)||(A[D].easing=r.easing),E.debug&&console.log("reverse tweensContainer ("+D+"): "+JSON.stringify(A[D]),n)}o=A}else if("start"===P){var A;i(n).tweensContainer&&!0===i(n).isAnimating&&(A=i(n).tweensContainer),m.each(f,function(t,e){if(RegExp("^"+_.Lists.colors.join("$|^")+"$").test(t)){var n=p(e,!0),i=n[0],r=n[1],o=n[2];if(_.RegEx.isHex.test(i)){for(var a=["Red","Green","Blue"],s=_.Values.hexToRgb(i),l=o?_.Values.hexToRgb(o):v,u=0;u<a.length;u++){var c=[s[u]];r&&c.push(r),l!==v&&c.push(l[u]),f[t+a[u]]=c}delete f[t]}}});for(var N in f){var M=p(f[N]),I=M[0],z=M[1],F=M[2];N=_.Names.camelCase(N);var q=_.Hooks.getRoot(N),H=!1;if(i(n).isSVG||"tween"===q||!1!==_.Names.prefixCheck(q)[1]||_.Normalizations.registered[q]!==v){(r.display!==v&&null!==r.display&&"none"!==r.display||r.visibility!==v&&"hidden"!==r.visibility)&&/opacity|filter/.test(N)&&!F&&0!==I&&(F=0),r._cacheValues&&A&&A[N]?(F===v&&(F=A[N].endValue+A[N].unitType),H=i(n).rootPropertyValueCache[q]):_.Hooks.registered[N]?F===v?(H=_.getPropertyValue(n,q),F=_.getPropertyValue(n,N,H)):H=_.Hooks.templates[q][1]:F===v&&(F=_.getPropertyValue(n,N));var j,W,B,V=!1;if(j=d(N,F),F=j[0],B=j[1],j=d(N,I),I=j[0].replace(/^([+-\/*])=/,function(t,e){return V=e,""}),W=j[1],F=parseFloat(F)||0,I=parseFloat(I)||0,"%"===W&&(/^(fontSize|lineHeight)$/.test(N)?(I/=100,W="em"):/^scale/.test(N)?(I/=100,W=""):/(Red|Green|Blue)$/i.test(N)&&(I=I/100*255,W="")),/[\/*]/.test(V))W=B;else if(B!==W&&0!==F)if(0===I)W=B;else{t=t||function(){var t={myParent:n.parentNode||h.body,position:_.getPropertyValue(n,"position"),fontSize:_.getPropertyValue(n,"fontSize")},e=t.position===R.lastPosition&&t.myParent===R.lastParent,r=t.fontSize===R.lastFontSize;R.lastParent=t.myParent,R.lastPosition=t.position,R.lastFontSize=t.fontSize;var o=100,s={};if(r&&e)s.emToPx=R.lastEmToPx,s.percentToPxWidth=R.lastPercentToPxWidth,s.percentToPxHeight=R.lastPercentToPxHeight;else{var l=i(n).isSVG?h.createElementNS("http://www.w3.org/2000/svg","rect"):h.createElement("div");E.init(l),t.myParent.appendChild(l),m.each(["overflow","overflowX","overflowY"],function(t,e){E.CSS.setPropertyValue(l,e,"hidden")}),E.CSS.setPropertyValue(l,"position",t.position),E.CSS.setPropertyValue(l,"fontSize",t.fontSize),E.CSS.setPropertyValue(l,"boxSizing","content-box"),m.each(["minWidth","maxWidth","width","minHeight","maxHeight","height"],function(t,e){E.CSS.setPropertyValue(l,e,o+"%")}),E.CSS.setPropertyValue(l,"paddingLeft",o+"em"),s.percentToPxWidth=R.lastPercentToPxWidth=(parseFloat(_.getPropertyValue(l,"width",null,!0))||1)/o,s.percentToPxHeight=R.lastPercentToPxHeight=(parseFloat(_.getPropertyValue(l,"height",null,!0))||1)/o,s.emToPx=R.lastEmToPx=(parseFloat(_.getPropertyValue(l,"paddingLeft"))||1)/o,t.myParent.removeChild(l)}return null===R.remToPx&&(R.remToPx=parseFloat(_.getPropertyValue(h.body,"fontSize"))||16),null===R.vwToPx&&(R.vwToPx=parseFloat(a.innerWidth)/100,R.vhToPx=parseFloat(a.innerHeight)/100),s.remToPx=R.remToPx,s.vwToPx=R.vwToPx,s.vhToPx=R.vhToPx,E.debug>=1&&console.log("Unit ratios: "+JSON.stringify(s),n),s}();var X=/margin|padding|left|right|width|text|word|letter/i.test(N)||/X$/.test(N)||"x"===N?"x":"y";switch(B){case"%":F*="x"===X?t.percentToPxWidth:t.percentToPxHeight;break;case"px":break;default:F*=t[B+"ToPx"]}switch(W){case"%":F*=1/("x"===X?t.percentToPxWidth:t.percentToPxHeight);break;case"px":break;default:F*=1/t[W+"ToPx"]}}switch(V){case"+":I=F+I;break;case"-":I=F-I;break;case"*":I*=F;break;case"/":I=F/I}o[N]={rootPropertyValue:H,startValue:F,currentValue:F,endValue:I,unitType:W,easing:z},E.debug&&console.log("tweensContainer ("+N+"): "+JSON.stringify(o[N]),n)}else E.debug&&console.log("Skipping ["+q+"] due to a lack of browser support.")}o.element=n}o.element&&(_.Values.addClass(n,"velocity-animating"),L.push(o),""===r.queue&&(i(n).tweensContainer=o,i(n).opts=r),i(n).isAnimating=!0,x===b-1?(E.State.calls.push([L,l,r,null,S.resolver]),!1===E.State.isTicking&&(E.State.isTicking=!0,c())):x++)}var t,n=this,r=m.extend({},E.defaults,g),o={};switch(i(n)===v&&E.init(n),parseFloat(r.delay)&&!1!==r.queue&&m.queue(n,r.queue,function(t){E.velocityQueueEntryFlag=!0,i(n).delayTimer={setTimeout:setTimeout(t,parseFloat(r.delay)),next:t}}),r.duration.toString().toLowerCase()){case"fast":r.duration=200;break;case"normal":r.duration=T;break;case"slow":r.duration=600;break;default:r.duration=parseFloat(r.duration)||1}!1!==E.mock&&(!0===E.mock?r.duration=r.delay=1:(r.duration*=parseFloat(E.mock)||1,r.delay*=parseFloat(E.mock)||1)),r.easing=u(r.easing,r.duration),r.begin&&!w.isFunction(r.begin)&&(r.begin=null),r.progress&&!w.isFunction(r.progress)&&(r.progress=null),r.complete&&!w.isFunction(r.complete)&&(r.complete=null),r.display!==v&&null!==r.display&&(r.display=r.display.toString().toLowerCase(),"auto"===r.display&&(r.display=E.CSS.Values.getDisplayType(n))),r.visibility!==v&&null!==r.visibility&&(r.visibility=r.visibility.toString().toLowerCase()),r.mobileHA=r.mobileHA&&E.State.isMobile&&!E.State.isGingerbread,!1===r.queue?r.delay?setTimeout(e,r.delay):e():m.queue(n,r.queue,function(t,n){return!0===n?(S.promise&&S.resolver(l),!0):(E.velocityQueueEntryFlag=!0,void e(t))}),""!==r.queue&&"fx"!==r.queue||"inprogress"===m.queue(n)[0]||m.dequeue(n)}var t,r,s,l,f,g,y=arguments[0]&&(arguments[0].p||m.isPlainObject(arguments[0].properties)&&!arguments[0].properties.names||w.isString(arguments[0].properties));if(w.isWrapped(this)?(t=!1,s=0,l=this,r=this):(t=!0,s=1,l=y?arguments[0].elements||arguments[0].e:arguments[0]),l=o(l)){y?(f=arguments[0].properties||arguments[0].p,g=arguments[0].options||arguments[0].o):(f=arguments[s],g=arguments[s+1]);var b=l.length,x=0;if(!/^(stop|finish)$/i.test(f)&&!m.isPlainObject(g)){var C=s+1;g={};for(var k=C;k<arguments.length;k++)w.isArray(arguments[k])||!/^(fast|normal|slow)$/i.test(arguments[k])&&!/^\d/.test(arguments[k])?w.isString(arguments[k])||w.isArray(arguments[k])?g.easing=arguments[k]:w.isFunction(arguments[k])&&(g.complete=arguments[k]):g.duration=arguments[k]}var S={promise:null,resolver:null,rejecter:null};t&&E.Promise&&(S.promise=new E.Promise(function(t,e){S.resolver=t,S.rejecter=e}));var P;switch(f){case"scroll":P="scroll";break;case"reverse":P="reverse";break;case"finish":case"stop":m.each(l,function(t,e){i(e)&&i(e).delayTimer&&(clearTimeout(i(e).delayTimer.setTimeout),i(e).delayTimer.next&&i(e).delayTimer.next(),delete i(e).delayTimer)});var D=[];return m.each(E.State.calls,function(t,e){e&&m.each(e[1],function(n,r){var o=g===v?"":g;return!0!==o&&e[2].queue!==o&&(g!==v||!1!==e[2].queue)||void m.each(l,function(n,a){a===r&&((!0===g||w.isString(g))&&(m.each(m.queue(a,w.isString(g)?g:""),function(t,e){w.isFunction(e)&&e(null,!0)}),m.queue(a,w.isString(g)?g:"",[])),"stop"===f?(i(a)&&i(a).tweensContainer&&!1!==o&&m.each(i(a).tweensContainer,function(t,e){e.endValue=e.currentValue}),D.push(t)):"finish"===f&&(e[2].duration=1))})})}),"stop"===f&&(m.each(D,function(t,e){p(e,!0)}),S.promise&&S.resolver(l)),e();default:if(!m.isPlainObject(f)||w.isEmptyObject(f)){if(w.isString(f)&&E.Redirects[f]){var O=m.extend({},g),N=O.duration,M=O.delay||0;return!0===O.backwards&&(l=m.extend(!0,[],l).reverse()),m.each(l,function(t,e){parseFloat(O.stagger)?O.delay=M+parseFloat(O.stagger)*t:w.isFunction(O.stagger)&&(O.delay=M+O.stagger.call(e,t,b)),O.drag&&(O.duration=parseFloat(N)||(/^(callout|transition)/.test(f)?1e3:T),O.duration=Math.max(O.duration*(O.backwards?1-t/b:(t+1)/b),.75*O.duration,200)),E.Redirects[f].call(e,e,O||{},t,b,l,S.promise?S:v)}),e()}var I="Velocity: First argument ("+f+") was not a property map, a known action, or a registered redirect. Aborting.";return S.promise?S.rejecter(new Error(I)):console.log(I),e()}P="start"}var R={lastParent:null,lastPosition:null,lastFontSize:null,lastPercentToPxWidth:null,lastPercentToPxHeight:null,lastEmToPx:null,remToPx:null,vwToPx:null,vhToPx:null},L=[];m.each(l,function(t,e){w.isNode(e)&&n.call(e)});var z,O=m.extend({},E.defaults,g);if(O.loop=parseInt(O.loop),z=2*O.loop-1,O.loop)for(var F=0;z>F;F++){var q={delay:O.delay,progress:O.progress};F===z-1&&(q.display=O.display,q.visibility=O.visibility,q.complete=O.complete),A(l,"reverse",q)}return e()}};E=m.extend(A,E),E.animate=A;var P=a.requestAnimationFrame||b;return E.State.isMobile||h.hidden===v||h.addEventListener("visibilitychange",function(){h.hidden?(P=function(t){return setTimeout(function(){t(!0)},16)},c()):P=a.requestAnimationFrame||b}),r.Velocity=E,r!==a&&(r.fn.velocity=A,r.fn.velocity.defaults=E.defaults),m.each(["Down","Up"],function(t,e){E.Redirects["slide"+e]=function(t,n,i,r,o,a){var s=m.extend({},n),l=s.begin,u=s.complete,c={height:"",marginTop:"",marginBottom:"",paddingTop:"",paddingBottom:""},d={};s.display===v&&(s.display="Down"===e?"inline"===E.CSS.Values.getDisplayType(t)?"inline-block":"block":"none"),s.begin=function(){l&&l.call(o,o);for(var n in c){d[n]=t.style[n];var i=E.CSS.getPropertyValue(t,n);c[n]="Down"===e?[i,0]:[0,i]}d.overflow=t.style.overflow,t.style.overflow="hidden"},s.complete=function(){for(var e in d)t.style[e]=d[e];u&&u.call(o,o),a&&a.resolver(o)},E(t,c,s)}}),m.each(["In","Out"],function(t,e){E.Redirects["fade"+e]=function(t,n,i,r,o,a){var s=m.extend({},n),l={opacity:"In"===e?1:0},u=s.complete;s.complete=i!==r-1?s.begin=null:function(){u&&u.call(o,o),a&&a.resolver(o)},s.display===v&&(s.display="In"===e?"auto":"none"),E(this,l,s)}}),E}(f||window.Zepto||window,window,document)})),function(c,f,h,b){"use strict";function k(t,e,n){return setTimeout(q(t,n),e)}function l(t,e,n){return!!Array.isArray(t)&&(m(t,n[e],n),!0)}function m(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==b)for(i=0;i<t.length;)e.call(n,t[i],i,t),i++;else for(i in t)t.hasOwnProperty(i)&&e.call(n,t[i],i,t)}function n(t,e,n){for(var i=Object.keys(e),r=0;r<i.length;)(!n||n&&t[i[r]]===b)&&(t[i[r]]=e[i[r]]),r++;return t}function o(t,e){return n(t,e,!0)}function p(t,e,i){var r,o=e.prototype;r=t.prototype=Object.create(o),r.constructor=t,r._super=o,i&&n(r,i)}function q(t,e){return function(){return t.apply(e,arguments)}}function r(t,e){return typeof t==S?t.apply(e?e[0]||b:b,e):t}function s(t,e){return t===b?e:t}function t(t,e,n){m(x(e),function(e){t.addEventListener(e,n,!1)})}function u(t,e,n){m(x(e),function(e){t.removeEventListener(e,n,!1)})}function v(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function w(t,e){return t.indexOf(e)>-1}function x(t){return t.trim().split(/\s+/g)}function y(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;i<t.length;){if(n&&t[i][n]==e||!n&&t[i]===e)return i;i++}return-1}function z(t){return Array.prototype.slice.call(t,0)}function A(t,e,n){for(var i=[],r=[],o=0;o<t.length;){var a=e?t[o][e]:t[o];y(r,a)<0&&i.push(t[o]),r[o]=a,o++}return n&&(i=e?i.sort(function(t,n){return t[e]>n[e]}):i.sort()),i}function B(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),o=0;o<T.length;){if(n=T[o],(i=n?n+r:e)in t)return i;o++}return b}function D(){return N++}function E(t){var e=t.ownerDocument;return e.defaultView||e.parentWindow}function ab(t,e){var n=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){r(t.options.enable,[t])&&n.handler(e)},this.init()}function bb(t){var e=t.options.inputClass;return new(e||(R?wb:L?Eb:I?Gb:rb))(t,cb)}function cb(t,e,n){var i=n.pointers.length,r=n.changedPointers.length,o=e&W&&0==i-r,a=e&(X|$)&&0==i-r;n.isFirst=!!o,n.isFinal=!!a,o&&(t.session={}),n.eventType=e,db(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function db(t,e){var n=t.session,i=e.pointers,r=i.length;n.firstInput||(n.firstInput=gb(e)),r>1&&!n.firstMultiple?n.firstMultiple=gb(e):1===r&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,s=a?a.center:o.center,l=e.center=hb(i);e.timeStamp=O(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=lb(s,l),e.distance=kb(s,l),eb(n,e),e.offsetDirection=jb(e.deltaX,e.deltaY),e.scale=a?nb(a.pointers,i):1,e.rotation=a?mb(a.pointers,i):0,fb(n,e);var u=t.element;v(e.srcEvent.target,u)&&(u=e.srcEvent.target),e.target=u}function eb(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};(e.eventType===W||o.eventType===X)&&(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}function fb(t,e){var n,i,r,o,a=t.lastInterval||e,s=e.timeStamp-a.timeStamp;if(e.eventType!=$&&(s>j||a.velocity===b)){var l=a.deltaX-e.deltaX,u=a.deltaY-e.deltaY,c=ib(s,l,u);i=c.x,r=c.y,n=P(c.x)>P(c.y)?c.x:c.y,o=jb(l,u),t.lastInterval=e}else n=a.velocity,i=a.velocityX,r=a.velocityY,o=a.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=o}function gb(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:_(t.pointers[n].clientX),clientY:_(t.pointers[n].clientY)},n++;return{timeStamp:O(),pointers:e,center:hb(e),deltaX:t.deltaX,deltaY:t.deltaY}}function hb(t){var e=t.length;if(1===e)return{x:_(t[0].clientX),y:_(t[0].clientY)};for(var n=0,i=0,r=0;e>r;)n+=t[r].clientX,i+=t[r].clientY,r++;return{x:_(n/e),y:_(i/e)}}function ib(t,e,n){return{x:e/t||0,y:n/t||0}}function jb(t,e){return t===e?Y:P(t)>=P(e)?t>0?U:Q:e>0?G:K}function kb(t,e,n){n||(n=et);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function lb(t,e,n){n||(n=et);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}function mb(t,e){return lb(e[1],e[0],nt)-lb(t[1],t[0],nt)}function nb(t,e){return kb(e[0],e[1],nt)/kb(t[0],t[1],nt)}function rb(){this.evEl=rt,this.evWin=ot,this.allow=!0,this.pressed=!1,ab.apply(this,arguments)}function wb(){this.evEl=lt,this.evWin=ut,ab.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Ab(){this.evTarget=dt,this.evWin=ft,this.started=!1,ab.apply(this,arguments)}function Bb(t,e){var n=z(t.touches),i=z(t.changedTouches);return e&(X|$)&&(n=A(n.concat(i),"identifier",!0)),[n,i]}function Eb(){this.evTarget=pt,this.targetIds={},ab.apply(this,arguments)}function Fb(t,e){var n=z(t.touches),i=this.targetIds;if(e&(W|V)&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,a=z(t.changedTouches),s=[],l=this.target;if(o=n.filter(function(t){return v(t.target,l)}),e===W)for(r=0;r<o.length;)i[o[r].identifier]=!0,r++;for(r=0;r<a.length;)i[a[r].identifier]&&s.push(a[r]),e&(X|$)&&delete i[a[r].identifier],r++;return s.length?[A(o.concat(s),"identifier",!0),s]:void 0}function Gb(){ab.apply(this,arguments);var t=q(this.handler,this);this.touch=new Eb(this.manager,t),this.mouse=new rb(this.manager,t)}function Pb(t,e){this.manager=t,this.set(e)}function Qb(t){if(w(t,wt))return wt;var e=w(t,xt),n=w(t,Tt);return e&&n?xt+" "+Tt:e||n?e?xt:Tt:w(t,bt)?bt:yt}function Yb(t){this.id=D(),this.manager=null,this.options=o(t||{},this.defaults),this.options.enable=s(this.options.enable,!0),this.state=Ct,this.simultaneous={},this.requireFail=[]}function Zb(t){return t&At?"cancel":t&St?"end":t&Et?"move":t&kt?"start":""}function $b(t){return t==K?"down":t==G?"up":t==U?"left":t==Q?"right":""}function _b(t,e){var n=e.manager;return n?n.get(t):t}function ac(){Yb.apply(this,arguments)}function bc(){ac.apply(this,arguments),this.pX=null,this.pY=null}function cc(){ac.apply(this,arguments)}function dc(){Yb.apply(this,arguments),this._timer=null,this._input=null}function ec(){ac.apply(this,arguments)}function fc(){ac.apply(this,arguments)}function gc(){Yb.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function hc(t,e){return e=e||{},e.recognizers=s(e.recognizers,hc.defaults.preset),new kc(t,e)}function kc(t,e){e=e||{},this.options=o(e,hc.defaults),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.element=t,this.input=bb(this),this.touchAction=new Pb(this,this.options.touchAction),lc(this,!0),m(e.recognizers,function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])},this)}function lc(t,e){var n=t.element;m(t.options.cssProps,function(t,i){n.style[B(n.style,i)]=e?t:""})}function mc(t,e){var n=f.createEvent("Event");n.initEvent(t,!0,!0),n.gesture=e,e.target.dispatchEvent(n)}var T=["","webkit","moz","MS","ms","o"],C=f.createElement("div"),S="function",_=Math.round,P=Math.abs,O=Date.now,N=1,M=/mobile|tablet|ip(ad|hone|od)|android/i,I="ontouchstart"in c,R=B(c,"PointerEvent")!==b,L=I&&M.test(navigator.userAgent),F="touch",H="mouse",j=25,W=1,V=2,X=4,$=8,Y=1,U=2,Q=4,G=8,K=16,J=U|Q,Z=G|K,tt=J|Z,et=["x","y"],nt=["clientX","clientY"];ab.prototype={handler:function(){},init:function(){this.evEl&&t(this.element,this.evEl,this.domHandler),this.evTarget&&t(this.target,this.evTarget,this.domHandler),this.evWin&&t(E(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&u(this.element,this.evEl,this.domHandler),this.evTarget&&u(this.target,this.evTarget,this.domHandler),this.evWin&&u(E(this.element),this.evWin,this.domHandler)}};var it={mousedown:W,mousemove:V,mouseup:X},rt="mousedown",ot="mousemove mouseup";p(rb,ab,{handler:function(t){var e=it[t.type];e&W&&0===t.button&&(this.pressed=!0),e&V&&1!==t.which&&(e=X),this.pressed&&this.allow&&(e&X&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:H,srcEvent:t}))}});var at={pointerdown:W,pointermove:V,pointerup:X,pointercancel:$,pointerout:$},st={2:F,3:"pen",4:H,5:"kinect"},lt="pointerdown",ut="pointermove pointerup pointercancel";c.MSPointerEvent&&(lt="MSPointerDown",ut="MSPointerMove MSPointerUp MSPointerCancel"),p(wb,ab,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=at[i],o=st[t.pointerType]||t.pointerType,a=o==F,s=y(e,t.pointerId,"pointerId");r&W&&(0===t.button||a)?0>s&&(e.push(t),s=e.length-1):r&(X|$)&&(n=!0),0>s||(e[s]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(s,1))}});var ct={touchstart:W,touchmove:V,touchend:X,touchcancel:$},dt="touchstart",ft="touchstart touchmove touchend touchcancel";p(Ab,ab,{handler:function(t){var e=ct[t.type];if(e===W&&(this.started=!0),this.started){var n=Bb.call(this,t,e);e&(X|$)&&0==n[0].length-n[1].length&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:t})}}});var ht={touchstart:W,touchmove:V,touchend:X,touchcancel:$},pt="touchstart touchmove touchend touchcancel";p(Eb,ab,{handler:function(t){var e=ht[t.type],n=Fb.call(this,t,e);n&&this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:t})}}),p(Gb,ab,{handler:function(t,e,n){var i=n.pointerType==F,r=n.pointerType==H;if(i)this.mouse.allow=!1;else if(r&&!this.mouse.allow)return;e&(X|$)&&(this.mouse.allow=!0),this.callback(t,e,n)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var gt=B(C.style,"touchAction"),vt=gt!==b,mt="compute",yt="auto",bt="manipulation",wt="none",xt="pan-x",Tt="pan-y";Pb.prototype={set:function(t){t==mt&&(t=this.compute()),vt&&(this.manager.element.style[gt]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return m(this.manager.recognizers,function(e){r(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),Qb(t.join(" "))},preventDefaults:function(t){if(!vt){var e=t.srcEvent,n=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var i=this.actions,r=w(i,wt),o=w(i,Tt),a=w(i,xt);return r||o&&n&J||a&&n&Z?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var Ct=1,kt=2,Et=4,St=8,_t=St,At=16;Yb.prototype={defaults:{},set:function(t){return n(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(l(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=_b(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return l(t,"dropRecognizeWith",this)?this:(t=_b(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(l(t,"requireFailure",this))return this;var e=this.requireFail;return t=_b(t,this),-1===y(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(l(t,"dropRequireFailure",this))return this;t=_b(t,this);var e=y(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function d(i){e.manager.emit(e.options.event+(i?Zb(n):""),t)}var e=this,n=this.state;St>n&&d(!0),d(),n>=St&&d(!0)},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=32)},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(this.requireFail[t].state&(32|Ct)))return!1;t++}return!0},recognize:function(t){var e=n({},t);return r(this.options.enable,[this,e])?(this.state&(_t|At|32)&&(this.state=Ct),this.state=this.process(e),void(this.state&(kt|Et|St|At)&&this.tryEmit(e))):(this.reset(),void(this.state=32))},process:function(){},getTouchAction:function(){},reset:function(){}},p(ac,Yb,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,n=t.eventType,i=e&(kt|Et),r=this.attrTest(t);return i&&(n&$||!r)?e|At:i||r?n&X?e|St:e&kt?e|Et:kt:32}}),p(bc,ac,{defaults:{event:"pan",threshold:10,pointers:1,direction:tt},getTouchAction:function(){var t=this.options.direction,e=[];return t&J&&e.push(Tt),t&Z&&e.push(xt),e},directionTest:function(t){var e=this.options,n=!0,i=t.distance,r=t.direction,o=t.deltaX,a=t.deltaY;return r&e.direction||(e.direction&J?(r=0===o?Y:0>o?U:Q,n=o!=this.pX,i=Math.abs(t.deltaX)):(r=0===a?Y:0>a?G:K,n=a!=this.pY,i=Math.abs(t.deltaY))),t.direction=r,n&&i>e.threshold&&r&e.direction},attrTest:function(t){return ac.prototype.attrTest.call(this,t)&&(this.state&kt||!(this.state&kt)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$b(t.direction);e&&this.manager.emit(this.options.event+e,t),this._super.emit.call(this,t)}}),p(cc,ac,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[wt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&kt)},emit:function(t){if(this._super.emit.call(this,t),1!==t.scale){var e=t.scale<1?"in":"out";this.manager.emit(this.options.event+e,t)}}}),p(dc,Yb,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[yt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime>e.time;if(this._input=t,!i||!n||t.eventType&(X|$)&&!r)this.reset();else if(t.eventType&W)this.reset(),this._timer=k(function(){this.state=_t,this.tryEmit()},e.time,this);else if(t.eventType&X)return _t;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===_t&&(t&&t.eventType&X?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=O(),this.manager.emit(this.options.event,this._input)))}}),p(ec,ac,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[wt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&kt)}}),p(fc,ac,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:J|Z,pointers:1},getTouchAction:function(){return bc.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(J|Z)?e=t.velocity:n&J?e=t.velocityX:n&Z&&(e=t.velocityY),this._super.attrTest.call(this,t)&&n&t.direction&&t.distance>this.options.threshold&&P(e)>this.options.velocity&&t.eventType&X},emit:function(t){var e=$b(t.direction);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(gc,Yb,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[bt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime<e.time;if(this.reset(),t.eventType&W&&0===this.count)return this.failTimeout();if(i&&r&&n){if(t.eventType!=X)return this.failTimeout();var o=!this.pTime||t.timeStamp-this.pTime<e.interval,a=!this.pCenter||kb(this.pCenter,t.center)<e.posThreshold;this.pTime=t.timeStamp,this.pCenter=t.center,a&&o?this.count+=1:this.count=1,this._input=t;if(0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=k(function(){this.state=_t,this.tryEmit()},e.interval,this),kt):_t}return 32},failTimeout:function(){return this._timer=k(function(){this.state=32},this.options.interval,this),32},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==_t&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),hc.VERSION="2.0.4",hc.defaults={domEvents:!1,touchAction:mt,enable:!0,inputTarget:null,inputClass:null,preset:[[ec,{enable:!1}],[cc,{enable:!1},["rotate"]],[fc,{direction:J}],[bc,{direction:J},["swipe"]],[gc],[gc,{event:"doubletap",taps:2},["tap"]],[dc]],cssProps:{userSelect:"default",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};kc.prototype={set:function(t){return n(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){this.touchAction.preventDefaults(t);var n,i=this.recognizers,r=e.curRecognizer;(!r||r&&r.state&_t)&&(r=e.curRecognizer=null);for(var o=0;o<i.length;)n=i[o],2===e.stopped||r&&n!=r&&!n.canRecognizeWith(r)?n.reset():n.recognize(t),!r&&n.state&(kt|Et|St)&&(r=e.curRecognizer=n),o++}},get:function(t){if(t instanceof Yb)return t;for(var e=this.recognizers,n=0;n<e.length;n++)if(e[n].options.event==t)return e[n];return null},add:function(t){if(l(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(l(t,"remove",this))return this;var e=this.recognizers;return t=this.get(t),e.splice(y(e,t),1),this.touchAction.update(),this},on:function(t,e){var n=this.handlers;return m(x(t),function(t){n[t]=n[t]||[],n[t].push(e)}),this},off:function(t,e){var n=this.handlers;return m(x(t),function(t){e?n[t].splice(y(n[t],e),1):delete n[t]}),this},emit:function(t,e){this.options.domEvents&&mc(t,e);var n=this.handlers[t]&&this.handlers[t].slice();if(n&&n.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var i=0;i<n.length;)n[i](e),i++}},destroy:function(){this.element&&lc(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},n(hc,{INPUT_START:W,INPUT_MOVE:V,INPUT_END:X,INPUT_CANCEL:$,STATE_POSSIBLE:Ct,STATE_BEGAN:kt,STATE_CHANGED:Et,STATE_ENDED:St,STATE_RECOGNIZED:_t,STATE_CANCELLED:At,STATE_FAILED:32,DIRECTION_NONE:Y,DIRECTION_LEFT:U,DIRECTION_RIGHT:Q,DIRECTION_UP:G,DIRECTION_DOWN:K,DIRECTION_HORIZONTAL:J,DIRECTION_VERTICAL:Z,DIRECTION_ALL:tt,Manager:kc,Input:ab,TouchAction:Pb,TouchInput:Eb,MouseInput:rb,PointerEventInput:wb,TouchMouseInput:Gb,SingleTouchInput:Ab,Recognizer:Yb,AttrRecognizer:ac,Tap:gc,Pan:bc,Swipe:fc,Pinch:cc,Rotate:ec,Press:dc,on:t,off:u,each:m,merge:o,extend:n,inherit:p,bindFn:q,prefixed:B}),"function"==S&&a(80)?void 0!==(g=function(){return hc}.call(i,a,i,e))&&(e.exports=g):void 0!==e&&e.exports?e.exports=hc:c.Hammer=hc}(window,document),function(t){b=[a(0),a(79)],h=t,void 0!==(g="function"==typeof h?h.apply(i,b):h)&&(e.exports=g)}(function(t,e){function hammerify(n,i){var r=t(n);r.data("hammer")||r.data("hammer",new e(r[0],i))}t.fn.hammer=function(t){return this.each(function(){hammerify(this,t)})},e.Manager.prototype.emit=function(e){return function(n,i){e.call(this,n,i),t(this.element).trigger({type:n,gesture:i})}}(e.Manager.prototype.emit)}),function(t){t.Package?Materialize={}:t.Materialize={}}(window),function(t){for(var e=0,n=["webkit","moz"],i=t.requestAnimationFrame,r=t.cancelAnimationFrame,o=n.length;--o>=0&&!i;)i=t[n[o]+"RequestAnimationFrame"],r=t[n[o]+"CancelRequestAnimationFrame"];i&&r||(i=function(t){var n=+Date.now(),i=Math.max(e+16,n);return setTimeout(function(){t(e=i)},i-n)},r=clearTimeout),t.requestAnimationFrame=i,t.cancelAnimationFrame=r}(window),Materialize.objectSelectorString=function(t){return((t.prop("tagName")||"")+(t.attr("id")||"")+(t.attr("class")||"")).replace(/\s/g,"")},Materialize.guid=function(){function s4(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return s4()+s4()+"-"+s4()+"-"+s4()+"-"+s4()+"-"+s4()+s4()+s4()}}(),Materialize.escapeHash=function(t){return t.replace(/(:|\.|\[|\]|,|=)/g,"\\$1")},Materialize.elementOrParentIsFixed=function(t){var e=d(t),n=e.add(e.parents()),i=!1;return n.each(function(){if("fixed"===d(this).css("position"))return i=!0,!1}),i};var S=Date.now||function(){return(new Date).getTime()};Materialize.throttle=function(t,e,n){var i,r,o,a=null,s=0;n||(n={});var l=function(){s=!1===n.leading?0:S(),a=null,o=t.apply(i,r),i=r=null};return function(){var u=S();s||!1!==n.leading||(s=u);var c=e-(u-s);return i=this,r=arguments,c<=0?(clearTimeout(a),a=null,s=u,o=t.apply(i,r),i=r=null):a||!1===n.trailing||(a=setTimeout(l,c)),o}};var _;_=C?C.Velocity:d?d.Velocity:Velocity,function(t){t.fn.collapsible=function(e,n){var i={accordion:void 0,onOpen:void 0,onClose:void 0},r=e;return e=t.extend(i,e),this.each(function(){function accordionOpen(e){o=i.find("> li > .collapsible-header"),e.hasClass("active")?e.parent().addClass("active"):e.parent().removeClass("active"),e.parent().hasClass("active")?e.siblings(".collapsible-body").stop(!0,!1).slideDown({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){t(this).css("height","")}}):e.siblings(".collapsible-body").stop(!0,!1).slideUp({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){t(this).css("height","")}}),o.not(e).removeClass("active").parent().removeClass("active"),o.not(e).parent().children(".collapsible-body").stop(!0,!1).each(function(){t(this).is(":visible")&&t(this).slideUp({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){t(this).css("height",""),execCallbacks(t(this).siblings(".collapsible-header"))}})})}function expandableOpen(e){e.hasClass("active")?e.parent().addClass("active"):e.parent().removeClass("active"),e.parent().hasClass("active")?e.siblings(".collapsible-body").stop(!0,!1).slideDown({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){t(this).css("height","")}}):e.siblings(".collapsible-body").stop(!0,!1).slideUp({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){t(this).css("height","")}})}function collapsibleOpen(t,n){n||t.toggleClass("active"),e.accordion||"accordion"===a||void 0===a?accordionOpen(t):expandableOpen(t),execCallbacks(t)}function execCallbacks(t){t.hasClass("active")?"function"==typeof e.onOpen&&e.onOpen.call(this,t.parent()):"function"==typeof e.onClose&&e.onClose.call(this,t.parent())}function isChildrenOfPanelHeader(t){return getPanelHeader(t).length>0}function getPanelHeader(t){return t.closest("li > .collapsible-header")}function removeEventHandlers(){i.off("click.collapse","> li > .collapsible-header")}var i=t(this),o=t(this).find("> li > .collapsible-header"),a=i.data("collapsible");if("destroy"===r)return void removeEventHandlers();if(n>=0&&n<o.length){var s=o.eq(n);return void(s.length&&("open"===r||"close"===r&&s.hasClass("active"))&&collapsibleOpen(s))}removeEventHandlers(),i.on("click.collapse","> li > .collapsible-header",function(e){var n=t(e.target);isChildrenOfPanelHeader(n)&&(n=getPanelHeader(n)),collapsibleOpen(n)}),e.accordion||"accordion"===a||void 0===a?collapsibleOpen(o.filter(".active").first(),!0):o.filter(".active").each(function(){collapsibleOpen(t(this),!0)})})},t(document).ready(function(){t(".collapsible").collapsible()})}(C),function(t){t.fn.scrollTo=function(e){return t(this).scrollTop(t(this).scrollTop()-t(this).offset().top+t(e).offset().top),this},t.fn.dropdown=function(e){var n={inDuration:300,outDuration:225,constrainWidth:!0,hover:!1,gutter:0,belowOrigin:!1,alignment:"left",stopPropagation:!1};return"open"===e?(this.each(function(){t(this).trigger("open")}),!1):"close"===e?(this.each(function(){t(this).trigger("close")}),!1):void this.each(function(){function updateOptions(){void 0!==i.data("induration")&&(r.inDuration=i.data("induration")),void 0!==i.data("outduration")&&(r.outDuration=i.data("outduration")),void 0!==i.data("constrainwidth")&&(r.constrainWidth=i.data("constrainwidth")),void 0!==i.data("hover")&&(r.hover=i.data("hover")),void 0!==i.data("gutter")&&(r.gutter=i.data("gutter")),void 0!==i.data("beloworigin")&&(r.belowOrigin=i.data("beloworigin")),void 0!==i.data("alignment")&&(r.alignment=i.data("alignment")),void 0!==i.data("stoppropagation")&&(r.stopPropagation=i.data("stoppropagation"))}function placeDropdown(e){"focus"===e&&(o=!0),updateOptions(),a.addClass("active"),i.addClass("active"),!0===r.constrainWidth?a.css("width",i.outerWidth()):a.css("white-space","nowrap");var n=window.innerHeight,s=i.innerHeight(),l=i.offset().left,u=i.offset().top-t(window).scrollTop(),c=r.alignment,d=0,f=0,h=0;!0===r.belowOrigin&&(h=s);var p=0,g=0,v=i.parent();if(v.is("body")||(v[0].scrollHeight>v[0].clientHeight&&(p=v[0].scrollTop),v[0].scrollWidth>v[0].clientWidth&&(g=v[0].scrollLeft)),l+a.innerWidth()>t(window).width()?c="right":l-a.innerWidth()+i.innerWidth()<0&&(c="left"),u+a.innerHeight()>n)if(u+s-a.innerHeight()<0){var m=n-u-h;a.css("max-height",m)}else h||(h+=s),h-=a.innerHeight();if("left"===c)d=r.gutter,f=i.position().left+d;else if("right"===c){var y=i.position().left+i.outerWidth()-a.outerWidth();d=-r.gutter,f=y+d}a.css({position:"absolute",top:i.position().top+h+p,left:f+g}),a.stop(!0,!0).css("opacity",0).slideDown({queue:!1,duration:r.inDuration,easing:"easeOutCubic",complete:function(){t(this).css("height","")}}).animate({opacity:1},{queue:!1,duration:r.inDuration,easing:"easeOutSine"}),setTimeout(function(){t(document).bind("click."+a.attr("id"),function(e){hideDropdown(),t(document).unbind("click."+a.attr("id"))})},0)}function hideDropdown(){o=!1,a.fadeOut(r.outDuration),a.removeClass("active"),i.removeClass("active"),t(document).unbind("click."+a.attr("id")),setTimeout(function(){a.css("max-height","")},r.outDuration)}var i=t(this),r=t.extend({},n,e),o=!1,a=t("#"+i.attr("data-activates"));if(updateOptions(),i.after(a),r.hover){var s=!1;i.unbind("click."+i.attr("id")),i.on("mouseenter",function(t){!1===s&&(placeDropdown(),s=!0)}),i.on("mouseleave",function(e){var n=e.toElement||e.relatedTarget;t(n).closest(".dropdown-content").is(a)||(a.stop(!0,!0),hideDropdown(),s=!1)}),a.on("mouseleave",function(e){var n=e.toElement||e.relatedTarget;t(n).closest(".dropdown-button").is(i)||(a.stop(!0,!0),hideDropdown(),s=!1)})}else i.unbind("click."+i.attr("id")),i.bind("click."+i.attr("id"),function(e){o||(i[0]!=e.currentTarget||i.hasClass("active")||0!==t(e.target).closest(".dropdown-content").length?i.hasClass("active")&&(hideDropdown(),t(document).unbind("click."+a.attr("id"))):(e.preventDefault(),r.stopPropagation&&e.stopPropagation(),placeDropdown("click")))});i.on("open",function(t,e){placeDropdown(e)}),i.on("close",hideDropdown)})},t(document).ready(function(){t(".dropdown-button").dropdown()})}(C),function(t){var e=0,n=0,i=function(){return"materialize-modal-overlay-"+ ++n},r={init:function(n){var r={opacity:.5,inDuration:350,outDuration:250,ready:void 0,complete:void 0,dismissible:!0,startingTop:"4%",endingTop:"10%"};return n=t.extend(r,n),this.each(function(){var r=t(this),o=t(this).attr("id")||"#"+t(this).data("target"),a=function(){var i=r.data("overlay-id"),o=t("#"+i);r.removeClass("open"),t("body").css({overflow:"",width:""}),r.find(".modal-close").off("click.close"),t(document).off("keyup.modal"+i),o.velocity({opacity:0},{duration:n.outDuration,queue:!1,ease:"easeOutQuart"});var a={duration:n.outDuration,queue:!1,ease:"easeOutCubic",complete:function(){t(this).css({display:"none"}),"function"==typeof n.complete&&n.complete.call(this,r),o.remove(),e--}};r.hasClass("bottom-sheet")?r.velocity({bottom:"-100%",opacity:0},a):r.velocity({top:n.startingTop,opacity:0,scaleX:.7},a)},s=function(o){var s=t("body"),l=s.innerWidth();if(s.css("overflow","hidden"),s.width(l),!r.hasClass("open")){var u=i(),c=t('<div class="modal-overlay"></div>');lStack=++e,c.attr("id",u).css("z-index",1e3+2*lStack),r.data("overlay-id",u).css("z-index",1e3+2*lStack+1),r.addClass("open"),t("body").append(c),n.dismissible&&(c.click(function(){a()}),t(document).on("keyup.modal"+u,function(t){27===t.keyCode&&a()})),r.find(".modal-close").on("click.close",function(t){a()}),c.css({display:"block",opacity:0}),r.css({display:"block",opacity:0}),c.velocity({opacity:n.opacity},{duration:n.inDuration,queue:!1,ease:"easeOutCubic"}),r.data("associated-overlay",c[0]);var d={duration:n.inDuration,queue:!1,ease:"easeOutCubic",complete:function(){"function"==typeof n.ready&&n.ready.call(this,r,o)}};r.hasClass("bottom-sheet")?r.velocity({bottom:"0",opacity:1},d):(t.Velocity.hook(r,"scaleX",.7),r.css({top:n.startingTop}),r.velocity({top:n.endingTop,opacity:1,scaleX:"1"},d))}};t(document).off("click.modalTrigger",'a[href="#'+o+'"], [data-target="'+o+'"]'),t(this).off("openModal"),t(this).off("closeModal"),t(document).on("click.modalTrigger",'a[href="#'+o+'"], [data-target="'+o+'"]',function(e){n.startingTop=(t(this).offset().top-t(window).scrollTop())/1.15,s(t(this)),e.preventDefault()}),t(this).on("openModal",function(){t(this).attr("href")||t(this).data("target");s()}),t(this).on("closeModal",function(){a()})})},open:function(){t(this).trigger("openModal")},close:function(){t(this).trigger("closeModal")}};t.fn.modal=function(e){return r[e]?r[e].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof e&&e?void t.error("Method "+e+" does not exist on jQuery.modal"):r.init.apply(this,arguments)}}(C),function(t){t.fn.materialbox=function(){return this.each(function(){function returnToOriginal(){r=!1;var n=a.parent(".material-placeholder"),s=(window.innerWidth,window.innerHeight,a.data("width")),u=a.data("height");a.velocity("stop",!0),t("#materialbox-overlay").velocity("stop",!0),t(".materialbox-caption").velocity("stop",!0),t("#materialbox-overlay").velocity({opacity:0},{duration:o,queue:!1,easing:"easeOutQuad",complete:function(){i=!1,t(this).remove()}}),a.velocity({width:s,height:u,left:0,top:0},{duration:o,queue:!1,easing:"easeOutQuad",complete:function(){n.css({height:"",width:"",position:"",top:"",left:""}),a.removeAttr("style"),a.attr("style",l),a.removeClass("active"),r=!0,e&&e.css("overflow","")}}),t(".materialbox-caption").velocity({opacity:0},{duration:o,queue:!1,easing:"easeOutQuad",complete:function(){t(this).remove()}})}if(!t(this).hasClass("initialized")){t(this).addClass("initialized");var e,n,i=!1,r=!0,o=200,a=t(this),s=t("<div></div>").addClass("material-placeholder"),l=a.attr("style");a.wrap(s),a.on("click",function(){var o=a.parent(".material-placeholder"),s=window.innerWidth,l=window.innerHeight,u=a.width(),c=a.height();if(!1===r)return returnToOriginal(),!1;if(i&&!0===r)return returnToOriginal(),!1;r=!1,a.addClass("active"),i=!0,o.css({width:o[0].getBoundingClientRect().width,height:o[0].getBoundingClientRect().height,position:"relative",top:0,left:0}),e=void 0,n=o[0].parentNode;for(;null!==n&&!t(n).is(document);){var d=t(n);"visible"!==d.css("overflow")&&(d.css("overflow","visible"),e=void 0===e?d:e.add(d)),n=n.parentNode}a.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}).data("width",u).data("height",c);var f=t('<div id="materialbox-overlay"></div>').css({opacity:0}).click(function(){!0===r&&returnToOriginal()});a.before(f);var h=f[0].getBoundingClientRect();if(f.css({width:s,height:l,left:-1*h.left,top:-1*h.top}),f.velocity({opacity:1},{duration:275,queue:!1,easing:"easeOutQuad"}),""!==a.data("caption")){var p=t('<div class="materialbox-caption"></div>');p.text(a.data("caption")),t("body").append(p),p.css({display:"inline"}),p.velocity({opacity:1},{duration:275,queue:!1,easing:"easeOutQuad"})}var g=0,v=u/s,m=c/l,y=0,b=0;v>m?(g=c/u,y=.9*s,b=.9*s*g):(g=u/c,y=.9*l*g,b=.9*l),a.hasClass("responsive-img")?a.velocity({"max-width":y,width:u},{duration:0,queue:!1,complete:function(){a.css({left:0,top:0}).velocity({height:b,width:y,left:t(document).scrollLeft()+s/2-a.parent(".material-placeholder").offset().left-y/2,top:t(document).scrollTop()+l/2-a.parent(".material-placeholder").offset().top-b/2},{duration:275,queue:!1,easing:"easeOutQuad",complete:function(){r=!0}})}}):a.css("left",0).css("top",0).velocity({height:b,width:y,left:t(document).scrollLeft()+s/2-a.parent(".material-placeholder").offset().left-y/2,top:t(document).scrollTop()+l/2-a.parent(".material-placeholder").offset().top-b/2},{duration:275,queue:!1,easing:"easeOutQuad",complete:function(){r=!0}})}),t(window).scroll(function(){i&&returnToOriginal()}),t(document).keyup(function(t){27===t.keyCode&&!0===r&&i&&returnToOriginal()})}})},t(document).ready(function(){t(".materialboxed").materialbox()})}(C),function(t){t.fn.parallax=function(){var e=t(window).width();return this.each(function(n){function updateParallax(n){var r;r=e<601?i.height()>0?i.height():i.children("img").height():i.height()>0?i.height():500;var o=i.children("img").first(),a=o.height(),s=a-r,l=i.offset().top+r,u=i.offset().top,c=t(window).scrollTop(),d=window.innerHeight,f=c+d,h=(f-u)/(r+d),p=Math.round(s*h);n&&o.css("display","block"),l>c&&u<c+d&&o.css("transform","translate3D(-50%,"+p+"px, 0)")}var i=t(this);i.addClass("parallax"),i.children("img").one("load",function(){updateParallax(!0)}).each(function(){this.complete&&t(this).trigger("load")}),t(window).scroll(function(){e=t(window).width(),updateParallax(!1)}),t(window).resize(function(){e=t(window).width(),updateParallax(!1)})})}}(C),function(t){var e={init:function(e){var n={onShow:null,swipeable:!1,responsiveThreshold:1/0};e=t.extend(n,e);var i=Materialize.objectSelectorString(t(this));return this.each(function(n){var r,o,a,s,l,u=i+n,c=t(this),d=t(window).width(),f=c.find("li.tab a"),h=c.width(),p=t(),g=Math.max(h,c[0].scrollWidth)/f.length,v=prev_index=0,m=!1,y=function(t){return Math.ceil(h-t.position().left-t.outerWidth()-c.scrollLeft())},b=function(t){return Math.floor(t.position().left+c.scrollLeft())},w=function(t){v-t>=0?(s.velocity({right:y(r)},{duration:300,queue:!1,easing:"easeOutQuad"}),s.velocity({left:b(r)},{duration:300,queue:!1,easing:"easeOutQuad",delay:90})):(s.velocity({left:b(r)},{duration:300,queue:!1,easing:"easeOutQuad"}),s.velocity({right:y(r)},{duration:300,queue:!1,easing:"easeOutQuad",delay:90}))};e.swipeable&&d>e.responsiveThreshold&&(e.swipeable=!1),r=t(f.filter('[href="'+location.hash+'"]')),0===r.length&&(r=t(this).find("li.tab a.active").first()),0===r.length&&(r=t(this).find("li.tab a").first()),r.addClass("active"),v=f.index(r),v<0&&(v=0),void 0!==r[0]&&(o=t(r[0].hash),o.addClass("active")),c.find(".indicator").length||c.append('<div class="indicator"></div>'),s=c.find(".indicator"),c.append(s),c.is(":visible")&&setTimeout(function(){s.css({right:y(r)}),s.css({left:b(r)})},0),t(window).off("resize.tabs-"+u).on("resize.tabs-"+u,function(){h=c.width(),g=Math.max(h,c[0].scrollWidth)/f.length,v<0&&(v=0),0!==g&&0!==h&&(s.css({right:y(r)}),s.css({left:b(r)}))}),e.swipeable?(f.each(function(){var e=t(Materialize.escapeHash(this.hash));e.addClass("carousel-item"),p=p.add(e)}),a=p.wrapAll('<div class="tabs-content carousel"></div>'),p.css("display",""),t(".tabs-content.carousel").carousel({fullWidth:!0,noWrap:!0,onCycleTo:function(t){if(!m){var e=v;v=a.index(t),r=f.eq(v),w(e)}}})):f.not(r).each(function(){t(Materialize.escapeHash(this.hash)).hide()}),c.off("click.tabs").on("click.tabs","a",function(n){if(t(this).parent().hasClass("disabled"))return void n.preventDefault();if(!t(this).attr("target")){m=!0,h=c.width(),g=Math.max(h,c[0].scrollWidth)/f.length,r.removeClass("active");var i=o;r=t(this),o=t(Materialize.escapeHash(this.hash)),f=c.find("li.tab a");r.position();r.addClass("active"),prev_index=v,v=f.index(t(this)),v<0&&(v=0),e.swipeable?p.length&&p.carousel("set",v):(void 0!==o&&(o.show(),o.addClass("active"),"function"==typeof e.onShow&&e.onShow.call(this,o)),void 0===i||i.is(o)||(i.hide(),i.removeClass("active"))),l=setTimeout(function(){m=!1},300),w(prev_index),n.preventDefault()}})})},select_tab:function(t){this.find('a[href="#'+t+'"]').trigger("click")}};t.fn.tabs=function(n){return e[n]?e[n].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof n&&n?void t.error("Method "+n+" does not exist on jQuery.tabs"):e.init.apply(this,arguments)},t(document).ready(function(){t("ul.tabs").tabs()})}(C),function(t){t.fn.tooltip=function(n){var i={delay:350,tooltip:"",position:"bottom",html:!1};return"remove"===n?(this.each(function(){t("#"+t(this).attr("data-tooltip-id")).remove(),t(this).off("mouseenter.tooltip mouseleave.tooltip")}),!1):(n=t.extend(i,n),this.each(function(){var i=Materialize.guid(),r=t(this);r.attr("data-tooltip-id")&&t("#"+r.attr("data-tooltip-id")).remove(),r.attr("data-tooltip-id",i);var o,a,s,l,u,c,d=function(){o=r.attr("data-html")?"true"===r.attr("data-html"):n.html,a=r.attr("data-delay"),a=void 0===a||""===a?n.delay:a,s=r.attr("data-position"),s=void 0===s||""===s?n.position:s,l=r.attr("data-tooltip"),l=void 0===l||""===l?n.tooltip:l};d();u=function(){var e=t('<div class="material-tooltip"></div>');return l=o?t("<span></span>").html(l):t("<span></span>").text(l),e.append(l).appendTo(t("body")).attr("id",i),c=t('<div class="backdrop"></div>'),c.appendTo(e),e}(),r.off("mouseenter.tooltip mouseleave.tooltip");var f,h=!1;r.on({"mouseenter.tooltip":function(t){var n=function(){d(),h=!0,u.velocity("stop"),c.velocity("stop"),u.css({visibility:"visible",left:"0px",top:"0px"});var t,n,i,o=r.outerWidth(),a=r.outerHeight(),l=u.outerHeight(),f=u.outerWidth(),p="0px",g="0px",v=c[0].offsetWidth,m=c[0].offsetHeight,y=8,b=8,w=0;"top"===s?(t=r.offset().top-l-5,n=r.offset().left+o/2-f/2,i=e(n,t,f,l),p="-10px",c.css({bottom:0,left:0,borderRadius:"14px 14px 0 0",transformOrigin:"50% 100%",marginTop:l,marginLeft:f/2-v/2})):"left"===s?(t=r.offset().top+a/2-l/2,n=r.offset().left-f-5,i=e(n,t,f,l),g="-10px",c.css({top:"-7px",right:0,width:"14px",height:"14px",borderRadius:"14px 0 0 14px",transformOrigin:"95% 50%",marginTop:l/2,marginLeft:f})):"right"===s?(t=r.offset().top+a/2-l/2,n=r.offset().left+o+5,i=e(n,t,f,l),g="+10px",c.css({top:"-7px",left:0,width:"14px",height:"14px",borderRadius:"0 14px 14px 0",transformOrigin:"5% 50%",marginTop:l/2,marginLeft:"0px"})):(t=r.offset().top+r.outerHeight()+5,n=r.offset().left+o/2-f/2,i=e(n,t,f,l),p="+10px",c.css({top:0,left:0,marginLeft:f/2-v/2})),u.css({top:i.y,left:i.x}),y=Math.SQRT2*f/parseInt(v),b=Math.SQRT2*l/parseInt(m),w=Math.max(y,b),u.velocity({translateY:p,translateX:g},{duration:350,queue:!1}).velocity({opacity:1},{duration:300,delay:50,queue:!1}),c.css({visibility:"visible"}).velocity({opacity:1},{duration:55,delay:0,queue:!1}).velocity({scaleX:w,scaleY:w},{duration:300,delay:0,queue:!1,easing:"easeInOutQuad"})};f=setTimeout(n,a)},"mouseleave.tooltip":function(){h=!1,clearTimeout(f),setTimeout(function(){!0!==h&&(u.velocity({opacity:0,translateY:0,translateX:0},{duration:225,queue:!1}),c.velocity({opacity:0,scaleX:1,scaleY:1},{duration:225,queue:!1,complete:function(){c.css({visibility:"hidden"}),u.css({visibility:"hidden"}),h=!1}}))},225)}})}))};var e=function(e,n,i,r){var o=e,a=n;return o<0?o=4:o+i>window.innerWidth&&(o-=o+i-window.innerWidth),a<0?a=4:a+r>window.innerHeight+t(window).scrollTop&&(a-=a+r-window.innerHeight),{x:o,y:a}};t(document).ready(function(){t(".tooltipped").tooltip()})}(C),function(t){"use strict";function isWindow(t){return null!==t&&t===t.window}function getWindow(t){return isWindow(t)?t:9===t.nodeType&&t.defaultView}function offset(t){var e,n,i={top:0,left:0},r=t&&t.ownerDocument;return e=r.documentElement,void 0!==t.getBoundingClientRect&&(i=t.getBoundingClientRect()),n=getWindow(r),{top:i.top+n.pageYOffset-e.clientTop,left:i.left+n.pageXOffset-e.clientLeft}}function convertStyle(t){var e="";for(var n in t)t.hasOwnProperty(n)&&(e+=n+":"+t[n]+";");return e}function getWavesEffectElement(t){if(!1===r.allowEvent(t))return null;for(var e=null,n=t.target||t.srcElement;null!==n.parentElement;){if(!(n instanceof SVGElement||-1===n.className.indexOf("waves-effect"))){e=n;break}if(n.classList.contains("waves-effect")){e=n;break}n=n.parentElement}return e}function showEffect(e){var n=getWavesEffectElement(e);null!==n&&(i.show(e,n),"ontouchstart"in t&&(n.addEventListener("touchend",i.hide,!1),n.addEventListener("touchcancel",i.hide,!1)),n.addEventListener("mouseup",i.hide,!1),n.addEventListener("mouseleave",i.hide,!1))}var e=e||{},n=document.querySelectorAll.bind(document),i={duration:750,show:function(t,e){if(2===t.button)return!1;var n=e||this,r=document.createElement("div");r.className="waves-ripple",n.appendChild(r);var o=offset(n),a=t.pageY-o.top,s=t.pageX-o.left,l="scale("+n.clientWidth/100*10+")";"touches"in t&&(a=t.touches[0].pageY-o.top,s=t.touches[0].pageX-o.left),r.setAttribute("data-hold",Date.now()),r.setAttribute("data-scale",l),r.setAttribute("data-x",s),r.setAttribute("data-y",a);var u={top:a+"px",left:s+"px"};r.className=r.className+" waves-notransition",r.setAttribute("style",convertStyle(u)),r.className=r.className.replace("waves-notransition",""),u["-webkit-transform"]=l,u["-moz-transform"]=l,u["-ms-transform"]=l,u["-o-transform"]=l,u.transform=l,u.opacity="1",u["-webkit-transition-duration"]=i.duration+"ms",u["-moz-transition-duration"]=i.duration+"ms",u["-o-transition-duration"]=i.duration+"ms",u["transition-duration"]=i.duration+"ms",u["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",u["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",u["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",u["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",r.setAttribute("style",convertStyle(u))},hide:function(t){r.touchup(t);var e=this,n=(e.clientWidth,null),o=e.getElementsByClassName("waves-ripple");if(!(o.length>0))return!1;n=o[o.length-1];var a=n.getAttribute("data-x"),s=n.getAttribute("data-y"),l=n.getAttribute("data-scale"),u=Date.now()-Number(n.getAttribute("data-hold")),c=350-u;c<0&&(c=0),setTimeout(function(){var t={top:s+"px",left:a+"px",opacity:"0","-webkit-transition-duration":i.duration+"ms","-moz-transition-duration":i.duration+"ms","-o-transition-duration":i.duration+"ms","transition-duration":i.duration+"ms","-webkit-transform":l,"-moz-transform":l,"-ms-transform":l,"-o-transform":l,transform:l};n.setAttribute("style",convertStyle(t)),setTimeout(function(){try{e.removeChild(n)}catch(t){return!1}},i.duration)},c)},wrapInput:function(t){for(var e=0;e<t.length;e++){var n=t[e];if("input"===n.tagName.toLowerCase()){var i=n.parentNode;if("i"===i.tagName.toLowerCase()&&-1!==i.className.indexOf("waves-effect"))continue;var r=document.createElement("i");r.className=n.className+" waves-input-wrapper";var o=n.getAttribute("style");o||(o=""),r.setAttribute("style",o),n.className="waves-button-input",n.removeAttribute("style"),i.replaceChild(r,n),r.appendChild(n)}}}},r={touches:0,allowEvent:function(t){var e=!0;return"touchstart"===t.type?r.touches+=1:"touchend"===t.type||"touchcancel"===t.type?setTimeout(function(){r.touches>0&&(r.touches-=1)},500):"mousedown"===t.type&&r.touches>0&&(e=!1),e},touchup:function(t){r.allowEvent(t)}};e.displayEffect=function(e){e=e||{},"duration"in e&&(i.duration=e.duration),i.wrapInput(n(".waves-effect")),"ontouchstart"in t&&document.body.addEventListener("touchstart",showEffect,!1),document.body.addEventListener("mousedown",showEffect,!1)},e.attach=function(e){"input"===e.tagName.toLowerCase()&&(i.wrapInput([e]),e=e.parentElement),"ontouchstart"in t&&e.addEventListener("touchstart",showEffect,!1),e.addEventListener("mousedown",showEffect,!1)},t.Waves=e,document.addEventListener("DOMContentLoaded",function(){e.displayEffect()},!1)}(window),Materialize.toast=function(t,e,n,i){n=n||"";var r=document.getElementById("toast-container");null===r&&(r=document.createElement("div"),r.id="toast-container",document.body.appendChild(r));var o=function(t){var e=document.createElement("div");if(e.classList.add("toast"),n)for(var r=n.split(" "),o=0,a=r.length;o<a;o++)e.classList.add(r[o]);("object"==typeof HTMLElement?t instanceof HTMLElement:t&&"object"==typeof t&&null!==t&&1===t.nodeType&&"string"==typeof t.nodeName)?e.appendChild(t):t instanceof C?e.appendChild(t[0]):e.innerHTML=t;var s=new Hammer(e,{prevent_default:!1});return s.on("pan",function(t){var n=t.deltaX;e.classList.contains("panning")||e.classList.add("panning");var i=1-Math.abs(n/80);i<0&&(i=0),_(e,{left:n,opacity:i},{duration:50,queue:!1,easing:"easeOutQuad"})}),s.on("panend",function(t){var n=t.deltaX;Math.abs(n)>80?_(e,{marginTop:"-40px"},{duration:375,easing:"easeOutExpo",queue:!1,complete:function(){"function"==typeof i&&i(),e.parentNode.removeChild(e)}}):(e.classList.remove("panning"),_(e,{left:0,opacity:1},{duration:300,easing:"easeOutExpo",queue:!1}))}),e}(t);t&&r.appendChild(o),o.style.opacity=0,_(o,{translateY:"-35px",opacity:1},{duration:300,easing:"easeOutCubic",queue:!1});var a,s=e;null!=s&&(a=setInterval(function(){null===o.parentNode&&window.clearInterval(a),o.classList.contains("panning")||(s-=20),s<=0&&(_(o,{opacity:0,marginTop:"-40px"},{duration:375,easing:"easeOutExpo",queue:!1,complete:function(){"function"==typeof i&&i(),this[0].parentNode.removeChild(this[0])}}),window.clearInterval(a))},20))},function(t){var e={init:function(e){var n={menuWidth:300,edge:"left",closeOnClick:!1,draggable:!0};e=t.extend(n,e),t(this).each(function(){var n=t(this),i=n.attr("data-activates"),r=t("#"+i);300!=e.menuWidth&&r.css("width",e.menuWidth);var o=t('.drag-target[data-sidenav="'+i+'"]');e.draggable?(o.length&&o.remove(),o=t('<div class="drag-target"></div>').attr("data-sidenav",i),t("body").append(o)):o=t(),"left"==e.edge?(r.css("transform","translateX(-100%)"),o.css({left:0})):(r.addClass("right-aligned").css("transform","translateX(100%)"),o.css({right:0})),r.hasClass("fixed")&&window.innerWidth>992&&r.css("transform","translateX(0)"),r.hasClass("fixed")&&t(window).resize(function(){window.innerWidth>992?0!==t("#sidenav-overlay").length&&l?a(!0):r.css("transform","translateX(0%)"):!1===l&&("left"===e.edge?r.css("transform","translateX(-100%)"):r.css("transform","translateX(100%)"))}),!0===e.closeOnClick&&r.on("click.itemclick","a:not(.collapsible-header)",function(){a()});var a=function(n){s=!1,l=!1,t("body").css({overflow:"",width:""}),t("#sidenav-overlay").velocity({opacity:0},{duration:200,queue:!1,easing:"easeOutQuad",complete:function(){t(this).remove()}}),"left"===e.edge?(o.css({width:"",right:"",left:"0"}),r.velocity({translateX:"-100%"},{duration:200,queue:!1,easing:"easeOutCubic",complete:function(){!0===n&&(r.removeAttr("style"),r.css("width",e.menuWidth))}})):(o.css({width:"",right:"0",left:""}),r.velocity({translateX:"100%"},{duration:200,queue:!1,easing:"easeOutCubic",complete:function(){!0===n&&(r.removeAttr("style"),r.css("width",e.menuWidth))}}))},s=!1,l=!1;e.draggable&&(o.on("click",function(){l&&a()}),o.hammer({prevent_default:!1}).bind("pan",function(n){if("touch"==n.gesture.pointerType){var i=(n.gesture.direction,n.gesture.center.x),o=(n.gesture.center.y,n.gesture.velocityX,t("body")),s=t("#sidenav-overlay"),u=o.innerWidth();if(o.css("overflow","hidden"),o.width(u),0===s.length&&(s=t('<div id="sidenav-overlay"></div>'),s.css("opacity",0).click(function(){a()}),t("body").append(s)),"left"===e.edge&&(i>e.menuWidth?i=e.menuWidth:i<0&&(i=0)),"left"===e.edge)i<e.menuWidth/2?l=!1:i>=e.menuWidth/2&&(l=!0),r.css("transform","translateX("+(i-e.menuWidth)+"px)");else{i<window.innerWidth-e.menuWidth/2?l=!0:i>=window.innerWidth-e.menuWidth/2&&(l=!1);var c=i-e.menuWidth/2;c<0&&(c=0),r.css("transform","translateX("+c+"px)")}var d;"left"===e.edge?(d=i/e.menuWidth,s.velocity({opacity:d},{duration:10,queue:!1,easing:"easeOutQuad"})):(d=Math.abs((i-window.innerWidth)/e.menuWidth),s.velocity({opacity:d},{duration:10,queue:!1,easing:"easeOutQuad"}))}}).bind("panend",function(n){if("touch"==n.gesture.pointerType){var i=t("#sidenav-overlay"),a=n.gesture.velocityX,u=n.gesture.center.x,c=u-e.menuWidth,d=u-e.menuWidth/2;c>0&&(c=0),d<0&&(d=0),s=!1,"left"===e.edge?l&&a<=.3||a<-.5?(0!==c&&r.velocity({translateX:[0,c]},{duration:300,queue:!1,easing:"easeOutQuad"}),i.velocity({opacity:1},{duration:50,queue:!1,easing:"easeOutQuad"}),o.css({width:"50%",right:0,left:""}),l=!0):(!l||a>.3)&&(t("body").css({overflow:"",width:""}),r.velocity({translateX:[-1*e.menuWidth-10,c]},{duration:200,queue:!1,easing:"easeOutQuad"}),i.velocity({opacity:0},{duration:200,queue:!1,easing:"easeOutQuad",complete:function(){t(this).remove()}}),o.css({width:"10px",right:"",left:0})):l&&a>=-.3||a>.5?(0!==d&&r.velocity({translateX:[0,d]},{duration:300,queue:!1,easing:"easeOutQuad"}),i.velocity({opacity:1},{duration:50,queue:!1,easing:"easeOutQuad"}),o.css({width:"50%",right:"",left:0}),l=!0):(!l||a<-.3)&&(t("body").css({overflow:"",width:""}),r.velocity({translateX:[e.menuWidth+10,d]},{duration:200,queue:!1,easing:"easeOutQuad"}),i.velocity({opacity:0},{duration:200,queue:!1,easing:"easeOutQuad",complete:function(){t(this).remove()}}),o.css({width:"10px",right:0,left:""}))}})),n.off("click.sidenav").on("click.sidenav",function(){if(!0===l)l=!1,s=!1,a();else{var n=t("body"),i=t('<div id="sidenav-overlay"></div>'),u=n.innerWidth();n.css("overflow","hidden"),n.width(u),t("body").append(o),"left"===e.edge?(o.css({width:"50%",right:0,left:""}),r.velocity({translateX:[0,-1*e.menuWidth]},{duration:300,queue:!1,easing:"easeOutQuad"})):(o.css({width:"50%",right:"",left:0}),r.velocity({translateX:[0,e.menuWidth]},{duration:300,queue:!1,easing:"easeOutQuad"})),i.css("opacity",0).click(function(){l=!1,s=!1,a(),i.velocity({opacity:0},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){t(this).remove()}})}),t("body").append(i),i.velocity({opacity:1},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){l=!0,s=!1}})}return!1})})},destroy:function(){var e=t("#sidenav-overlay"),n=t('.drag-target[data-sidenav="'+t(this).attr("data-activates")+'"]');e.trigger("click"),n.remove(),t(this).off("click"),e.remove()},show:function(){this.trigger("click")},hide:function(){t("#sidenav-overlay").trigger("click")}};t.fn.sideNav=function(n){return e[n]?e[n].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof n&&n?void t.error("Method "+n+" does not exist on jQuery.sideNav"):e.init.apply(this,arguments)}}(C),function(t){function findElements(e,i,r,o){var a=t();return t.each(n,function(t,n){if(n.height()>0){var s=n.offset().top,l=n.offset().left,u=l+n.width(),c=s+n.height();!(l>i||u<o||s>r||c<e)&&a.push(n)}}),a}function onScroll(n){++o;var r=e.scrollTop(),s=e.scrollLeft(),l=s+e.width(),u=r+e.height(),c=findElements(r+a.top+n||200,l+a.right,u+a.bottom,s+a.left);t.each(c,function(t,e){"number"!=typeof e.data("scrollSpy:ticks")&&e.triggerHandler("scrollSpy:enter"),e.data("scrollSpy:ticks",o)}),t.each(i,function(t,e){var n=e.data("scrollSpy:ticks");"number"==typeof n&&n!==o&&(e.triggerHandler("scrollSpy:exit"),e.data("scrollSpy:ticks",null))}),i=c}function onWinSize(){e.trigger("scrollSpy:winSize")}var e=t(window),n=[],i=[],r=!1,o=0,a={top:0,right:0,bottom:0,left:0};t.scrollSpy=function(i,o){var s={throttle:100,scrollOffset:200};o=t.extend(s,o);var l=[];i=t(i),i.each(function(e,i){n.push(t(i)),t(i).data("scrollSpy:id",e),t('a[href="#'+t(i).attr("id")+'"]').click(function(e){e.preventDefault();var n=t(Materialize.escapeHash(this.hash)).offset().top+1;t("html, body").animate({scrollTop:n-o.scrollOffset},{duration:400,queue:!1,easing:"easeOutCubic"})})}),a.top=o.offsetTop||0,a.right=o.offsetRight||0,a.bottom=o.offsetBottom||0,a.left=o.offsetLeft||0;var u=Materialize.throttle(function(){onScroll(o.scrollOffset)},o.throttle||100),c=function(){t(document).ready(u)};return r||(e.on("scroll",c),e.on("resize",c),r=!0),setTimeout(c,0),i.on("scrollSpy:enter",function(){l=t.grep(l,function(t){return 0!=t.height()});var e=t(this);l[0]?(t('a[href="#'+l[0].attr("id")+'"]').removeClass("active"),e.data("scrollSpy:id")<l[0].data("scrollSpy:id")?l.unshift(t(this)):l.push(t(this))):l.push(t(this)),t('a[href="#'+l[0].attr("id")+'"]').addClass("active")}),i.on("scrollSpy:exit",function(){if(l=t.grep(l,function(t){return 0!=t.height()}),l[0]){t('a[href="#'+l[0].attr("id")+'"]').removeClass("active");var e=t(this);l=t.grep(l,function(t){return t.attr("id")!=e.attr("id")}),l[0]&&t('a[href="#'+l[0].attr("id")+'"]').addClass("active")}}),i},t.winSizeSpy=function(n){return t.winSizeSpy=function(){return e},n=n||{throttle:100},e.on("resize",Materialize.throttle(onWinSize,n.throttle||100))},t.fn.scrollSpy=function(e){return t.scrollSpy(t(this),e)}}(C),function(t){t(document).ready(function(){function textareaAutoResize(e){var i=e.css("font-family"),r=e.css("font-size"),o=e.css("line-height");r&&n.css("font-size",r),i&&n.css("font-family",i),o&&n.css("line-height",o),"off"===e.attr("wrap")&&n.css("overflow-wrap","normal").css("white-space","pre"),n.text(e.val()+"\n");var a=n.html().replace(/\n/g,"<br>");n.html(a),e.is(":visible")?n.css("width",e.width()):n.css("width",t(window).width()/2),e.data("original-height")<=n.height()?e.css("height",n.height()):e.val().length<e.data("previous-length")&&e.css("height",e.data("original-height")),e.data("previous-length",e.val().length)}Materialize.updateTextFields=function(){t("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea").each(function(e,n){var i=t(this);t(n).val().length>0||n.autofocus||void 0!==i.attr("placeholder")?i.siblings("label").addClass("active"):t(n)[0].validity?i.siblings("label").toggleClass("active",!0===t(n)[0].validity.badInput):i.siblings("label").removeClass("active")})};var e="input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea";t(document).on("change",e,function(){0===t(this).val().length&&void 0===t(this).attr("placeholder")||t(this).siblings("label").addClass("active"),validate_field(t(this))}),t(document).ready(function(){Materialize.updateTextFields()}),t(document).on("reset",function(n){var i=t(n.target);i.is("form")&&(i.find(e).removeClass("valid").removeClass("invalid"),i.find(e).each(function(){""===t(this).attr("value")&&t(this).siblings("label").removeClass("active")}),i.find("select.initialized").each(function(){var t=i.find("option[selected]").text();i.siblings("input.select-dropdown").val(t)}))}),t(document).on("focus",e,function(){t(this).siblings("label, .prefix").addClass("active")}),t(document).on("blur",e,function(){var e=t(this),n=".prefix";0===e.val().length&&!0!==e[0].validity.badInput&&void 0===e.attr("placeholder")&&(n+=", label"),e.siblings(n).removeClass("active"),validate_field(e)}),window.validate_field=function(t){var e=void 0!==t.attr("data-length"),n=parseInt(t.attr("data-length")),i=t.val().length;0===t.val().length&&!1===t[0].validity.badInput?t.hasClass("validate")&&(t.removeClass("valid"),t.removeClass("invalid")):t.hasClass("validate")&&(t.is(":valid")&&e&&i<=n||t.is(":valid")&&!e?(t.removeClass("invalid"),t.addClass("valid")):(t.removeClass("valid"),t.addClass("invalid")))};t(document).on("keyup.radio","input[type=radio], input[type=checkbox]",function(e){if(9===e.which){t(this).addClass("tabbed");return void t(this).one("blur",function(e){t(this).removeClass("tabbed")})}});var n=t(".hiddendiv").first();n.length||(n=t('<div class="hiddendiv common"></div>'),t("body").append(n));t(".materialize-textarea").each(function(){var e=t(this);e.data("original-height",e.height()),e.data("previous-length",e.val().length)}),t("body").on("keyup keydown autoresize",".materialize-textarea",function(){textareaAutoResize(t(this))}),t(document).on("change",'.file-field input[type="file"]',function(){for(var e=t(this).closest(".file-field"),n=e.find("input.file-path"),i=t(this)[0].files,r=[],o=0;o<i.length;o++)r.push(i[o].name);n.val(r.join(", ")),n.trigger("change")});var i="input[type=range]",r=!1;t(i).each(function(){var e=t('<span class="thumb"><span class="value"></span></span>');t(this).after(e)});var o=function(t){var e=parseInt(t.parent().css("padding-left")),n=-7+e+"px";t.velocity({height:"30px",width:"30px",top:"-30px",marginLeft:n},{duration:300,easing:"easeOutExpo"})},a=function(t){var e=t.width()-15,n=parseFloat(t.attr("max")),i=parseFloat(t.attr("min"));return(parseFloat(t.val())-i)/(n-i)*e};t(document).on("change",i,function(e){var n=t(this).siblings(".thumb");n.find(".value").html(t(this).val()),n.hasClass("active")||o(n);var i=a(t(this));n.addClass("active").css("left",i)}),t(document).on("mousedown touchstart",i,function(e){var n=t(this).siblings(".thumb");if(n.length<=0&&(n=t('<span class="thumb"><span class="value"></span></span>'),t(this).after(n)),n.find(".value").html(t(this).val()),r=!0,t(this).addClass("active"),n.hasClass("active")||o(n),"input"!==e.type){var i=a(t(this));n.addClass("active").css("left",i)}}),t(document).on("mouseup touchend",".range-field",function(){r=!1,t(this).removeClass("active")}),t(document).on("input mousemove touchmove",".range-field",function(e){var n=t(this).children(".thumb"),s=t(this).find(i);if(r){n.hasClass("active")||o(n);var l=a(s);n.addClass("active").css("left",l),n.find(".value").html(n.siblings(i).val())}}),t(document).on("mouseout touchleave",".range-field",function(){if(!r){var e=t(this).children(".thumb"),n=parseInt(t(this).css("padding-left")),i=7+n+"px";e.hasClass("active")&&e.velocity({height:"0",width:"0",top:"10px",marginLeft:i},{duration:100}),e.removeClass("active")}}),t.fn.autocomplete=function(e){var n={data:{},limit:1/0,onAutocomplete:null,minLength:1};return e=t.extend(n,e),this.each(function(){var n,i=t(this),r=e.data,o=0,a=-1,s=i.closest(".input-field");if(!t.isEmptyObject(r)){var l,u=t('<ul class="autocomplete-content dropdown-content"></ul>');s.length?(l=s.children(".autocomplete-content.dropdown-content").first(),l.length||s.append(u)):(l=i.next(".autocomplete-content.dropdown-content"),l.length||i.after(u)),l.length&&(u=l);var c=function(t,e){var n=e.find("img"),i=e.text().toLowerCase().indexOf(""+t.toLowerCase()),r=i+t.length-1,o=e.text().slice(0,i),a=e.text().slice(i,r+1),s=e.text().slice(r+1);e.html("<span>"+o+"<span class='highlight'>"+a+"</span>"+s+"</span>"),n.length&&e.prepend(n)},d=function(){a=-1,u.find(".active").removeClass("active")},f=function(){u.empty(),d(),n=void 0};i.off("blur.autocomplete").on("blur.autocomplete",function(){f()}),i.off("keyup.autocomplete focus.autocomplete").on("keyup.autocomplete focus.autocomplete",function(a){o=0;var s=i.val().toLowerCase();if(13!==a.which&&38!==a.which&&40!==a.which){if(n!==s&&(f(),s.length>=e.minLength))for(var l in r)if(r.hasOwnProperty(l)&&-1!==l.toLowerCase().indexOf(s)&&l.toLowerCase()!==s){if(o>=e.limit)break;var d=t("<li></li>");r[l]?d.append('<img src="'+r[l]+'" class="right circle"><span>'+l+"</span>"):d.append("<span>"+l+"</span>"),u.append(d),c(s,d),o++}n=s}}),i.off("keydown.autocomplete").on("keydown.autocomplete",function(t){var e,n=t.which,i=u.children("li").length,r=u.children(".active").first();if(13===n&&a>=0)return e=u.children("li").eq(a),void(e.length&&(e.trigger("mousedown.autocomplete"),t.preventDefault()));38!==n&&40!==n||(t.preventDefault(),38===n&&a>0&&a--,40===n&&a<i-1&&a++,r.removeClass("active"),a>=0&&u.children("li").eq(a).addClass("active"))}),u.on("mousedown.autocomplete touchstart.autocomplete","li",function(){var n=t(this).text().trim();i.val(n),i.trigger("change"),f(),"function"==typeof e.onAutocomplete&&e.onAutocomplete.call(this,n)})}})}}),t.fn.material_select=function(e){function toggleEntryFromArray(t,e,n){var i=t.indexOf(e),r=-1===i;return r?t.push(e):t.splice(i,1),n.siblings("ul.dropdown-content").find("li:not(.optgroup)").eq(e).toggleClass("active"),n.find("option").eq(e).prop("selected",r),setValueToInput(t,n),r}function setValueToInput(t,e){for(var n="",i=0,r=t.length;i<r;i++){var o=e.find("option").eq(t[i]).text();n+=0===i?o:", "+o}""===n&&(n=e.find("option:disabled").eq(0).text()),e.siblings("input.select-dropdown").val(n)}t(this).each(function(){var n=t(this);if(!n.hasClass("browser-default")){var i=!!n.attr("multiple"),r=n.data("select-id");if(r&&(n.parent().find("span.caret").remove(),n.parent().find("input").remove(),n.unwrap(),t("ul#select-options-"+r).remove()),"destroy"===e)return void n.data("select-id",null).removeClass("initialized");var o=Materialize.guid();n.data("select-id",o);var a=t('<div class="select-wrapper"></div>');a.addClass(n.attr("class"));var s=t('<ul id="select-options-'+o+'" class="dropdown-content select-dropdown '+(i?"multiple-select-dropdown":"")+'"></ul>'),l=n.children("option, optgroup"),u=[],c=!1,d=n.find("option:selected").html()||n.find("option:first").html()||"",f=function(e,n,r){var o=n.is(":disabled")?"disabled ":"",a="optgroup-option"===r?"optgroup-option ":"",l=i?'<input type="checkbox"'+o+"/><label></label>":"",u=n.data("icon"),c=n.attr("class");if(u){var d="";return c&&(d=' class="'+c+'"'),s.append(t('<li class="'+o+a+'"><img alt="" src="'+u+'"'+d+"><span>"+l+n.html()+"</span></li>")),!0}s.append(t('<li class="'+o+a+'"><span>'+l+n.html()+"</span></li>"))};l.length&&l.each(function(){if(t(this).is("option"))i?f(0,t(this),"multiple"):f(0,t(this));else if(t(this).is("optgroup")){var e=t(this).children("option");s.append(t('<li class="optgroup"><span>'+t(this).attr("label")+"</span></li>")),e.each(function(){f(0,t(this),"optgroup-option")})}}),s.find("li:not(.optgroup)").each(function(r){t(this).click(function(o){if(!t(this).hasClass("disabled")&&!t(this).hasClass("optgroup")){var a=!0;i?(t('input[type="checkbox"]',this).prop("checked",function(t,e){return!e}),a=toggleEntryFromArray(u,r,n),g.trigger("focus")):(s.find("li").removeClass("active"),t(this).toggleClass("active"),g.val(t(this).text())),v(s,t(this)),n.find("option").eq(r).prop("selected",a),n.trigger("change"),void 0!==e&&e()}o.stopPropagation()})}),n.wrap(a);var h=t('<span class="caret">&#9660;</span>');n.is(":disabled")&&h.addClass("disabled");var p=d.replace(/"/g,"&quot;"),g=t('<input type="text" class="select-dropdown" readonly="true" '+(n.is(":disabled")?"disabled":"")+' data-activates="select-options-'+o+'" value="'+p+'"/>');n.before(g),g.before(h),g.after(s),n.is(":disabled")||g.dropdown({hover:!1}),n.attr("tabindex")&&t(g[0]).attr("tabindex",n.attr("tabindex")),n.addClass("initialized"),g.on({focus:function(){if(t("ul.select-dropdown").not(s[0]).is(":visible")&&t("input.select-dropdown").trigger("close"),!s.is(":visible")){t(this).trigger("open",["focus"]);var e=t(this).val();i&&e.indexOf(",")>=0&&(e=e.split(",")[0]);var n=s.find("li").filter(function(){return t(this).text().toLowerCase()===e.toLowerCase()})[0];v(s,n,!0)}},click:function(t){t.stopPropagation()}}),g.on("blur",function(){i||t(this).trigger("close"),s.find("li.selected").removeClass("selected")}),s.hover(function(){c=!0},function(){c=!1}),t(window).on({click:function(){i&&(c||g.trigger("close"))}}),i&&n.find("option:selected:not(:disabled)").each(function(){var e=t(this).index();toggleEntryFromArray(u,e,n),s.find("li").eq(e).find(":checkbox").prop("checked",!0)});var v=function(e,n,r){if(n){e.find("li.selected").removeClass("selected");var o=t(n);o.addClass("selected"),i&&!r||s.scrollTo(o)}},m=[],y=function(e){if(9==e.which)return void g.trigger("close");if(40==e.which&&!s.is(":visible"))return void g.trigger("open");if(13!=e.which||s.is(":visible")){e.preventDefault();var n=String.fromCharCode(e.which).toLowerCase(),r=[9,13,27,38,40];if(n&&-1===r.indexOf(e.which)){m.push(n);var o=m.join(""),a=s.find("li").filter(function(){return 0===t(this).text().toLowerCase().indexOf(o)})[0];a&&v(s,a)}if(13==e.which){var l=s.find("li.selected:not(.disabled)")[0];l&&(t(l).trigger("click"),i||g.trigger("close"))}40==e.which&&(a=s.find("li.selected").length?s.find("li.selected").next("li:not(.disabled)")[0]:s.find("li:not(.disabled)")[0],v(s,a)),27==e.which&&g.trigger("close"),38==e.which&&(a=s.find("li.selected").prev("li:not(.disabled)")[0])&&v(s,a),setTimeout(function(){m=[]},1e3)}};g.on("keydown",y)}})}}(C),function(t){var e={init:function(e){var n={indicators:!0,height:400,transition:500,interval:6e3};return e=t.extend(n,e),this.each(function(){function captionTransition(t,e){t.hasClass("center-align")?t.velocity({opacity:0,translateY:-100},{duration:e,queue:!1}):t.hasClass("right-align")?t.velocity({opacity:0,translateX:100},{duration:e,queue:!1}):t.hasClass("left-align")&&t.velocity({opacity:0,translateX:-100},{duration:e,queue:!1})}function moveToSlide(t){t>=s.length?t=0:t<0&&(t=s.length-1),(l=a.find(".active").index())!=t&&(n=s.eq(l),$caption=n.find(".caption"),n.removeClass("active"),n.velocity({opacity:0},{duration:e.transition,queue:!1,easing:"easeOutQuad",complete:function(){s.not(".active").velocity({opacity:0,translateX:0,translateY:0},{duration:0,queue:!1})}}),captionTransition($caption,e.transition),e.indicators&&i.eq(l).removeClass("active"),s.eq(t).velocity({opacity:1},{duration:e.transition,queue:!1,easing:"easeOutQuad"}),s.eq(t).find(".caption").velocity({opacity:1,translateX:0,translateY:0},{duration:e.transition,delay:e.transition,queue:!1,easing:"easeOutQuad"}),s.eq(t).addClass("active"),e.indicators&&i.eq(t).addClass("active"))}var n,i,r,o=t(this),a=o.find("ul.slides").first(),s=a.find("> li"),l=a.find(".active").index();-1!=l&&(n=s.eq(l)),o.hasClass("fullscreen")||(e.indicators?o.height(e.height+40):o.height(e.height),a.height(e.height)),s.find(".caption").each(function(){captionTransition(t(this),0)}),s.find("img").each(function(){var e="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";t(this).attr("src")!==e&&(t(this).css("background-image","url("+t(this).attr("src")+")"),t(this).attr("src",e))}),e.indicators&&(i=t('<ul class="indicators"></ul>'),s.each(function(n){var o=t('<li class="indicator-item"></li>');o.click(function(){moveToSlide(a.parent().find(t(this)).index()),clearInterval(r),r=setInterval(function(){l=a.find(".active").index(),s.length==l+1?l=0:l+=1,moveToSlide(l)},e.transition+e.interval)}),i.append(o)}),o.append(i),i=o.find("ul.indicators").find("li.indicator-item")),n?n.show():(s.first().addClass("active").velocity({opacity:1},{duration:e.transition,queue:!1,easing:"easeOutQuad"}),l=0,n=s.eq(l),e.indicators&&i.eq(l).addClass("active")),n.find("img").each(function(){n.find(".caption").velocity({opacity:1,translateX:0,translateY:0},{duration:e.transition,queue:!1,easing:"easeOutQuad"})}),r=setInterval(function(){l=a.find(".active").index(),moveToSlide(l+1)},e.transition+e.interval);var u=!1,c=!1,d=!1;o.hammer({prevent_default:!1}).bind("pan",function(t){if("touch"===t.gesture.pointerType){clearInterval(r);var e=t.gesture.direction,n=t.gesture.deltaX,i=t.gesture.velocityX,l=t.gesture.velocityY;$curr_slide=a.find(".active"),Math.abs(i)>Math.abs(l)&&$curr_slide.velocity({translateX:n},{duration:50,queue:!1,easing:"easeOutQuad"}),4===e&&(n>o.innerWidth()/2||i<-.65)?d=!0:2===e&&(n<-1*o.innerWidth()/2||i>.65)&&(c=!0);var u;c&&(u=$curr_slide.next(),0===u.length&&(u=s.first()),u.velocity({opacity:1},{duration:300,queue:!1,easing:"easeOutQuad"})),d&&(u=$curr_slide.prev(),0===u.length&&(u=s.last()),u.velocity({opacity:1},{duration:300,queue:!1,easing:"easeOutQuad"}))}}).bind("panend",function(t){"touch"===t.gesture.pointerType&&($curr_slide=a.find(".active"),u=!1,curr_index=a.find(".active").index(),!d&&!c||s.length<=1?$curr_slide.velocity({translateX:0},{duration:300,queue:!1,easing:"easeOutQuad"}):c?(moveToSlide(curr_index+1),$curr_slide.velocity({translateX:-1*o.innerWidth()},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){$curr_slide.velocity({opacity:0,translateX:0},{duration:0,queue:!1})}})):d&&(moveToSlide(curr_index-1),$curr_slide.velocity({translateX:o.innerWidth()},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){$curr_slide.velocity({opacity:0,translateX:0},{duration:0,queue:!1})}})),c=!1,d=!1,clearInterval(r),r=setInterval(function(){l=a.find(".active").index(),s.length==l+1?l=0:l+=1,moveToSlide(l)},e.transition+e.interval))}),o.on("sliderPause",function(){clearInterval(r)}),o.on("sliderStart",function(){clearInterval(r),r=setInterval(function(){l=a.find(".active").index(),s.length==l+1?l=0:l+=1,moveToSlide(l)},e.transition+e.interval)}),o.on("sliderNext",function(){l=a.find(".active").index(),moveToSlide(l+1)}),o.on("sliderPrev",function(){l=a.find(".active").index(),moveToSlide(l-1)})})},pause:function(){t(this).trigger("sliderPause")},start:function(){t(this).trigger("sliderStart")},next:function(){t(this).trigger("sliderNext")},prev:function(){t(this).trigger("sliderPrev")}};t.fn.slider=function(n){return e[n]?e[n].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof n&&n?void t.error("Method "+n+" does not exist on jQuery.tooltip"):e.init.apply(this,arguments)}}(C),function(t){t(document).ready(function(){t(document).on("click.card",".card",function(e){t(this).find("> .card-reveal").length&&(t(e.target).is(t(".card-reveal .card-title"))||t(e.target).is(t(".card-reveal .card-title i"))?t(this).find(".card-reveal").velocity({translateY:0},{duration:225,queue:!1,easing:"easeInOutQuad",complete:function(){t(this).css({display:"none"})}}):(t(e.target).is(t(".card .activator"))||t(e.target).is(t(".card .activator i")))&&(t(e.target).closest(".card").css("overflow","hidden"),t(this).find(".card-reveal").css({display:"block"}).velocity("stop",!1).velocity({translateY:"-100%"},{duration:300,queue:!1,easing:"easeInOutQuad"})))})})}(C),function(t){var e={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{}};t(document).ready(function(){t(document).on("click",".chip .close",function(e){t(this).closest(".chips").attr("data-initialized")||t(this).closest(".chip").remove()})}),t.fn.material_chip=function(n){var i=this;if(this.$el=t(this),this.$document=t(document),this.SELS={CHIPS:".chips",CHIP:".chip",INPUT:"input",DELETE:".material-icons",SELECTED_CHIP:".selected"},"data"===n)return this.$el.data("chips");var r=t.extend({},e,n);i.hasAutocomplete=!t.isEmptyObject(r.autocompleteOptions.data),this.init=function(){var e=0;i.$el.each(function(){var n=t(this),o=Materialize.guid();i.chipId=o,r.data&&r.data instanceof Array||(r.data=[]),n.data("chips",r.data),n.attr("data-index",e),n.attr("data-initialized",!0),n.hasClass(i.SELS.CHIPS)||n.addClass("chips"),i.chips(n,o),e++})},this.handleEvents=function(){var e=i.SELS;i.$document.off("click.chips-focus",e.CHIPS).on("click.chips-focus",e.CHIPS,function(n){t(n.target).find(e.INPUT).focus()}),i.$document.off("click.chips-select",e.CHIP).on("click.chips-select",e.CHIP,function(n){var r=t(n.target);if(r.length){var o=r.hasClass("selected"),a=r.closest(e.CHIPS);t(e.CHIP).removeClass("selected"),o||i.selectChip(r.index(),a)}}),i.$document.off("keydown.chips").on("keydown.chips",function(n){if(!t(n.target).is("input, textarea")){var r,o=i.$document.find(e.CHIP+e.SELECTED_CHIP),a=o.closest(e.CHIPS),s=o.siblings(e.CHIP).length;if(o.length)if(8===n.which||46===n.which){n.preventDefault(),r=o.index(),i.deleteChip(r,a);var l=null;r+1<s?l=r:r!==s&&r+1!==s||(l=s-1),l<0&&(l=null),null!==l&&i.selectChip(l,a),s||a.find("input").focus()}else if(37===n.which){if((r=o.index()-1)<0)return;t(e.CHIP).removeClass("selected"),i.selectChip(r,a)}else if(39===n.which){if(r=o.index()+1,t(e.CHIP).removeClass("selected"),r>s)return void a.find("input").focus();i.selectChip(r,a)}}}),i.$document.off("focusin.chips",e.CHIPS+" "+e.INPUT).on("focusin.chips",e.CHIPS+" "+e.INPUT,function(n){var i=t(n.target).closest(e.CHIPS);i.addClass("focus"),i.siblings("label, .prefix").addClass("active"),t(e.CHIP).removeClass("selected")}),i.$document.off("focusout.chips",e.CHIPS+" "+e.INPUT).on("focusout.chips",e.CHIPS+" "+e.INPUT,function(n){var i=t(n.target).closest(e.CHIPS);i.removeClass("focus"),i.data("chips").length||i.siblings("label").removeClass("active"),i.siblings(".prefix").removeClass("active")}),i.$document.off("keydown.chips-add",e.CHIPS+" "+e.INPUT).on("keydown.chips-add",e.CHIPS+" "+e.INPUT,function(n){var r=t(n.target),o=r.closest(e.CHIPS),a=o.children(e.CHIP).length;if(13===n.which){if(i.hasAutocomplete&&o.find(".autocomplete-content.dropdown-content").length&&o.find(".autocomplete-content.dropdown-content").children().length)return;return n.preventDefault(),i.addChip({tag:r.val()},o),void r.val("")}if((8===n.keyCode||37===n.keyCode)&&""===r.val()&&a)return n.preventDefault(),i.selectChip(a-1,o),void r.blur()}),i.$document.off("click.chips-delete",e.CHIPS+" "+e.DELETE).on("click.chips-delete",e.CHIPS+" "+e.DELETE,function(n){var r=t(n.target),o=r.closest(e.CHIPS),a=r.closest(e.CHIP);n.stopPropagation(),i.deleteChip(a.index(),o),o.find("input").focus()})},this.chips=function(e,n){e.empty(),e.data("chips").forEach(function(t){e.append(i.renderChip(t))}),e.append(t('<input id="'+n+'" class="input" placeholder="">')),i.setPlaceholder(e);var o=e.next("label");o.length&&(o.attr("for",n),e.data("chips").length&&o.addClass("active"));var a=t("#"+n);i.hasAutocomplete&&(r.autocompleteOptions.onAutocomplete=function(t){i.addChip({tag:t},e),a.val(""),a.focus()},a.autocomplete(r.autocompleteOptions))},this.renderChip=function(e){if(e.tag){var n=t('<div class="chip"></div>');return n.text(e.tag),n.append(t('<i class="material-icons close">close</i>')),n}},this.setPlaceholder=function(t){t.data("chips").length&&r.placeholder?t.find("input").prop("placeholder",r.placeholder):!t.data("chips").length&&r.secondaryPlaceholder&&t.find("input").prop("placeholder",r.secondaryPlaceholder)},this.isValid=function(t,e){for(var n=t.data("chips"),i=!1,r=0;r<n.length;r++)if(n[r].tag===e.tag)return void(i=!0);return""!==e.tag&&!i},this.addChip=function(t,e){if(i.isValid(e,t)){for(var n=i.renderChip(t),r=[],o=e.data("chips"),a=0;a<o.length;a++)r.push(o[a]);r.push(t),e.data("chips",r),n.insertBefore(e.find("input")),e.trigger("chip.add",t),i.setPlaceholder(e)}},this.deleteChip=function(t,e){var n=e.data("chips")[t];e.find(".chip").eq(t).remove();for(var r=[],o=e.data("chips"),a=0;a<o.length;a++)a!==t&&r.push(o[a]);e.data("chips",r),e.trigger("chip.delete",n),i.setPlaceholder(e)},this.selectChip=function(t,e){var n=e.find(".chip").eq(t);n&&!1===n.hasClass("selected")&&(n.addClass("selected"),e.trigger("chip.select",e.data("chips")[t]))},this.getChipsElement=function(t,e){return e.eq(t)},this.init(),this.handleEvents()}}(C),function(t){t.fn.pushpin=function(e){var n={top:0,bottom:1/0,offset:0};return"remove"===e?(this.each(function(){(id=t(this).data("pushpin-id"))&&(t(window).off("scroll."+id),t(this).removeData("pushpin-id").removeClass("pin-top pinned pin-bottom").removeAttr("style"))}),!1):(e=t.extend(n,e),$index=0,this.each(function(){function removePinClasses(t){t.removeClass("pin-top"),t.removeClass("pinned"),t.removeClass("pin-bottom")}function updateElements(n,i){n.each(function(){e.top<=i&&e.bottom>=i&&!t(this).hasClass("pinned")&&(removePinClasses(t(this)),t(this).css("top",e.offset),t(this).addClass("pinned")),i<e.top&&!t(this).hasClass("pin-top")&&(removePinClasses(t(this)),t(this).css("top",0),t(this).addClass("pin-top")),i>e.bottom&&!t(this).hasClass("pin-bottom")&&(removePinClasses(t(this)),t(this).addClass("pin-bottom"),t(this).css("top",e.bottom-r))})}var n=Materialize.guid(),i=t(this),r=t(this).offset().top;t(this).data("pushpin-id",n),updateElements(i,t(window).scrollTop()),t(window).on("scroll."+n,function(){var n=t(window).scrollTop()+e.offset;updateElements(i,n)})}))}}(C),function(t){t(document).ready(function(){t.fn.reverse=[].reverse,t(document).on("mouseenter.fixedActionBtn",".fixed-action-btn:not(.click-to-toggle):not(.toolbar)",function(n){var i=t(this);e(i)}),t(document).on("mouseleave.fixedActionBtn",".fixed-action-btn:not(.click-to-toggle):not(.toolbar)",function(e){var i=t(this);n(i)}),t(document).on("click.fabClickToggle",".fixed-action-btn.click-to-toggle > a",function(i){var r=t(this),o=r.parent();o.hasClass("active")?n(o):e(o)}),t(document).on("click.fabToolbar",".fixed-action-btn.toolbar > a",function(e){var n=t(this),r=n.parent();i(r)})}),t.fn.extend({openFAB:function(){e(t(this))},closeFAB:function(){n(t(this))},openToolbar:function(){i(t(this))},closeToolbar:function(){r(t(this))}});var e=function(e){var n=e;if(!1===n.hasClass("active")){var i,r,o=n.hasClass("horizontal");!0===o?r=40:i=40,n.addClass("active"),n.find("ul .btn-floating").velocity({scaleY:".4",scaleX:".4",translateY:i+"px",translateX:r+"px"},{duration:0});var a=0;n.find("ul .btn-floating").reverse().each(function(){t(this).velocity({opacity:"1",scaleX:"1",scaleY:"1",translateY:"0",translateX:"0"},{duration:80,delay:a}),a+=40})}},n=function(t){var e,n,i=t,r=i.hasClass("horizontal");!0===r?n=40:e=40,i.removeClass("active");i.find("ul .btn-floating").velocity("stop",!0),i.find("ul .btn-floating").velocity({opacity:"0",scaleX:".4",scaleY:".4",translateY:e+"px",translateX:n+"px"},{duration:80})},i=function(e){if("true"!==e.attr("data-open")){var n,i,o,a=window.innerWidth,s=window.innerHeight,l=e[0].getBoundingClientRect(),u=e.find("> a").first(),c=e.find("> ul").first(),d=t('<div class="fab-backdrop"></div>'),f=u.css("background-color");u.append(d),n=l.left-a/2+l.width/2,i=s-l.bottom,o=a/d.width(),e.attr("data-origin-bottom",l.bottom),e.attr("data-origin-left",l.left),e.attr("data-origin-width",l.width),e.addClass("active"),e.attr("data-open",!0),e.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+n+"px)",transition:"none"}),u.css({transform:"translateY("+-i+"px)",transition:"none"}),d.css({"background-color":f}),setTimeout(function(){e.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),u.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){e.css({overflow:"hidden","background-color":f}),d.css({transform:"scale("+o+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),c.find("> li > a").css({opacity:1}),t(window).on("scroll.fabToolbarClose",function(){r(e),t(window).off("scroll.fabToolbarClose"),t(document).off("click.fabToolbarClose")}),t(document).on("click.fabToolbarClose",function(n){t(n.target).closest(c).length||(r(e),t(window).off("scroll.fabToolbarClose"),t(document).off("click.fabToolbarClose"))})},100)},0)}},r=function(t){if("true"===t.attr("data-open")){var e,n,i=window.innerWidth,r=window.innerHeight,o=t.attr("data-origin-width"),a=t.attr("data-origin-bottom"),s=t.attr("data-origin-left"),l=t.find("> .btn-floating").first(),u=t.find("> ul").first(),c=t.find(".fab-backdrop"),d=l.css("background-color");e=s-i/2+o/2,n=r-a,i/c.width(),t.removeClass("active"),t.attr("data-open",!1),t.css({"background-color":"transparent",transition:"none"}),l.css({transition:"none"}),c.css({transform:"scale(0)","background-color":d}),u.find("> li > a").css({opacity:""}),setTimeout(function(){c.remove(),t.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-e+"px,0,0)"}),l.css({overflow:"",transform:"translate3d(0,"+n+"px,0)"}),setTimeout(function(){t.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),l.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}}(C),function(t){Materialize.fadeInImage=function(e){var n;if("string"==typeof e)n=t(e);else{if("object"!=typeof e)return;n=e}n.css({opacity:0}),t(n).velocity({opacity:1},{duration:650,queue:!1,easing:"easeOutSine"}),t(n).velocity({opacity:1},{duration:1300,queue:!1,easing:"swing",step:function(e,n){n.start=100;var i=e/100,r=150-(100-e)/1.75;r<100&&(r=100),e>=0&&t(this).css({"-webkit-filter":"grayscale("+i+")brightness("+r+"%)",filter:"grayscale("+i+")brightness("+r+"%)"})}})},Materialize.showStaggeredList=function(e){var n;if("string"==typeof e)n=t(e);else{if("object"!=typeof e)return;n=e}var i=0;n.find("li").velocity({translateX:"-100px"},{duration:0}),n.find("li").each(function(){t(this).velocity({opacity:"1",translateX:"0"},{duration:800,delay:i,easing:[60,10]}),i+=120})},t(document).ready(function(){var e=!1,n=!1;t(".dismissable").each(function(){t(this).hammer({prevent_default:!1}).bind("pan",function(i){if("touch"===i.gesture.pointerType){var r=t(this),o=i.gesture.direction,a=i.gesture.deltaX,s=i.gesture.velocityX;r.velocity({translateX:a},{duration:50,queue:!1,easing:"easeOutQuad"}),4===o&&(a>r.innerWidth()/2||s<-.75)&&(e=!0),2===o&&(a<-1*r.innerWidth()/2||s>.75)&&(n=!0)}}).bind("panend",function(i){if(Math.abs(i.gesture.deltaX)<t(this).innerWidth()/2&&(n=!1,e=!1),"touch"===i.gesture.pointerType){var r=t(this);if(e||n){var o;o=e?r.innerWidth():-1*r.innerWidth(),r.velocity({translateX:o},{duration:100,queue:!1,easing:"easeOutQuad",complete:function(){r.css("border","none"),r.velocity({height:0,padding:0},{duration:200,queue:!1,easing:"easeOutQuad",complete:function(){r.remove()}})}})}else r.velocity({translateX:0},{duration:100,queue:!1,easing:"easeOutQuad"});e=!1,n=!1}})})})}(C),function(t){var e=!1;Materialize.scrollFire=function(t){var n=function(){for(var e=window.pageYOffset+window.innerHeight,n=0;n<t.length;n++){var i=t[n],r=i.selector,o=i.offset,a=i.callback,s=document.querySelector(r);if(null!==s){if(e>s.getBoundingClientRect().top+window.pageYOffset+o&&!0!==i.done){if("function"==typeof a)a.call(this,s);else if("string"==typeof a){var l=new Function(a);l(s)}i.done=!0}}}},i=Materialize.throttle(function(){n()},t.throttle||100);e||(window.addEventListener("scroll",i),window.addEventListener("resize",i),e=!0),setTimeout(i,0)}}(),function(t){b=[a(0)],h=t,T="function"==typeof h?h.apply(i,b):h}(function(t){function PickerConstructor(e,r,o,a){function createWrappedComponent(){return PickerConstructor._.node("div",PickerConstructor._.node("div",PickerConstructor._.node("div",PickerConstructor._.node("div",h.component.nodes(l.open),c.box),c.wrap),c.frame),c.holder)}function prepareElement(){d.data(r,h).addClass(c.input).attr("tabindex",-1).val(d.data("value")?h.get("select",u.format):e.value),u.editable||d.on("focus."+l.id+" click."+l.id,function(t){t.preventDefault(),h.$root.eq(0).focus()}).on("keydown."+l.id,handleKeydownEvent),aria(e,{haspopup:!0,expanded:!1,readonly:!1,owns:e.id+"_root"})}function prepareElementRoot(){h.$root.on({keydown:handleKeydownEvent,focusin:function(t){h.$root.removeClass(c.focused),t.stopPropagation()},"mousedown click":function(e){var n=e.target;n!=h.$root.children()[0]&&(e.stopPropagation(),"mousedown"!=e.type||t(n).is("input, select, textarea, button, option")||(e.preventDefault(),h.$root.eq(0).focus()))}}).on({focus:function(){d.addClass(c.target)},blur:function(){d.removeClass(c.target)}}).on("focus.toOpen",handleFocusToOpenEvent).on("click","[data-pick], [data-nav], [data-clear], [data-close]",function(){var e=t(this),n=e.data(),i=e.hasClass(c.navDisabled)||e.hasClass(c.disabled),r=getActiveElement();r=r&&(r.type||r.href),(i||r&&!t.contains(h.$root[0],r))&&h.$root.eq(0).focus(),!i&&n.nav?h.set("highlight",h.component.item.highlight,{nav:n.nav}):!i&&"pick"in n?h.set("select",n.pick):n.clear?h.clear().close(!0):n.close&&h.close(!0)}),aria(h.$root[0],"hidden",!0)}function prepareElementHidden(){var n;!0===u.hiddenName?(n=e.name,e.name=""):(n=["string"==typeof u.hiddenPrefix?u.hiddenPrefix:"","string"==typeof u.hiddenSuffix?u.hiddenSuffix:"_submit"],n=n[0]+e.name+n[1]),h._hidden=t('<input type=hidden name="'+n+'"'+(d.data("value")||e.value?' value="'+h.get("select",u.formatSubmit)+'"':"")+">")[0],d.on("change."+l.id,function(){h._hidden.value=e.value?h.get("select",u.formatSubmit):""}),u.container?t(u.container).append(h._hidden):d.after(h._hidden)}function handleKeydownEvent(t){var e=t.keyCode,n=/^(8|46)$/.test(e);if(27==e)return h.close(),!1;(32==e||n||!l.open&&h.component.key[e])&&(t.preventDefault(),t.stopPropagation(),n?h.clear().close():h.open())}function handleFocusToOpenEvent(t){t.stopPropagation(),"focus"==t.type&&h.$root.addClass(c.focused),h.open()}if(!e)return PickerConstructor;var s=!1,l={id:e.id||"P"+Math.abs(~~(Math.random()*new Date))},u=o?t.extend(!0,{},o.defaults,a):a||{},c=t.extend({},PickerConstructor.klasses(),u.klass),d=t(e),f=function(){return this.start()},h=f.prototype={constructor:f,$node:d,start:function(){return l&&l.start?h:(l.methods={},l.start=!0,l.open=!1,l.type=e.type,e.autofocus=e==getActiveElement(),e.readOnly=!u.editable,e.id=e.id||l.id,"text"!=e.type&&(e.type="text"),h.component=new o(h,u),h.$root=t(PickerConstructor._.node("div",createWrappedComponent(),c.picker,'id="'+e.id+'_root" tabindex="0"')),prepareElementRoot(),u.formatSubmit&&prepareElementHidden(),prepareElement(),u.container?t(u.container).append(h.$root):d.after(h.$root),h.on({start:h.component.onStart,render:h.component.onRender,stop:h.component.onStop,open:h.component.onOpen,close:h.component.onClose,set:h.component.onSet}).on({start:u.onStart,render:u.onRender,stop:u.onStop,open:u.onOpen,close:u.onClose,set:u.onSet}),s=isUsingDefaultTheme(h.$root.children()[0]),e.autofocus&&h.open(),h.trigger("start").trigger("render"))},render:function(t){return t?h.$root.html(createWrappedComponent()):h.$root.find("."+c.box).html(h.component.nodes(l.open)),h.trigger("render")},stop:function(){return l.start?(h.close(),h._hidden&&h._hidden.parentNode.removeChild(h._hidden),h.$root.remove(),d.removeClass(c.input).removeData(r),setTimeout(function(){d.off("."+l.id)},0),e.type=l.type,e.readOnly=!1,h.trigger("stop"),l.methods={},l.start=!1,h):h},open:function(r){return l.open?h:(d.addClass(c.active),aria(e,"expanded",!0),setTimeout(function(){h.$root.addClass(c.opened),aria(h.$root[0],"hidden",!1)},0),!1!==r&&(l.open=!0,s&&i.css("overflow","hidden").css("padding-right","+="+getScrollbarWidth()),h.$root.eq(0).focus(),n.on("click."+l.id+" focusin."+l.id,function(t){var n=t.target;n!=e&&n!=document&&3!=t.which&&h.close(n===h.$root.children()[0])}).on("keydown."+l.id,function(e){var n=e.keyCode,i=h.component.key[n],r=e.target;27==n?h.close(!0):r!=h.$root[0]||!i&&13!=n?t.contains(h.$root[0],r)&&13==n&&(e.preventDefault(),r.click()):(e.preventDefault(),i?PickerConstructor._.trigger(h.component.key.go,h,[PickerConstructor._.trigger(i)]):h.$root.find("."+c.highlighted).hasClass(c.disabled)||h.set("select",h.component.item.highlight).close())})),h.trigger("open"))},close:function(t){return t&&(h.$root.off("focus.toOpen").eq(0).focus(),setTimeout(function(){h.$root.on("focus.toOpen",handleFocusToOpenEvent)},0)),d.removeClass(c.active),aria(e,"expanded",!1),setTimeout(function(){h.$root.removeClass(c.opened+" "+c.focused),aria(h.$root[0],"hidden",!0)},0),l.open?(l.open=!1,s&&i.css("overflow","").css("padding-right","-="+getScrollbarWidth()),n.off("."+l.id),h.trigger("close")):h},clear:function(t){return h.set("clear",null,t)},set:function(e,n,i){var r,o,a=t.isPlainObject(e),s=a?e:{};if(i=a&&t.isPlainObject(n)?n:i||{},e){a||(s[e]=n);for(r in s)o=s[r],r in h.component.item&&(void 0===o&&(o=null),h.component.set(r,o,i)),"select"!=r&&"clear"!=r||d.val("clear"==r?"":h.get(r,u.format)).trigger("change");h.render()}return i.muted?h:h.trigger("set",s)},get:function(t,n){if(t=t||"value",null!=l[t])return l[t];if("valueSubmit"==t){if(h._hidden)return h._hidden.value;t="value"}if("value"==t)return e.value;if(t in h.component.item){if("string"==typeof n){var i=h.component.get(t);return i?PickerConstructor._.trigger(h.component.formats.toString,h.component,[n,i]):""}return h.component.get(t)}},on:function(e,n,i){var r,o,a=t.isPlainObject(e),s=a?e:{};if(e){a||(s[e]=n);for(r in s)o=s[r],i&&(r="_"+r),l.methods[r]=l.methods[r]||[],l.methods[r].push(o)}return h},off:function(){var t,e,n=arguments;for(t=0,namesCount=n.length;t<namesCount;t+=1)(e=n[t])in l.methods&&delete l.methods[e];return h},trigger:function(t,e){var n=function(t){var n=l.methods[t];n&&n.map(function(t){PickerConstructor._.trigger(t,h,[e])})};return n("_"+t),n(t),h}};return new f}function isUsingDefaultTheme(t){var e;return t.currentStyle?e=t.currentStyle.position:window.getComputedStyle&&(e=getComputedStyle(t).position),"fixed"==e}function getScrollbarWidth(){if(i.height()<=e.height())return 0;var n=t('<div style="visibility:hidden;width:100px" />').appendTo("body"),r=n[0].offsetWidth;n.css("overflow","scroll");var o=t('<div style="width:100%" />').appendTo(n),a=o[0].offsetWidth;return n.remove(),r-a}function aria(e,n,i){if(t.isPlainObject(n))for(var r in n)ariaSet(e,r,n[r]);else ariaSet(e,n,i)}function ariaSet(t,e,n){t.setAttribute(("role"==e?"":"aria-")+e,n)}function ariaAttr(e,n){t.isPlainObject(e)||(e={attribute:n}),n="";for(var i in e){var r=("role"==i?"":"aria-")+i;n+=null==e[i]?"":r+'="'+e[i]+'"'}return n}function getActiveElement(){try{return document.activeElement}catch(t){}}var e=t(window),n=t(document),i=t(document.documentElement);return PickerConstructor.klasses=function(t){return t=t||"picker",{picker:t,opened:t+"--opened",focused:t+"--focused",input:t+"__input",active:t+"__input--active",target:t+"__input--target",holder:t+"__holder",frame:t+"__frame",wrap:t+"__wrap",box:t+"__box"}},PickerConstructor._={group:function(t){for(var e,n="",i=PickerConstructor._.trigger(t.min,t);i<=PickerConstructor._.trigger(t.max,t,[i]);i+=t.i)e=PickerConstructor._.trigger(t.item,t,[i]),n+=PickerConstructor._.node(t.node,e[0],e[1],e[2]);return n},node:function(e,n,i,r){return n?(n=t.isArray(n)?n.join(""):n,i=i?' class="'+i+'"':"",r=r?" "+r:"","<"+e+i+r+">"+n+"</"+e+">"):""},lead:function(t){return(t<10?"0":"")+t},trigger:function(t,e,n){return"function"==typeof t?t.apply(e,n||[]):t},digits:function(t){return/\d/.test(t[1])?2:1},isDate:function(t){return{}.toString.call(t).indexOf("Date")>-1&&this.isInteger(t.getDate())},isInteger:function(t){return{}.toString.call(t).indexOf("Number")>-1&&t%1==0},ariaAttr:ariaAttr},PickerConstructor.extend=function(e,n){t.fn[e]=function(i,r){var o=this.data(e);return"picker"==i?o:o&&"string"==typeof i?PickerConstructor._.trigger(o[i],o,[r]):this.each(function(){t(this).data(e)||new PickerConstructor(this,e,n,i)})},t.fn[e].defaults=n.defaults},PickerConstructor}),function(t){b=[T,a(0)],h=t,void 0!==(g="function"==typeof h?h.apply(i,b):h)&&(e.exports=g)}(function(t,e){function DatePicker(t,e){var n=this,i=t.$node[0],r=i.value,o=t.$node.data("value"),a=o||r,s=o?e.formatSubmit:e.format,l=function(){return i.currentStyle?"rtl"==i.currentStyle.direction:"rtl"==getComputedStyle(t.$root[0]).direction};n.settings=e,n.$node=t.$node,n.queue={min:"measure create",max:"measure create",now:"now create",select:"parse create validate",highlight:"parse navigate create validate",view:"parse create validate viewset",disable:"deactivate",enable:"activate"},n.item={},n.item.clear=null,n.item.disable=(e.disable||[]).slice(0),n.item.enable=-function(t){return!0===t[0]?t.shift():-1}(n.item.disable),n.set("min",e.min).set("max",e.max).set("now"),a?n.set("select",a,{format:s}):n.set("select",null).set("highlight",n.item.now),n.key={40:7,38:-7,39:function(){return l()?-1:1},37:function(){return l()?1:-1},go:function(t){var e=n.item.highlight,i=new Date(e.year,e.month,e.date+t);n.set("highlight",i,{interval:t}),this.render()}},t.on("render",function(){t.$root.find("."+e.klass.selectMonth).on("change",function(){var n=this.value;n&&(t.set("highlight",[t.get("view").year,n,t.get("highlight").date]),t.$root.find("."+e.klass.selectMonth).trigger("focus"))}),t.$root.find("."+e.klass.selectYear).on("change",function(){var n=this.value;n&&(t.set("highlight",[n,t.get("view").month,t.get("highlight").date]),t.$root.find("."+e.klass.selectYear).trigger("focus"))})},1).on("open",function(){var i="";n.disabled(n.get("now"))&&(i=":not(."+e.klass.buttonToday+")"),t.$root.find("button"+i+", select").attr("disabled",!1)},1).on("close",function(){t.$root.find("button, select").attr("disabled",!0)},1)}var n=t._;DatePicker.prototype.set=function(t,e,n){var i=this,r=i.item;return null===e?("clear"==t&&(t="select"),r[t]=e,i):(r["enable"==t?"disable":"flip"==t?"enable":t]=i.queue[t].split(" ").map(function(r){return e=i[r](t,e,n)}).pop(),"select"==t?i.set("highlight",r.select,n):"highlight"==t?i.set("view",r.highlight,n):t.match(/^(flip|min|max|disable|enable)$/)&&(r.select&&i.disabled(r.select)&&i.set("select",r.select,n),r.highlight&&i.disabled(r.highlight)&&i.set("highlight",r.highlight,n)),i)},DatePicker.prototype.get=function(t){return this.item[t]},DatePicker.prototype.create=function(t,i,r){var o,a=this;return i=void 0===i?t:i,i==-1/0||i==1/0?o=i:e.isPlainObject(i)&&n.isInteger(i.pick)?i=i.obj:e.isArray(i)?(i=new Date(i[0],i[1],i[2]),i=n.isDate(i)?i:a.create().obj):i=n.isInteger(i)||n.isDate(i)?a.normalize(new Date(i),r):a.now(t,i,r),{year:o||i.getFullYear(),month:o||i.getMonth(),date:o||i.getDate(),day:o||i.getDay(),obj:o||i,pick:o||i.getTime()}},DatePicker.prototype.createRange=function(t,i){var r=this,o=function(t){return!0===t||e.isArray(t)||n.isDate(t)?r.create(t):t};return n.isInteger(t)||(t=o(t)),n.isInteger(i)||(i=o(i)),n.isInteger(t)&&e.isPlainObject(i)?t=[i.year,i.month,i.date+t]:n.isInteger(i)&&e.isPlainObject(t)&&(i=[t.year,t.month,t.date+i]),{from:o(t),to:o(i)}},DatePicker.prototype.withinRange=function(t,e){return t=this.createRange(t.from,t.to),e.pick>=t.from.pick&&e.pick<=t.to.pick},DatePicker.prototype.overlapRanges=function(t,e){var n=this;return t=n.createRange(t.from,t.to),e=n.createRange(e.from,e.to),n.withinRange(t,e.from)||n.withinRange(t,e.to)||n.withinRange(e,t.from)||n.withinRange(e,t.to)},DatePicker.prototype.now=function(t,e,n){return e=new Date,n&&n.rel&&e.setDate(e.getDate()+n.rel),this.normalize(e,n)},DatePicker.prototype.navigate=function(t,n,i){var r,o,a,s,l=e.isArray(n),u=e.isPlainObject(n),c=this.item.view;if(l||u){for(u?(o=n.year,a=n.month,s=n.date):(o=+n[0],a=+n[1],s=+n[2]),i&&i.nav&&c&&c.month!==a&&(o=c.year,a=c.month),r=new Date(o,a+(i&&i.nav?i.nav:0),1),o=r.getFullYear(),a=r.getMonth();new Date(o,a,s).getMonth()!==a;)s-=1;n=[o,a,s]}return n},DatePicker.prototype.normalize=function(t){return t.setHours(0,0,0,0),t},DatePicker.prototype.measure=function(t,e){var i=this;return e?"string"==typeof e?e=i.parse(t,e):n.isInteger(e)&&(e=i.now(t,e,{rel:e})):e="min"==t?-1/0:1/0,e},DatePicker.prototype.viewset=function(t,e){return this.create([e.year,e.month,1])},DatePicker.prototype.validate=function(t,i,r){var o,a,s,l,u=this,c=i,d=r&&r.interval?r.interval:1,f=-1===u.item.enable,h=u.item.min,p=u.item.max,g=f&&u.item.disable.filter(function(t){if(e.isArray(t)){var r=u.create(t).pick;r<i.pick?o=!0:r>i.pick&&(a=!0)}return n.isInteger(t)}).length;if((!r||!r.nav)&&(!f&&u.disabled(i)||f&&u.disabled(i)&&(g||o||a)||!f&&(i.pick<=h.pick||i.pick>=p.pick)))for(f&&!g&&(!a&&d>0||!o&&d<0)&&(d*=-1);u.disabled(i)&&(Math.abs(d)>1&&(i.month<c.month||i.month>c.month)&&(i=c,d=d>0?1:-1),i.pick<=h.pick?(s=!0,d=1,i=u.create([h.year,h.month,h.date+(i.pick===h.pick?0:-1)])):i.pick>=p.pick&&(l=!0,d=-1,i=u.create([p.year,p.month,p.date+(i.pick===p.pick?0:1)])),!s||!l);)i=u.create([i.year,i.month,i.date+d]);return i},DatePicker.prototype.disabled=function(t){var i=this,r=i.item.disable.filter(function(r){return n.isInteger(r)?t.day===(i.settings.firstDay?r:r-1)%7:e.isArray(r)||n.isDate(r)?t.pick===i.create(r).pick:e.isPlainObject(r)?i.withinRange(r,t):void 0});return r=r.length&&!r.filter(function(t){return e.isArray(t)&&"inverted"==t[3]||e.isPlainObject(t)&&t.inverted}).length,-1===i.item.enable?!r:r||t.pick<i.item.min.pick||t.pick>i.item.max.pick},DatePicker.prototype.parse=function(t,e,i){var r=this,o={};return e&&"string"==typeof e?(i&&i.format||(i=i||{},i.format=r.settings.format),r.formats.toArray(i.format).map(function(t){var i=r.formats[t],a=i?n.trigger(i,r,[e,o]):t.replace(/^!/,"").length;i&&(o[t]=e.substr(0,a)),e=e.substr(a)}),[o.yyyy||o.yy,+(o.mm||o.m)-1,o.dd||o.d]):e},DatePicker.prototype.formats=function(){function getWordLengthFromCollection(t,e,n){var i=t.match(/\w+/)[0];return n.mm||n.m||(n.m=e.indexOf(i)+1),i.length}function getFirstWordLength(t){return t.match(/\w+/)[0].length}return{d:function(t,e){return t?n.digits(t):e.date},dd:function(t,e){return t?2:n.lead(e.date)},ddd:function(t,e){return t?getFirstWordLength(t):this.settings.weekdaysShort[e.day]},dddd:function(t,e){return t?getFirstWordLength(t):this.settings.weekdaysFull[e.day]},m:function(t,e){return t?n.digits(t):e.month+1},mm:function(t,e){return t?2:n.lead(e.month+1)},mmm:function(t,e){var n=this.settings.monthsShort;return t?getWordLengthFromCollection(t,n,e):n[e.month]},mmmm:function(t,e){var n=this.settings.monthsFull;return t?getWordLengthFromCollection(t,n,e):n[e.month]},yy:function(t,e){return t?2:(""+e.year).slice(2)},yyyy:function(t,e){return t?4:e.year},toArray:function(t){return t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g)},toString:function(t,e){var i=this;return i.formats.toArray(t).map(function(t){return n.trigger(i.formats[t],i,[0,e])||t.replace(/^!/,"")}).join("")}}}(),DatePicker.prototype.isDateExact=function(t,i){var r=this;return n.isInteger(t)&&n.isInteger(i)||"boolean"==typeof t&&"boolean"==typeof i?t===i:(n.isDate(t)||e.isArray(t))&&(n.isDate(i)||e.isArray(i))?r.create(t).pick===r.create(i).pick:!(!e.isPlainObject(t)||!e.isPlainObject(i))&&(r.isDateExact(t.from,i.from)&&r.isDateExact(t.to,i.to))},DatePicker.prototype.isDateOverlap=function(t,i){var r=this,o=r.settings.firstDay?1:0;return n.isInteger(t)&&(n.isDate(i)||e.isArray(i))?(t=t%7+o)===r.create(i).day+1:n.isInteger(i)&&(n.isDate(t)||e.isArray(t))?(i=i%7+o)===r.create(t).day+1:!(!e.isPlainObject(t)||!e.isPlainObject(i))&&r.overlapRanges(t,i)},DatePicker.prototype.flipEnable=function(t){var e=this.item;e.enable=t||(-1==e.enable?1:-1)},DatePicker.prototype.deactivate=function(t,i){var r=this,o=r.item.disable.slice(0);return"flip"==i?r.flipEnable():!1===i?(r.flipEnable(1),o=[]):!0===i?(r.flipEnable(-1),o=[]):i.map(function(t){for(var i,a=0;a<o.length;a+=1)if(r.isDateExact(t,o[a])){i=!0;break}i||(n.isInteger(t)||n.isDate(t)||e.isArray(t)||e.isPlainObject(t)&&t.from&&t.to)&&o.push(t)}),o},DatePicker.prototype.activate=function(t,i){var r=this,o=r.item.disable,a=o.length;return"flip"==i?r.flipEnable():!0===i?(r.flipEnable(1),o=[]):!1===i?(r.flipEnable(-1),o=[]):i.map(function(t){var i,s,l,u;for(l=0;l<a;l+=1){if(s=o[l],r.isDateExact(s,t)){i=o[l]=null,u=!0;break}if(r.isDateOverlap(s,t)){e.isPlainObject(t)?(t.inverted=!0,i=t):e.isArray(t)?(i=t,i[3]||i.push("inverted")):n.isDate(t)&&(i=[t.getFullYear(),t.getMonth(),t.getDate(),"inverted"]);break}}if(i)for(l=0;l<a;l+=1)if(r.isDateExact(o[l],t)){o[l]=null;break}if(u)for(l=0;l<a;l+=1)if(r.isDateOverlap(o[l],t)){o[l]=null;break}i&&o.push(i)}),o.filter(function(t){return null!=t})},DatePicker.prototype.nodes=function(t){var e=this,i=e.settings,r=e.item,o=r.now,a=r.select,s=r.highlight,l=r.view,u=r.disable,c=r.min,d=r.max,f=function(t,e){return i.firstDay&&(t.push(t.shift()),e.push(e.shift())),n.node("thead",n.node("tr",n.group({min:0,max:6,i:1,node:"th",item:function(n){return[t[n],i.klass.weekdays,'scope=col title="'+e[n]+'"']}})))}((i.showWeekdaysFull?i.weekdaysFull:i.weekdaysLetter).slice(0),i.weekdaysFull.slice(0)),h=function(t){return n.node("div"," ",i.klass["nav"+(t?"Next":"Prev")]+(t&&l.year>=d.year&&l.month>=d.month||!t&&l.year<=c.year&&l.month<=c.month?" "+i.klass.navDisabled:""),"data-nav="+(t||-1)+" "+n.ariaAttr({role:"button",controls:e.$node[0].id+"_table"})+' title="'+(t?i.labelMonthNext:i.labelMonthPrev)+'"')},p=function(r){var o=i.showMonthsShort?i.monthsShort:i.monthsFull;return"short_months"==r&&(o=i.monthsShort),i.selectMonths&&void 0==r?n.node("select",n.group({min:0,max:11,i:1,node:"option",item:function(t){return[o[t],0,"value="+t+(l.month==t?" selected":"")+(l.year==c.year&&t<c.month||l.year==d.year&&t>d.month?" disabled":"")]}}),i.klass.selectMonth+" browser-default",(t?"":"disabled")+" "+n.ariaAttr({controls:e.$node[0].id+"_table"})+' title="'+i.labelMonthSelect+'"'):"short_months"==r?null!=a?n.node("div",o[a.month]):n.node("div",o[l.month]):n.node("div",o[l.month],i.klass.month)},g=function(r){var o=l.year,a=!0===i.selectYears?5:~~(i.selectYears/2);if(a){var s=c.year,u=d.year,f=o-a,h=o+a;if(s>f&&(h+=s-f,f=s),u<h){var p=f-s,g=h-u;f-=p>g?g:p,h=u}if(i.selectYears&&void 0==r)return n.node("select",n.group({min:f,max:h,i:1,node:"option",item:function(t){return[t,0,"value="+t+(o==t?" selected":"")]}}),i.klass.selectYear+" browser-default",(t?"":"disabled")+" "+n.ariaAttr({controls:e.$node[0].id+"_table"})+' title="'+i.labelYearSelect+'"')}return"raw"==r?n.node("div",o):n.node("div",o,i.klass.year)};return createDayLabel=function(){return null!=a?n.node("div",a.date):n.node("div",o.date)},createWeekdayLabel=function(){var t;return t=null!=a?a.day:o.day,i.weekdaysFull[t]},n.node("div",n.node("div",createWeekdayLabel(),"picker__weekday-display")+n.node("div",p("short_months"),i.klass.month_display)+n.node("div",createDayLabel(),i.klass.day_display)+n.node("div",g("raw"),i.klass.year_display),i.klass.date_display)+n.node("div",n.node("div",(i.selectYears,p()+g()+h()+h(1)),i.klass.header)+n.node("table",f+n.node("tbody",n.group({min:0,max:5,i:1,node:"tr",item:function(t){var r=i.firstDay&&0===e.create([l.year,l.month,1]).day?-7:0;return[n.group({min:7*t-l.day+r+1,max:function(){return this.min+7-1},i:1,node:"td",item:function(t){t=e.create([l.year,l.month,t+(i.firstDay?1:0)]);var r=a&&a.pick==t.pick,f=s&&s.pick==t.pick,h=u&&e.disabled(t)||t.pick<c.pick||t.pick>d.pick,p=n.trigger(e.formats.toString,e,[i.format,t]);return[n.node("div",t.date,function(e){return e.push(l.month==t.month?i.klass.infocus:i.klass.outfocus),o.pick==t.pick&&e.push(i.klass.now),r&&e.push(i.klass.selected),f&&e.push(i.klass.highlighted),h&&e.push(i.klass.disabled),e.join(" ")}([i.klass.day]),"data-pick="+t.pick+" "+n.ariaAttr({role:"gridcell",label:p,selected:!(!r||e.$node.val()!==p)||null,activedescendant:!!f||null,disabled:!!h||null})),"",n.ariaAttr({role:"presentation"})]}})]}})),i.klass.table,'id="'+e.$node[0].id+'_table" '+n.ariaAttr({role:"grid",controls:e.$node[0].id,readonly:!0})),i.klass.calendar_container)+n.node("div",n.node("button",i.today,"btn-flat picker__today","type=button data-pick="+o.pick+(t&&!e.disabled(o)?"":" disabled")+" "+n.ariaAttr({controls:e.$node[0].id}))+n.node("button",i.clear,"btn-flat picker__clear","type=button data-clear=1"+(t?"":" disabled")+" "+n.ariaAttr({controls:e.$node[0].id}))+n.node("button",i.close,"btn-flat picker__close","type=button data-close=true "+(t?"":" disabled")+" "+n.ariaAttr({controls:e.$node[0].id})),i.klass.footer)},DatePicker.defaults=function(t){return{labelMonthNext:"Next month",labelMonthPrev:"Previous month",labelMonthSelect:"Select a month",labelYearSelect:"Select a year",monthsFull:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdaysFull:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysLetter:["S","M","T","W","T","F","S"],today:"Today",clear:"Clear",close:"Close",format:"d mmmm, yyyy",klass:{table:t+"table",header:t+"header",date_display:t+"date-display",day_display:t+"day-display",month_display:t+"month-display",year_display:t+"year-display",calendar_container:t+"calendar-container",navPrev:t+"nav--prev",navNext:t+"nav--next",navDisabled:t+"nav--disabled",month:t+"month",year:t+"year",selectMonth:t+"select--month",selectYear:t+"select--year",weekdays:t+"weekday",day:t+"day",disabled:t+"day--disabled",selected:t+"day--selected",highlighted:t+"day--highlighted",now:t+"day--today",infocus:t+"day--infocus",outfocus:t+"day--outfocus",footer:t+"footer",buttonClear:t+"button--clear",buttonToday:t+"button--today",buttonClose:t+"button--close"}}}(t.klasses().picker+"__"),t.extend("pickadate",DatePicker)}),function(t){function updateCounter(){var e=+t(this).attr("data-length"),n=+t(this).val().length,i=n<=e;t(this).parent().find('span[class="character-counter"]').html(n+"/"+e),addInputStyle(i,t(this))}function addCounterElement(e){var n=e.parent().find('span[class="character-counter"]');n.length||(n=t("<span/>").addClass("character-counter").css("float","right").css("font-size","12px").css("height",1),e.parent().append(n))}function removeCounterElement(){t(this).parent().find('span[class="character-counter"]').html("")}function addInputStyle(t,e){var n=e.hasClass("invalid");t&&n?e.removeClass("invalid"):t||n||(e.removeClass("valid"),e.addClass("invalid"))}t.fn.characterCounter=function(){return this.each(function(){var e=t(this);e.parent().find('span[class="character-counter"]').length||void 0!==e.attr("data-length")&&(e.on("input",updateCounter),e.on("focus",updateCounter),e.on("blur",removeCounterElement),addCounterElement(e))})},t(document).ready(function(){t("input, textarea").characterCounter()})}(C),function(t){var e={init:function(e){var n={duration:200,dist:-100,shift:0,padding:0,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null};e=t.extend(n,e);var i=Materialize.objectSelectorString(t(this));return this.each(function(n){function xpos(t){return t.targetTouches&&t.targetTouches.length>=1?t.targetTouches[0].clientX:t.clientX}function ypos(t){return t.targetTouches&&t.targetTouches.length>=1?t.targetTouches[0].clientY:t.clientY}function wrap(t){return t>=d?t%d:t<0?wrap(d+t%d):t}function scroll(n){m=!0,A.hasClass("scrolling")||A.addClass("scrolling"),null!=_&&window.clearTimeout(_),_=window.setTimeout(function(){m=!1,A.removeClass("scrolling")},e.duration);var i,u,f,h,p,g,v,y=l;if(s="number"==typeof n?n:s,l=Math.floor((s+c/2)/c),f=s-l*c,h=f<0?1:-1,p=-h*f*2/c,u=d>>1,e.fullWidth?v="translateX(0)":(v="translateX("+(A[0].clientWidth-o)/2+"px) ",v+="translateY("+(A[0].clientHeight-a)/2+"px)"),P){var w=l%d,x=S.find(".indicator-item.active");x.index()!==w&&(x.removeClass("active"),S.find(".indicator-item").eq(w).addClass("active"))}for((!e.noWrap||l>=0&&l<d)&&(g=r[wrap(l)],t(g).hasClass("active")||(A.find(".carousel-item").removeClass("active"),t(g).addClass("active")),g.style[b]=v+" translateX("+-f/2+"px) translateX("+h*e.shift*p*i+"px) translateZ("+e.dist*p+"px)",g.style.zIndex=0,e.fullWidth?tweenedOpacity=1:tweenedOpacity=1-.2*p,g.style.opacity=tweenedOpacity,g.style.display="block"),i=1;i<=u;++i)e.fullWidth?(zTranslation=e.dist,tweenedOpacity=i===u&&f<0?1-p:1):(zTranslation=e.dist*(2*i+p*h),tweenedOpacity=1-.2*(2*i+p*h)),(!e.noWrap||l+i<d)&&(g=r[wrap(l+i)],g.style[b]=v+" translateX("+(e.shift+(c*i-f)/2)+"px) translateZ("+zTranslation+"px)",g.style.zIndex=-i,g.style.opacity=tweenedOpacity,g.style.display="block"),e.fullWidth?(zTranslation=e.dist,tweenedOpacity=i===u&&f>0?1-p:1):(zTranslation=e.dist*(2*i-p*h),tweenedOpacity=1-.2*(2*i-p*h)),(!e.noWrap||l-i>=0)&&(g=r[wrap(l-i)],g.style[b]=v+" translateX("+(-e.shift+(-c*i-f)/2)+"px) translateZ("+zTranslation+"px)",g.style.zIndex=-i,g.style.opacity=tweenedOpacity,g.style.display="block");if((!e.noWrap||l>=0&&l<d)&&(g=r[wrap(l)],g.style[b]=v+" translateX("+-f/2+"px) translateX("+h*e.shift*p+"px) translateZ("+e.dist*p+"px)",g.style.zIndex=0,e.fullWidth?tweenedOpacity=1:tweenedOpacity=1-.2*p,g.style.opacity=tweenedOpacity,g.style.display="block"),y!==l&&"function"==typeof e.onCycleTo){var T=A.find(".carousel-item").eq(wrap(l));e.onCycleTo.call(this,T,C)}}function track(){var t,e,n,i;t=Date.now(),e=t-x,x=t,n=s-w,w=s,i=1e3*n/(1+e),v=.8*i+.2*v}function autoScroll(){var t,n;p&&(t=Date.now()-x,n=p*Math.exp(-t/e.duration),n>2||n<-2?(scroll(g-n),requestAnimationFrame(autoScroll)):scroll(g))}function click(n){if(C)return n.preventDefault(),n.stopPropagation(),!1;if(!e.fullWidth){var i=t(n.target).closest(".carousel-item").index();0!==l%d-i&&(n.preventDefault(),n.stopPropagation()),cycleTo(i)}}function cycleTo(t){var n=l%d-t;e.noWrap||(n<0?Math.abs(n+d)<Math.abs(n)&&(n+=d):n>0&&Math.abs(n-d)<n&&(n-=d)),n<0?A.trigger("carouselNext",[Math.abs(n)]):n>0&&A.trigger("carouselPrev",[n])}function tap(t){t.preventDefault(),u=!0,C=!1,k=!1,f=xpos(t),h=ypos(t),v=p=0,w=s,x=Date.now(),clearInterval(T),T=setInterval(track,100)}function drag(t){var e,n;if(u)if(e=xpos(t),y=ypos(t),n=f-e,Math.abs(h-y)<30&&!k)(n>2||n<-2)&&(C=!0,f=e,scroll(s+n));else{if(C)return t.preventDefault(),t.stopPropagation(),!1;k=!0}if(C)return t.preventDefault(),t.stopPropagation(),!1}function release(t){if(u)return u=!1,clearInterval(T),g=s,(v>10||v<-10)&&(p=.9*v,g=s+p),g=Math.round(g/c)*c,e.noWrap&&(g>=c*(d-1)?g=c*(d-1):g<0&&(g=0)),p=g-s,x=Date.now(),requestAnimationFrame(autoScroll),C&&(t.preventDefault(),t.stopPropagation()),!1}var r,o,a,s,l,u,c,d,f,h,p,g,v,m,b,w,x,T,C,k,E=i+n,S=t('<ul class="indicators"></ul>'),_=null,A=t(this),P=A.attr("data-indicators")||e.indicators;if(e.fullWidth&&(e.dist=0,function(){var e=A.find(".carousel-item img").first();if(e.length)e.prop("complete")?A.css("height",e.height()):e.on("load",function(){A.css("height",t(this).height())});else{var n=A.find(".carousel-item").first().height();A.css("height",n)}}(),P&&A.find(".carousel-fixed-item").addClass("with-indicators")),A.hasClass("initialized"))return t(window).trigger("resize"),t(this).trigger("carouselNext",[1e-6]),!0;A.addClass("initialized"),u=!1,s=g=0,r=[],o=A.find(".carousel-item").first().innerWidth(),a=A.find(".carousel-item").first().innerHeight(),c=2*o+e.padding,A.find(".carousel-item").each(function(e){if(r.push(t(this)[0]),P){var n=t('<li class="indicator-item"></li>');0===e&&n.addClass("active"),n.click(function(e){e.stopPropagation(),cycleTo(t(this).index())}),S.append(n)}}),P&&A.append(S),d=r.length,b="transform",["webkit","Moz","O","ms"].every(function(t){var e=t+"Transform";return void 0===document.body.style[e]||(b=e,!1)}),t(window).off("resize.carousel-"+E).on("resize.carousel-"+E,function(){e.fullWidth?(o=A.find(".carousel-item").first().innerWidth(),a=A.find(".carousel-item").first().innerHeight(),c=2*o+e.padding,s=2*l*o,g=s):scroll()}),function(){void 0!==window.ontouchstart&&(A[0].addEventListener("touchstart",tap),A[0].addEventListener("touchmove",drag),A[0].addEventListener("touchend",release)),A[0].addEventListener("mousedown",tap),A[0].addEventListener("mousemove",drag),A[0].addEventListener("mouseup",release),A[0].addEventListener("mouseleave",release),A[0].addEventListener("click",click)}(),scroll(s),t(this).on("carouselNext",function(t,e){void 0===e&&(e=1),g=c*Math.round(s/c)+c*e,s!==g&&(p=g-s,x=Date.now(),requestAnimationFrame(autoScroll))}),t(this).on("carouselPrev",function(t,e){void 0===e&&(e=1),g=c*Math.round(s/c)-c*e,s!==g&&(p=g-s,x=Date.now(),requestAnimationFrame(autoScroll))}),t(this).on("carouselSet",function(t,e){void 0===e&&(e=0),cycleTo(e)})})},next:function(e){t(this).trigger("carouselNext",[e])},prev:function(e){t(this).trigger("carouselPrev",[e])},set:function(e){t(this).trigger("carouselSet",[e])}};t.fn.carousel=function(n){return e[n]?e[n].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof n&&n?void t.error("Method "+n+" does not exist on jQuery.carousel"):e.init.apply(this,arguments)}}(C),function(t){var e={init:function(e){return this.each(function(){var n=t("#"+t(this).attr("data-activates")),i=(t("body"),t(this)),r=i.parent(".tap-target-wrapper"),o=r.find(".tap-target-wave"),a=r.find(".tap-target-origin"),s=i.find(".tap-target-content");r.length||(r=i.wrap(t('<div class="tap-target-wrapper"></div>')).parent()),s.length||(s=t('<div class="tap-target-content"></div>'),i.append(s)),o.length||(o=t('<div class="tap-target-wave"></div>'),a.length||(a=n.clone(!0,!0),a.addClass("tap-target-origin"),a.removeAttr("id"),a.removeAttr("style"),o.append(a)),r.append(o));var l=function(){r.is(".open")&&(r.removeClass("open"),a.off("click.tapTarget"),t(document).off("click.tapTarget"),t(window).off("resize.tapTarget"))},u=function(){var e="fixed"===n.css("position");if(!e)for(var a=n.parents(),l=0;l<a.length&&!(e="fixed"==t(a[l]).css("position"));l++);var u=n.outerWidth(),c=n.outerHeight(),d=e?n.offset().top-t(document).scrollTop():n.offset().top,f=e?n.offset().left-t(document).scrollLeft():n.offset().left,h=t(window).width(),p=t(window).height(),g=h/2,v=p/2,m=f<=g,y=f>g,b=d<=v,w=d>v,x=f>=.25*h&&f<=.75*h,T=i.outerWidth(),C=i.outerHeight(),k=d+c/2-C/2,E=f+u/2-T/2,S=e?"fixed":"absolute",_=x?T:T/2+u,A=C/2,P=b?C/2:0,D=m&&!x?T/2-u:0,O=u,N=w?"bottom":"top",M=2*u,I=M,R=C/2-I/2,L=T/2-M/2,z={};z.top=b?k:"",z.right=y?h-E-T:"",z.bottom=w?p-k-C:"",z.left=m?E:"",z.position=S,r.css(z),s.css({width:_,height:A,top:P,right:0,bottom:0,left:D,padding:O,verticalAlign:N}),o.css({top:R,left:L,width:M,height:I})};"open"==e&&(u(),function(){r.is(".open")||(r.addClass("open"),setTimeout(function(){a.off("click.tapTarget").on("click.tapTarget",function(t){l(),a.off("click.tapTarget")}),t(document).off("click.tapTarget").on("click.tapTarget",function(e){l(),t(document).off("click.tapTarget")});var e=Materialize.throttle(function(){u()},200);t(window).off("resize.tapTarget").on("resize.tapTarget",e)},0))}()),"close"==e&&l()})},open:function(){},close:function(){}};t.fn.tapTarget=function(n){if(e[n]||"object"==typeof n)return e.init.apply(this,arguments);t.error("Method "+n+" does not exist on jQuery.tap-target")}}(C)}).call(i,a(0),a(0))},,,function(t,e,n){"use strict";var i=n(0),r=function(t){return t&&t.__esModule?t:{default:t}}(i);n(50),n(51),n(21);var o=n(46);n(45),n(44),n(49),(0,r.default)(document).ready(function(){(0,r.default)(".button-collapse").sideNav(),(0,r.default)("select").material_select(),(0,r.default)(".collapsible").collapsible({accordion:!1}),(0,r.default)(".datepicker").pickadate({selectMonths:!0,selectYears:15,formatSubmit:"dd/mm/yyyy",hiddenName:!0,format:"dd/mm/yyyy",container:"body"}),(0,o.initFilters)(),(0,o.initExport)();var t=function(t,e){(0,r.default)(".nav-panel-actions").hide(100),(0,r.default)(t).show(100),(0,r.default)(".nav-panels").css("background","white"),(0,r.default)(e).focus()};(0,r.default)("#nav-btn-add-tag").on("click",function(){return(0,r.default)(".nav-panel-add-tag").toggle(100),(0,r.default)(".nav-panel-menu").addClass("hidden"),(0,r.default)("#tag_label").focus(),!1}),(0,r.default)("#nav-btn-add").on("click",function(){return t(".nav-panel-add","#entry_url"),!1});var e=(0,r.default)(".nav-panel-add");e.on("submit",function(){e.addClass("disabled"),(0,r.default)("input#entry_url",e).prop("readonly",!0).trigger("blur")}),(0,r.default)("#nav-btn-search").on("click",function(){return t(".nav-panel-search","#search_entry_term"),!1}),(0,r.default)(".close").on("click",function(t){return(0,r.default)(t.target).parent(".nav-panel-item").hide(100),(0,r.default)(".nav-panel-actions").show(100),(0,r.default)(".nav-panels").css("background","transparent"),!1}),(0,r.default)(window).scroll(function(){var t=(0,r.default)(window).scrollTop(),e=(0,r.default)(document).height(),n=(0,r.default)(window).height(),i=t/(e-n)*100;(0,r.default)(".progress .determinate").css("width",i+"%")})})},,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){var i;!function(r,o,a,s){"use strict";function setTimeoutContext(t,e,n){return setTimeout(bindFn(t,n),e)}function invokeArrayArg(t,e,n){return!!Array.isArray(t)&&(each(t,n[e],n),!0)}function each(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==s)for(i=0;i<t.length;)e.call(n,t[i],i,t),i++;else for(i in t)t.hasOwnProperty(i)&&e.call(n,t[i],i,t)}function deprecate(t,e,n){var i="DEPRECATED METHOD: "+e+"\n"+n+" AT \n";return function(){var e=new Error("get-stack-trace"),n=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=r.console&&(r.console.warn||r.console.log);return o&&o.call(r.console,i,n),t.apply(this,arguments)}}function inherit(t,e,n){var i,r=e.prototype;i=t.prototype=Object.create(r),i.constructor=t,i._super=r,n&&l(i,n)}function bindFn(t,e){return function(){return t.apply(e,arguments)}}function boolOrFn(t,e){return typeof t==d?t.apply(e?e[0]||s:s,e):t}function ifUndefined(t,e){return t===s?e:t}function addEventListeners(t,e,n){each(splitStr(e),function(e){t.addEventListener(e,n,!1)})}function removeEventListeners(t,e,n){each(splitStr(e),function(e){t.removeEventListener(e,n,!1)})}function hasParent(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function inStr(t,e){return t.indexOf(e)>-1}function splitStr(t){return t.trim().split(/\s+/g)}function inArray(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;i<t.length;){if(n&&t[i][n]==e||!n&&t[i]===e)return i;i++}return-1}function toArray(t){return Array.prototype.slice.call(t,0)}function uniqueArray(t,e,n){for(var i=[],r=[],o=0;o<t.length;){var a=e?t[o][e]:t[o];inArray(r,a)<0&&i.push(t[o]),r[o]=a,o++}return n&&(i=e?i.sort(function(t,n){return t[e]>n[e]}):i.sort()),i}function prefixed(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),o=0;o<u.length;){if(n=u[o],(i=n?n+r:e)in t)return i;o++}return s}function uniqueId(){return m++}function getWindowForElement(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||r}function Input(t,e){var n=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){boolOrFn(t.options.enable,[t])&&n.handler(e)},this.init()}function createInputInstance(t){var e=t.options.inputClass;return new(e||(w?PointerEventInput:x?TouchInput:b?TouchMouseInput:MouseInput))(t,inputHandler)}function inputHandler(t,e,n){var i=n.pointers.length,r=n.changedPointers.length,o=e&C&&i-r==0,a=e&(E|S)&&i-r==0;n.isFirst=!!o,n.isFinal=!!a,o&&(t.session={}),n.eventType=e,computeInputData(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function computeInputData(t,e){var n=t.session,i=e.pointers,r=i.length;n.firstInput||(n.firstInput=simpleCloneInputData(e)),r>1&&!n.firstMultiple?n.firstMultiple=simpleCloneInputData(e):1===r&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,s=a?a.center:o.center,l=e.center=getCenter(i);e.timeStamp=p(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=getAngle(s,l),e.distance=getDistance(s,l),computeDeltaXY(n,e),e.offsetDirection=getDirection(e.deltaX,e.deltaY);var u=getVelocity(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=h(u.x)>h(u.y)?u.x:u.y,e.scale=a?getScale(a.pointers,i):1,e.rotation=a?getRotation(a.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,computeIntervalInputData(n,e);var c=t.element;hasParent(e.srcEvent.target,c)&&(c=e.srcEvent.target),e.target=c}function computeDeltaXY(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};e.eventType!==C&&o.eventType!==E||(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}function computeIntervalInputData(t,e){var n,i,r,o,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(e.eventType!=S&&(l>T||a.velocity===s)){var u=e.deltaX-a.deltaX,c=e.deltaY-a.deltaY,d=getVelocity(l,u,c);i=d.x,r=d.y,n=h(d.x)>h(d.y)?d.x:d.y,o=getDirection(u,c),t.lastInterval=e}else n=a.velocity,i=a.velocityX,r=a.velocityY,o=a.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=o}function simpleCloneInputData(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:f(t.pointers[n].clientX),clientY:f(t.pointers[n].clientY)},n++;return{timeStamp:p(),pointers:e,center:getCenter(e),deltaX:t.deltaX,deltaY:t.deltaY}}function getCenter(t){var e=t.length;if(1===e)return{x:f(t[0].clientX),y:f(t[0].clientY)};for(var n=0,i=0,r=0;r<e;)n+=t[r].clientX,i+=t[r].clientY,r++;return{x:f(n/e),y:f(i/e)}}function getVelocity(t,e,n){return{x:e/t||0,y:n/t||0}}function getDirection(t,e){return t===e?_:h(t)>=h(e)?t<0?A:P:e<0?D:O}function getDistance(t,e,n){n||(n=R);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function getAngle(t,e,n){n||(n=R);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}function getRotation(t,e){return getAngle(e[1],e[0],L)+getAngle(t[1],t[0],L)}function getScale(t,e){return getDistance(e[0],e[1],L)/getDistance(t[0],t[1],L)}function MouseInput(){this.evEl=F,this.evWin=q,this.pressed=!1,Input.apply(this,arguments)}function PointerEventInput(){this.evEl=W,this.evWin=B,Input.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function SingleTouchInput(){this.evTarget=X,this.evWin=$,this.started=!1,Input.apply(this,arguments)}function normalizeSingleTouches(t,e){var n=toArray(t.touches),i=toArray(t.changedTouches);return e&(E|S)&&(n=uniqueArray(n.concat(i),"identifier",!0)),[n,i]}function TouchInput(){this.evTarget=U,this.targetIds={},Input.apply(this,arguments)}function getTouches(t,e){var n=toArray(t.touches),i=this.targetIds;if(e&(C|k)&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,a=toArray(t.changedTouches),s=[],l=this.target;if(o=n.filter(function(t){return hasParent(t.target,l)}),e===C)for(r=0;r<o.length;)i[o[r].identifier]=!0,r++;for(r=0;r<a.length;)i[a[r].identifier]&&s.push(a[r]),e&(E|S)&&delete i[a[r].identifier],r++;return s.length?[uniqueArray(o.concat(s),"identifier",!0),s]:void 0}function TouchMouseInput(){Input.apply(this,arguments);var t=bindFn(this.handler,this);this.touch=new TouchInput(this.manager,t),this.mouse=new MouseInput(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function recordTouches(t,e){t&C?(this.primaryTouch=e.changedPointers[0].identifier,setLastTouch.call(this,e)):t&(E|S)&&setLastTouch.call(this,e)}function setLastTouch(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var n={x:e.clientX,y:e.clientY};this.lastTouches.push(n);var i=this.lastTouches,r=function(){var t=i.indexOf(n);t>-1&&i.splice(t,1)};setTimeout(r,Q)}}function isSyntheticEvent(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i<this.lastTouches.length;i++){var r=this.lastTouches[i],o=Math.abs(e-r.x),a=Math.abs(n-r.y);if(o<=G&&a<=G)return!0}return!1}function TouchAction(t,e){this.manager=t,this.set(e)}function cleanTouchActions(t){if(inStr(t,et))return et;var e=inStr(t,nt),n=inStr(t,it);return e&&n?et:e||n?e?nt:it:inStr(t,tt)?tt:Z}function Recognizer(t){this.options=l({},this.defaults,t||{}),this.id=uniqueId(),this.manager=null,this.options.enable=ifUndefined(this.options.enable,!0),this.state=ot,this.simultaneous={},this.requireFail=[]}function stateStr(t){return t&ct?"cancel":t&lt?"end":t&st?"move":t&at?"start":""}function directionStr(t){return t==O?"down":t==D?"up":t==A?"left":t==P?"right":""}function getRecognizerByNameIfManager(t,e){var n=e.manager;return n?n.get(t):t}function AttrRecognizer(){Recognizer.apply(this,arguments)}function PanRecognizer(){AttrRecognizer.apply(this,arguments),this.pX=null,this.pY=null}function PinchRecognizer(){AttrRecognizer.apply(this,arguments)}function PressRecognizer(){Recognizer.apply(this,arguments),this._timer=null,this._input=null}function RotateRecognizer(){AttrRecognizer.apply(this,arguments)}function SwipeRecognizer(){AttrRecognizer.apply(this,arguments)}function TapRecognizer(){Recognizer.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Hammer(t,e){return e=e||{},e.recognizers=ifUndefined(e.recognizers,Hammer.defaults.preset),new Manager(t,e)}function Manager(t,e){this.options=l({},Hammer.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=createInputInstance(this),this.touchAction=new TouchAction(this,this.options.touchAction),toggleCssProps(this,!0),each(this.options.recognizers,function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])},this)}function toggleCssProps(t,e){var n=t.element;if(n.style){var i;each(t.options.cssProps,function(r,o){i=prefixed(n.style,o),e?(t.oldCssProps[i]=n.style[i],n.style[i]=r):n.style[i]=t.oldCssProps[i]||""}),e||(t.oldCssProps={})}}function triggerDomEvent(t,e){var n=o.createEvent("Event");n.initEvent(t,!0,!0),n.gesture=e,e.target.dispatchEvent(n)}var l,u=["","webkit","Moz","MS","ms","o"],c=o.createElement("div"),d="function",f=Math.round,h=Math.abs,p=Date.now;l="function"!=typeof Object.assign?function(t){if(t===s||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n<arguments.length;n++){var i=arguments[n];if(i!==s&&null!==i)for(var r in i)i.hasOwnProperty(r)&&(e[r]=i[r])}return e}:Object.assign;var g=deprecate(function(t,e,n){for(var i=Object.keys(e),r=0;r<i.length;)(!n||n&&t[i[r]]===s)&&(t[i[r]]=e[i[r]]),r++;return t},"extend","Use `assign`."),v=deprecate(function(t,e){return g(t,e,!0)},"merge","Use `assign`."),m=1,y=/mobile|tablet|ip(ad|hone|od)|android/i,b="ontouchstart"in r,w=prefixed(r,"PointerEvent")!==s,x=b&&y.test(navigator.userAgent),T=25,C=1,k=2,E=4,S=8,_=1,A=2,P=4,D=8,O=16,N=A|P,M=D|O,I=N|M,R=["x","y"],L=["clientX","clientY"];Input.prototype={handler:function(){},init:function(){this.evEl&&addEventListeners(this.element,this.evEl,this.domHandler),this.evTarget&&addEventListeners(this.target,this.evTarget,this.domHandler),this.evWin&&addEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&removeEventListeners(this.element,this.evEl,this.domHandler),this.evTarget&&removeEventListeners(this.target,this.evTarget,this.domHandler),this.evWin&&removeEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)}};var z={mousedown:C,mousemove:k,mouseup:E},F="mousedown",q="mousemove mouseup";inherit(MouseInput,Input,{handler:function(t){var e=z[t.type];e&C&&0===t.button&&(this.pressed=!0),e&k&&1!==t.which&&(e=E),this.pressed&&(e&E&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}});var H={pointerdown:C,pointermove:k,pointerup:E,pointercancel:S,pointerout:S},j={2:"touch",3:"pen",4:"mouse",5:"kinect"},W="pointerdown",B="pointermove pointerup pointercancel";r.MSPointerEvent&&!r.PointerEvent&&(W="MSPointerDown",B="MSPointerMove MSPointerUp MSPointerCancel"),inherit(PointerEventInput,Input,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=H[i],o=j[t.pointerType]||t.pointerType,a="touch"==o,s=inArray(e,t.pointerId,"pointerId");r&C&&(0===t.button||a)?s<0&&(e.push(t),s=e.length-1):r&(E|S)&&(n=!0),s<0||(e[s]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(s,1))}});var V={touchstart:C,touchmove:k,touchend:E,touchcancel:S},X="touchstart",$="touchstart touchmove touchend touchcancel";inherit(SingleTouchInput,Input,{handler:function(t){var e=V[t.type];if(e===C&&(this.started=!0),this.started){var n=normalizeSingleTouches.call(this,t,e);e&(E|S)&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:t})}}});var Y={touchstart:C,touchmove:k,touchend:E,touchcancel:S},U="touchstart touchmove touchend touchcancel";inherit(TouchInput,Input,{handler:function(t){var e=Y[t.type],n=getTouches.call(this,t,e);n&&this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:t})}});var Q=2500,G=25;inherit(TouchMouseInput,Input,{handler:function(t,e,n){var i="touch"==n.pointerType,r="mouse"==n.pointerType;if(!(r&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(i)recordTouches.call(this,e,n);else if(r&&isSyntheticEvent.call(this,n))return;this.callback(t,e,n)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var K=prefixed(c.style,"touchAction"),J=K!==s,Z="auto",tt="manipulation",et="none",nt="pan-x",it="pan-y",rt=function(){if(!J)return!1;var t={},e=r.CSS&&r.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(n){t[n]=!e||r.CSS.supports("touch-action",n)}),t}();TouchAction.prototype={set:function(t){"compute"==t&&(t=this.compute()),J&&this.manager.element.style&&rt[t]&&(this.manager.element.style[K]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return each(this.manager.recognizers,function(e){boolOrFn(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),cleanTouchActions(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,n=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var i=this.actions,r=inStr(i,et)&&!rt[et],o=inStr(i,it)&&!rt[it],a=inStr(i,nt)&&!rt[nt];if(r){var s=1===t.pointers.length,l=t.distance<2,u=t.deltaTime<250;if(s&&l&&u)return}return a&&o?void 0:r||o&&n&N||a&&n&M?this.preventSrc(e):void 0},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var ot=1,at=2,st=4,lt=8,ut=lt,ct=16;Recognizer.prototype={defaults:{},set:function(t){return l(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(invokeArrayArg(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=getRecognizerByNameIfManager(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return invokeArrayArg(t,"dropRecognizeWith",this)?this:(t=getRecognizerByNameIfManager(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(invokeArrayArg(t,"requireFailure",this))return this;var e=this.requireFail;return t=getRecognizerByNameIfManager(t,this),-1===inArray(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(invokeArrayArg(t,"dropRequireFailure",this))return this;t=getRecognizerByNameIfManager(t,this);var e=inArray(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function emit(n){e.manager.emit(n,t)}var e=this,n=this.state;n<lt&&emit(e.options.event+stateStr(n)),emit(e.options.event),t.additionalEvent&&emit(t.additionalEvent),n>=lt&&emit(e.options.event+stateStr(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(this.requireFail[t].state&(32|ot)))return!1;t++}return!0},recognize:function(t){var e=l({},t);if(!boolOrFn(this.options.enable,[this,e]))return this.reset(),void(this.state=32);this.state&(ut|ct|32)&&(this.state=ot),this.state=this.process(e),this.state&(at|st|lt|ct)&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},inherit(AttrRecognizer,Recognizer,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,n=t.eventType,i=e&(at|st),r=this.attrTest(t);return i&&(n&S||!r)?e|ct:i||r?n&E?e|lt:e&at?e|st:at:32}}),inherit(PanRecognizer,AttrRecognizer,{defaults:{event:"pan",threshold:10,pointers:1,direction:I},getTouchAction:function(){var t=this.options.direction,e=[];return t&N&&e.push(it),t&M&&e.push(nt),e},directionTest:function(t){var e=this.options,n=!0,i=t.distance,r=t.direction,o=t.deltaX,a=t.deltaY;return r&e.direction||(e.direction&N?(r=0===o?_:o<0?A:P,n=o!=this.pX,i=Math.abs(t.deltaX)):(r=0===a?_:a<0?D:O,n=a!=this.pY,i=Math.abs(t.deltaY))),t.direction=r,n&&i>e.threshold&&r&e.direction},attrTest:function(t){return AttrRecognizer.prototype.attrTest.call(this,t)&&(this.state&at||!(this.state&at)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=directionStr(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),inherit(PinchRecognizer,AttrRecognizer,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[et]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&at)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),inherit(PressRecognizer,Recognizer,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Z]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime>e.time;if(this._input=t,!i||!n||t.eventType&(E|S)&&!r)this.reset();else if(t.eventType&C)this.reset(),this._timer=setTimeoutContext(function(){this.state=ut,this.tryEmit()},e.time,this);else if(t.eventType&E)return ut;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ut&&(t&&t.eventType&E?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=p(),this.manager.emit(this.options.event,this._input)))}}),inherit(RotateRecognizer,AttrRecognizer,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[et]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&at)}}),inherit(SwipeRecognizer,AttrRecognizer,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:N|M,pointers:1},getTouchAction:function(){return PanRecognizer.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(N|M)?e=t.overallVelocity:n&N?e=t.overallVelocityX:n&M&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&h(e)>this.options.velocity&&t.eventType&E},emit:function(t){var e=directionStr(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),inherit(TapRecognizer,Recognizer,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[tt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime<e.time;if(this.reset(),t.eventType&C&&0===this.count)return this.failTimeout();if(i&&r&&n){if(t.eventType!=E)return this.failTimeout();var o=!this.pTime||t.timeStamp-this.pTime<e.interval,a=!this.pCenter||getDistance(this.pCenter,t.center)<e.posThreshold;this.pTime=t.timeStamp,this.pCenter=t.center,a&&o?this.count+=1:this.count=1,this._input=t;if(0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=setTimeoutContext(function(){this.state=ut,this.tryEmit()},e.interval,this),at):ut}return 32},failTimeout:function(){return this._timer=setTimeoutContext(function(){this.state=32},this.options.interval,this),32},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==ut&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Hammer.VERSION="2.0.7",Hammer.defaults={domEvents:!1,touchAction:"compute",enable:!0,inputTarget:null,inputClass:null,preset:[[RotateRecognizer,{enable:!1}],[PinchRecognizer,{enable:!1},["rotate"]],[SwipeRecognizer,{direction:N}],[PanRecognizer,{direction:N},["swipe"]],[TapRecognizer],[TapRecognizer,{event:"doubletap",taps:2},["tap"]],[PressRecognizer]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};Manager.prototype={set:function(t){return l(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){this.touchAction.preventDefaults(t);var n,i=this.recognizers,r=e.curRecognizer;(!r||r&&r.state&ut)&&(r=e.curRecognizer=null);for(var o=0;o<i.length;)n=i[o],2===e.stopped||r&&n!=r&&!n.canRecognizeWith(r)?n.reset():n.recognize(t),!r&&n.state&(at|st|lt)&&(r=e.curRecognizer=n),o++}},get:function(t){if(t instanceof Recognizer)return t;for(var e=this.recognizers,n=0;n<e.length;n++)if(e[n].options.event==t)return e[n];return null},add:function(t){if(invokeArrayArg(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(invokeArrayArg(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,n=inArray(e,t);-1!==n&&(e.splice(n,1),this.touchAction.update())}return this},on:function(t,e){if(t!==s&&e!==s){var n=this.handlers;return each(splitStr(t),function(t){n[t]=n[t]||[],n[t].push(e)}),this}},off:function(t,e){if(t!==s){var n=this.handlers;return each(splitStr(t),function(t){e?n[t]&&n[t].splice(inArray(n[t],e),1):delete n[t]}),this}},emit:function(t,e){this.options.domEvents&&triggerDomEvent(t,e);var n=this.handlers[t]&&this.handlers[t].slice();if(n&&n.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var i=0;i<n.length;)n[i](e),i++}},destroy:function(){this.element&&toggleCssProps(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},l(Hammer,{INPUT_START:C,INPUT_MOVE:k,INPUT_END:E,INPUT_CANCEL:S,STATE_POSSIBLE:ot,STATE_BEGAN:at,STATE_CHANGED:st,STATE_ENDED:lt,STATE_RECOGNIZED:ut,STATE_CANCELLED:ct,STATE_FAILED:32,DIRECTION_NONE:_,DIRECTION_LEFT:A,DIRECTION_RIGHT:P,DIRECTION_UP:D,DIRECTION_DOWN:O,DIRECTION_HORIZONTAL:N,DIRECTION_VERTICAL:M,DIRECTION_ALL:I,Manager:Manager,Input:Input,TouchAction:TouchAction,TouchInput:TouchInput,MouseInput:MouseInput,PointerEventInput:PointerEventInput,TouchMouseInput:TouchMouseInput,SingleTouchInput:SingleTouchInput,Recognizer:Recognizer,AttrRecognizer:AttrRecognizer,Tap:TapRecognizer,Pan:PanRecognizer,Swipe:SwipeRecognizer,Pinch:PinchRecognizer,Rotate:RotateRecognizer,Press:PressRecognizer,on:addEventListeners,off:removeEventListeners,each:each,merge:v,extend:g,assign:l,inherit:inherit,bindFn:bindFn,prefixed:prefixed}),(void 0!==r?r:"undefined"!=typeof self?self:{}).Hammer=Hammer,(i=function(){return Hammer}.call(e,n,e,t))!==s&&(t.exports=i)}(window,document)},function(t,e){(function(e){t.exports=e}).call(e,{})}]); \ No newline at end of file
diff --git a/web/wallassets/public.css b/web/wallassets/public.css
index 1a5a23f4..4d578c6d 100644
--- a/web/wallassets/public.css
+++ b/web/wallassets/public.css
@@ -1,2 +1,2 @@
1a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-spacing:0}body{background-color:#fff;color:#444;font-family:Georgia;line-height:1.7;-ms-content-zooming:none;margin-bottom:64px}h1,h2,h3,h4,h5,h6{font-weight:600;margin:.2em 0}article h1,article h2,article h3,article h4,article h5,article h6{text-align:left;line-height:1.3}h1{font-size:1.4em}h2{font-size:1.3em}h3,h4{font-size:1.2em}h5,h6{font-size:1.1em}p{margin-bottom:.75em}b,strong{font-weight:700}em,i{font-style:italic}a{color:#444;text-decoration:underline}a:active,a:hover{outline:0}dl,ol,p,ul{margin:0 0 1.75em}ol,ul{padding-left:1.25em}li{padding-bottom:.2em;line-height:1.6}li li:last-child,li p:last-child{margin-bottom:-.2em}ol li:last-child,ul li:last-child{padding-bottom:0}mark{padding:0 .2em}mark a{text-decoration:none}blockquote{font-style:italic;border-left:.25em solid #000;margin-left:-20px;padding-left:17px;margin-bottom:.5em;margin-top:.5em}blockquote cite{text-transform:uppercase;font-size:.8em;font-style:normal}blockquote cite:before{content:"\2014";margin-right:.5em}img{display:block;height:auto;margin-bottom:.5em;max-width:100%}figure{margin:0}figure figcaption{display:block;margin-top:.3em;font-style:italic;font-size:.8em}button{display:none!important}hr{display:block;height:1px;border:solid #666;border-width:1px 0 0;margin:1.6em 0;padding:0}small{font-size:.7em}dl{margin:1.6em 0}dl dt{float:left;width:11.25em;overflow:hidden;clear:left;text-align:right;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;font-weight:700}dl dd,dl dt{margin-bottom:1em}dl dd{margin-left:12.5em}pre{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4em 0;border:.0625em solid #efefef;width:100%;padding:1em;font-family:Consolas,monospace;white-space:pre;overflow:auto}pre code{line-height:1.6em;white-space:pre-wrap;background:transparent;border:none;padding:0;vertical-align:inherit}code,pre code{font-size:.8em}code{padding:.125em .375em;margin:0 .2em;font-family:Consolas,monospace;white-space:pre;border:1px solid #d3d3d3;overflow:auto}audio,video{max-width:43.75em}::selection,mark{background:#666;color:#fff}table{border-collapse:collapse;margin-bottom:2em;width:100%}td,th{padding:.25em;text-align:left}thead tr{text-transform:uppercase;font-size:.85em;letter-spacing:1px;font-family:Segoe UI,sans-serif;font-weight:600}tbody tr:nth-child(odd){background:rgba(0,0,0,.1)}tbody{border:solid #999;border-width:1px 0}figure{text-align:center}figure>*{margin:0 auto}header{text-align:center}.shared-by{margin-bottom:1em}@media (max-width:719px){article,header>:not(.preview){padding:0 1em}}@media (min-width:720px){blockquote{margin-left:-1.4375em;padding-left:1.25em}header{margin-top:32px}.block{margin-left:auto;margin-right:auto;max-width:43.75em;padding:0 1.25em}} 1a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-spacing:0}body{background-color:#fff;color:#444;font-family:Georgia;line-height:1.7;-ms-content-zooming:none;margin-bottom:64px}h1,h2,h3,h4,h5,h6{font-weight:600;margin:.2em 0}article h1,article h2,article h3,article h4,article h5,article h6{text-align:left;line-height:1.3}h1{font-size:1.4em}h2{font-size:1.3em}h3,h4{font-size:1.2em}h5,h6{font-size:1.1em}p{margin-bottom:.75em}b,strong{font-weight:700}em,i{font-style:italic}a{color:#444;text-decoration:underline}a:active,a:hover{outline:0}dl,ol,p,ul{margin:0 0 1.75em}ol,ul{padding-left:1.25em}li{padding-bottom:.2em;line-height:1.6}li li:last-child,li p:last-child{margin-bottom:-.2em}ol li:last-child,ul li:last-child{padding-bottom:0}iframe,video{max-width:100%;height:auto}mark{padding:0 .2em}mark a{text-decoration:none}blockquote{font-style:italic;border-left:.25em solid #000;margin-left:-20px;padding-left:17px;margin-bottom:.5em;margin-top:.5em}blockquote cite{text-transform:uppercase;font-size:.8em;font-style:normal}blockquote cite:before{content:"\2014";margin-right:.5em}img{display:block;height:auto;margin-bottom:.5em;max-width:100%}figure{margin:0}figure figcaption{display:block;margin-top:.3em;font-style:italic;font-size:.8em}button{display:none!important}hr{display:block;height:1px;border:solid #666;border-width:1px 0 0;margin:1.6em 0;padding:0}small{font-size:.7em}dl{margin:1.6em 0}dl dt{float:left;width:11.25em;overflow:hidden;clear:left;text-align:right;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;font-weight:700}dl dd,dl dt{margin-bottom:1em}dl dd{margin-left:12.5em}pre{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4em 0;border:.0625em solid #efefef;width:100%;padding:1em;font-family:Consolas,monospace;white-space:pre;overflow:auto}pre code{line-height:1.6em;white-space:pre-wrap;background:transparent;border:none;padding:0;vertical-align:inherit}code,pre code{font-size:.8em}code{padding:.125em .375em;margin:0 .2em;font-family:Consolas,monospace;white-space:pre;border:1px solid #d3d3d3;overflow:auto}audio,video{max-width:43.75em}::selection,mark{background:#666;color:#fff}table{border-collapse:collapse;margin-bottom:2em;width:100%}td,th{padding:.25em;text-align:left}thead tr{text-transform:uppercase;font-size:.85em;letter-spacing:1px;font-family:Segoe UI,sans-serif;font-weight:600}tbody tr:nth-child(odd){background:rgba(0,0,0,.1)}tbody{border:solid #999;border-width:1px 0}figure{text-align:center}figure>*{margin:0 auto}header{text-align:center}.shared-by{margin-bottom:1em}@media (max-width:719px){article,header>:not(.preview){padding:0 1em}}@media (min-width:720px){blockquote{margin-left:-1.4375em;padding-left:1.25em}header{margin-top:32px}.block{margin-left:auto;margin-right:auto;max-width:43.75em;padding:0 1.25em}}
2/*# sourceMappingURL=public.css.map*/ \ No newline at end of file 2/*# sourceMappingURL=public.css.map*/ \ No newline at end of file
diff --git a/web/wallassets/themes/_global/img/logo-other_themes.png b/web/wallassets/themes/_global/img/logo-other_themes.png
deleted file mode 100644
index c90aa46f..00000000
--- a/web/wallassets/themes/_global/img/logo-other_themes.png
+++ /dev/null
Binary files differ
diff --git a/web/wallassets/themes/_global/img/logo-square.png b/web/wallassets/themes/_global/img/logo-square.png
deleted file mode 100644
index d5e05977..00000000
--- a/web/wallassets/themes/_global/img/logo-square.png
+++ /dev/null
Binary files differ
diff --git a/web/wallassets/themes/_global/img/logo-square.svg b/web/wallassets/themes/_global/img/logo-square.svg
new file mode 100644
index 00000000..7b87fedc
--- /dev/null
+++ b/web/wallassets/themes/_global/img/logo-square.svg
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path fill="none" d="M0 0h200v200H0z"/><path d="M75.899 72.438c1.597-.981 10.207-5.556 24.098.178 14.289 5.897 23.154.776 24.253.079-3.454-5.678-7.562-10.62-12.104-13.943.303-.083.612-.167.939-.263 6.023-1.742 7.553-6.842 7.875-11.21.364-4.954.616-5.03 1.692-9.487 1.032-4.281-.119-5.137-1.181-4.273-.572.465-5.552 1.616-8.505 3.919-4.768 3.72-7.707 10.794-9.039 14.706-.025.06-.205.604-.265.792-.621 1.498-1.857 1.494-1.857 1.494v.001c-.6-.065-1.202-.1-1.809-.1-.54 0-1.079.029-1.616.081-.012.002-.019 0-.031.001-1.581.233-2.45-1.697-2.632-2.157-1.847-5.304-6.816-15.763-17.984-18.577 0 0-2.028-1.554-1.41 1.074.588 2.511 1.804 5.049 1.534 8.741-.124 1.704-1.181 10.442 6.85 14.99.763.432 1.441.795 2.051 1.101-4.042 3.235-7.716 7.74-10.859 12.853zM128.626 152.353c-9.842-6.098-13.153-8.242-12.946-10.575 0 0 .002-.379.099-.957.239-1.236.995-3.348 3.407-4.552.079-.039.146-.084.208-.129 7.668-4.45 13.27-11.614 15.246-20.56-1.99 4.941-16.735 8.78-34.645 8.78-17.903 0-32.651-3.839-34.641-8.78.442 2.008 1.073 3.923 1.864 5.742.666 3.745 1.562 12.563-2.673 20.282-3.731 6.8-22.15 16.069-49.485 10.748 0 0-1.096-.766-1.428-.136-.491.932 1.517 1.685 3.583 2.229 19.031 5.04 47.756 2.989 56.777-4.443 4.116-3.388 5.704-7.953 6.107-12.865l.003.008s.11-1.287 1.719-.32c.461.277 2.125 1.36 2.39 2.585.232 1.743.248 3.883-.652 5.382-1.287 2.144-1.301 2.452.393 3.662 1.04.742 5.287 3.864 11.198 7.415.015.01.023.019.038.027 1.25.753 2.987 2.597 2.987 2.597 2.662 3.079 8.452 9.275 10.972 8.108 1.19-.551-.051-3.032-.051-3.032s1.98 2.571 3.043 1.694c.809-.668-.473-3.229-.473-3.229s1.729 1.499 2.757.944c1.258-.679-.187-4.614-10.079-10.627-9.896-6.018-12.578-6.94-12.814-9.626 0 0-.004-.135.004-.366.077-.593.414-1.847 1.852-1.712 2.141.346 4.348.531 6.608.531 2.587 0 5.107-.237 7.536-.69l.001.003s.127-.025.164-.031c.284-.036.838-.018.84.671-.09.873-.331 1.751-.845 2.519-1.447 2.168-.972 2.466.54 3.859.933.859 5.211 4.622 11.07 8.264.012.009.017.016.031.023 1.249.752 3.41 2.816 3.41 2.816v-.001c2.428 2.466 6.894 6.596 9.327 6.347 1.646-.168.306-3.002.306-3.002s2.078 2.006 3.099 1.416c1.142-.659-.474-2.755-.474-2.755s1.338.708 2.283.473c.948-.236 1.185-2.644-8.656-8.737z"/><path d="M117.631 83.452c-1.181 0-2.161.355-2.912 1.057-.76.71-1.144 1.531-1.144 2.438v16.056c0 2.154-.382 3.742-1.135 4.721-.728.946-1.892 1.406-3.556 1.406-1.703 0-2.863-.457-3.549-1.396-.716-.979-1.078-2.571-1.078-4.731V86.884c0-1.098-.5-1.996-1.448-2.596-1.289-.812-2.57-1.105-4.129-.587-.476.159-.924.366-1.333.615-.435.265-.802.597-1.093.985-.322.432-.486.901-.486 1.396v16.307c0 2.158-.363 3.75-1.079 4.73-.688.939-1.849 1.396-3.548 1.396-1.705 0-2.877-.459-3.584-1.401-.734-.979-1.107-2.57-1.107-4.726V86.947c0-.908-.384-1.728-1.145-2.438-.751-.702-1.751-1.057-2.973-1.057-1.258 0-2.296.352-3.085 1.045-.811.71-1.222 1.535-1.222 2.45v15.806c0 1.988.194 3.869.575 5.588.393 1.758 1.077 3.3 2.035 4.586.968 1.299 2.282 2.323 3.906 3.05 1.607.716 3.617 1.079 5.975 1.079 2.457 0 4.515-.455 6.115-1.354 1.342-.754 2.473-1.744 3.371-2.951.866 1.207 1.971 2.197 3.294 2.95 1.58.899 3.669 1.354 6.211 1.354 2.357 0 4.359-.364 5.947-1.081 1.601-.726 2.902-1.751 3.872-3.048.96-1.29 1.645-2.833 2.034-4.586.381-1.719.575-3.6.575-5.588V86.947c0-.911-.398-1.733-1.184-2.445-.767-.697-1.818-1.05-3.12-1.05z"/></svg>
diff --git a/web/wallassets/themes/_global/img/logo-wallabag.svg b/web/wallassets/themes/_global/img/logo-wallabag.svg
index 40193e1c..f76907a2 100644
--- a/web/wallassets/themes/_global/img/logo-wallabag.svg
+++ b/web/wallassets/themes/_global/img/logo-wallabag.svg
@@ -1,300 +1 @@
1<?xml version="1.0" encoding="utf-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path fill="none" d="M0 0h200v200H0z"/><path d="M80.068 54.827c1.321-.812 8.439-4.594 19.923.146 11.812 4.875 19.142.642 20.052.065-2.856-4.694-6.252-8.78-10.008-11.527.25-.068.506-.138.776-.218 4.979-1.44 6.244-5.657 6.511-9.268.301-4.096.509-4.159 1.399-7.843.854-3.539-.099-4.247-.977-3.533-.473.384-4.589 1.335-7.031 3.24-3.941 3.076-6.371 8.924-7.473 12.158-.021.05-.17.499-.22.655-.513 1.239-1.535 1.235-1.535 1.235v.001c-.496-.054-.994-.083-1.495-.083-.447 0-.892.024-1.336.066-.01.002-.015 0-.026.001-1.307.193-2.025-1.403-2.176-1.784-1.527-4.385-5.635-13.032-14.868-15.359 0 0-1.677-1.284-1.166.888.486 2.076 1.492 4.175 1.268 7.227-.102 1.409-.976 8.633 5.664 12.393.631.356 1.192.657 1.695.91-3.341 2.678-6.378 6.402-8.977 10.63zM123.66 120.896c-8.137-5.042-10.875-6.814-10.703-8.742 0 0 .002-.313.082-.793.197-1.021.822-2.767 2.816-3.763.065-.032.12-.068.172-.106 6.339-3.679 10.971-9.602 12.604-16.997-1.646 4.084-13.836 7.259-28.643 7.259-14.801 0-26.995-3.174-28.639-7.259.366 1.66.887 3.243 1.541 4.748.55 3.097 1.291 10.387-2.21 16.767-3.085 5.623-18.312 13.286-40.911 8.887 0 0-.907-.632-1.181-.111-.405.769 1.253 1.393 2.963 1.843 15.733 4.167 39.481 2.472 46.939-3.673 3.403-2.802 4.715-6.575 5.049-10.638l.003.007s.091-1.064 1.421-.265c.381.229 1.756 1.124 1.976 2.137.192 1.441.205 3.21-.54 4.449-1.063 1.772-1.075 2.026.325 3.028.859.612 4.371 3.194 9.257 6.13.013.008.019.015.032.022 1.034.623 2.47 2.146 2.47 2.146 2.201 2.546 6.988 7.669 9.071 6.703.984-.453-.041-2.506-.041-2.506s1.637 2.126 2.516 1.4c.668-.552-.391-2.668-.391-2.668s1.429 1.239 2.278.78c1.04-.561-.154-3.815-8.332-8.786-8.182-4.976-10.399-5.737-10.594-7.959 0 0-.004-.111.003-.302.064-.49.342-1.526 1.531-1.416 1.77.286 3.595.439 5.464.439 2.139 0 4.222-.196 6.23-.571v.004s.104-.021.136-.027c.235-.029.692-.015.694.555-.074.723-.273 1.448-.698 2.083-1.197 1.792-.804 2.039.446 3.189.771.712 4.308 3.823 9.152 6.833.01.008.014.013.025.021 1.033.621 2.819 2.327 2.819 2.327 2.008 2.037 5.7 5.453 7.712 5.247 1.36-.141.252-2.482.252-2.482s1.719 1.658 2.562 1.171c.944-.545-.391-2.278-.391-2.278s1.106.585 1.887.391c.787-.195.982-2.185-7.154-7.224z"/><path d="M114.57 63.932c-.977 0-1.787.294-2.408.874-.628.587-.945 1.265-.945 2.016v13.274c0 1.781-.315 3.094-.938 3.903-.602.783-1.564 1.163-2.94 1.163-1.407 0-2.367-.377-2.934-1.154-.592-.81-.892-2.125-.892-3.912V66.77c0-.908-.413-1.65-1.197-2.146-1.065-.671-2.125-.914-3.414-.485-.394.131-.764.303-1.102.509-.359.219-.663.494-.903.814-.267.356-.402.745-.402 1.154v13.481c0 1.784-.3 3.1-.892 3.911-.569.777-1.528 1.155-2.934 1.155-1.41 0-2.379-.379-2.963-1.158-.607-.81-.915-2.125-.915-3.907V66.822c0-.75-.318-1.429-.947-2.016-.622-.58-1.448-.874-2.458-.874-1.041 0-1.899.291-2.551.864-.67.587-1.01 1.269-1.01 2.026v13.067c0 1.644.16 3.199.476 4.62.324 1.453.89 2.728 1.683 3.791.8 1.074 1.886 1.921 3.229 2.522 1.329.592 2.99.892 4.939.892 2.031 0 3.732-.376 5.056-1.119 1.11-.624 2.045-1.442 2.787-2.44.716.998 1.629 1.816 2.723 2.439 1.307.743 3.034 1.12 5.136 1.12 1.949 0 3.604-.301 4.917-.894 1.323-.6 2.399-1.447 3.201-2.52.793-1.066 1.358-2.342 1.682-3.791.314-1.421.476-2.976.476-4.62V66.822c0-.753-.33-1.433-.979-2.021-.635-.577-1.505-.869-2.581-.869z"/><g><path d="M54.907 160.536c-.434 0-.794.13-1.07.388-.278.261-.419.562-.419.895v5.896c0 .793-.141 1.374-.417 1.734-.267.348-.695.516-1.305.516-.626 0-1.052-.168-1.303-.512-.263-.36-.396-.944-.396-1.738v-5.918c0-.403-.184-.733-.531-.954-.473-.298-.944-.405-1.516-.215a2.379 2.379 0 0 0-.49.226c-.159.097-.294.22-.4.361-.119.159-.179.332-.179.512v5.988c0 .793-.133 1.378-.396 1.738-.253.344-.679.512-1.304.512-.626 0-1.056-.168-1.316-.514-.269-.36-.406-.943-.406-1.736v-5.896c0-.333-.141-.634-.42-.895-.276-.258-.643-.388-1.092-.388-.462 0-.844.13-1.133.384-.298.261-.449.563-.449.898v5.805c0 .731.071 1.421.212 2.054.143.645.394 1.21.747 1.683.355.478.837.854 1.435 1.12.59.263 1.328.396 2.193.396.902 0 1.658-.168 2.247-.497.493-.277.908-.64 1.237-1.083.318.443.723.806 1.21 1.083.58.329 1.347.497 2.28.497.866 0 1.601-.134 2.185-.396.587-.267 1.065-.643 1.422-1.12.353-.474.604-1.04.747-1.683.139-.633.21-1.322.21-2.054v-5.805c0-.333-.146-.636-.434-.896-.285-.256-.672-.386-1.149-.386zM72.019 161.895c-.409-.426-.94-.762-1.578-1.002-.633-.235-1.391-.356-2.251-.356-.928 0-1.752.164-2.45.49-.696.324-1.283.755-1.742 1.277-.458.522-.812 1.114-1.047 1.764-.237.646-.357 1.311-.357 1.974v2.02c0 .6.092 1.19.273 1.759.184.574.463 1.091.829 1.536.369.45.848.819 1.422 1.099.577.279 1.255.422 2.017.422.471 0 .875-.036 1.203-.108.332-.072.625-.18.871-.32.246-.139.459-.301.633-.482.104-.11.205-.228.301-.35v.092c0 .333.142.636.42.896.276.257.635.387 1.069.387.478 0 .865-.128 1.147-.386.288-.261.434-.562.434-.896v-6.424c0-.676-.097-1.309-.286-1.877-.194-.581-.499-1.091-.908-1.515zm-4.823 1.751c.293-.132.627-.198.994-.198.635 0 1.127.141 1.463.422.324.271.489.764.489 1.461v2.156c0 .412-.071.778-.211 1.084-.141.31-.325.569-.548.771-.223.203-.482.358-.77.465-.289.105-.593.158-.904.158-.562 0-1.019-.177-1.395-.539-.375-.36-.557-.778-.557-1.275v-2.201c0-.34.06-.661.18-.956.12-.296.288-.566.5-.799.208-.231.463-.415.759-.549zM81.357 156.636c-.461 0-.843.13-1.133.384-.297.262-.449.564-.449.899v13.675c0 .335.151.638.449.898.29.254.672.384 1.133.384.45 0 .817-.13 1.093-.388.278-.261.42-.563.42-.895v-13.675c0-.332-.142-.633-.42-.894-.276-.258-.643-.388-1.093-.388zM91.153 156.636c-.461 0-.843.13-1.133.384-.297.262-.449.564-.449.899v13.675c0 .335.151.638.449.898.29.254.672.384 1.133.384.449 0 .817-.13 1.092-.388.278-.261.421-.563.421-.895v-13.675c0-.332-.143-.633-.421-.894-.275-.258-.642-.388-1.092-.388zM108.357 161.895c-.409-.426-.94-.762-1.578-1.002-.634-.235-1.392-.356-2.251-.356-.928 0-1.752.164-2.449.49-.696.324-1.283.753-1.743 1.277-.458.521-.81 1.114-1.047 1.764-.236.646-.357 1.311-.357 1.974v2.02c0 .599.092 1.19.274 1.759.183.572.461 1.09.829 1.536.369.45.848.819 1.421 1.099.578.279 1.257.422 2.019.422.471 0 .875-.036 1.202-.108.331-.072.625-.18.871-.32.245-.139.457-.301.632-.482.104-.11.205-.228.301-.35v.092c0 .333.142.636.421.896.274.257.635.387 1.069.387.479 0 .863-.128 1.147-.386.287-.259.433-.562.433-.896v-6.424c0-.676-.095-1.309-.285-1.877-.193-.581-.498-1.089-.909-1.515zm-4.823 1.751c.293-.132.627-.198.994-.198.635 0 1.126.141 1.462.422.324.271.489.762.489 1.461v2.156c0 .412-.071.776-.211 1.084-.14.31-.325.569-.547.771-.224.203-.483.358-.771.465a2.644 2.644 0 0 1-.905.158c-.562 0-1.018-.177-1.395-.539-.374-.36-.558-.778-.558-1.275v-2.201c0-.34.062-.661.182-.956.119-.296.287-.564.5-.799.211-.231.466-.415.76-.549zM125.54 162.136c-.416-.503-.951-.9-1.59-1.18-.637-.279-1.398-.42-2.262-.42-.607 0-1.16.11-1.644.328-.38.171-.714.401-.997.687v-3.632c0-.332-.141-.635-.42-.894-.276-.26-.644-.39-1.092-.39-.462 0-.843.13-1.133.384-.298.262-.449.564-.449.899v10.21c0 .682.117 1.319.348 1.898.231.584.584 1.1 1.049 1.531.462.431 1.046.77 1.736 1.008.682.235 1.488.354 2.396.354.881 0 1.66-.147 2.32-.441.658-.294 1.218-.697 1.663-1.198.446-.502.78-1.09.994-1.747.212-.652.32-1.356.32-2.093v-1.332c0-.796-.104-1.538-.308-2.205-.204-.672-.518-1.266-.931-1.767zm-4.058 7.876c-.707 0-1.303-.151-1.771-.45-.445-.283-.663-.723-.663-1.343v-2.63c.029-.745.247-1.293.649-1.628.411-.341.935-.514 1.555-.514.729 0 1.3.224 1.746.683.441.456.665 1.137.665 2.024v1.377c0 .757-.202 1.367-.603 1.813-.398.45-.914.668-1.578.668zM141.898 161.895c-.41-.426-.941-.762-1.579-1.002-.633-.235-1.391-.356-2.251-.356-.928 0-1.752.164-2.449.49-.695.324-1.282.753-1.742 1.277a5.5322 5.5322 0 0 0-1.048 1.764c-.236.646-.356 1.311-.356 1.974v2.02c0 .599.092 1.19.272 1.759.184.572.463 1.09.829 1.536.369.45.848.819 1.422 1.099.577.279 1.256.422 2.017.422.472 0 .876-.036 1.203-.108.331-.072.625-.18.871-.32.245-.139.458-.301.632-.482.104-.11.205-.228.301-.35v.092c0 .333.143.636.421.896.275.257.635.387 1.069.387.478 0 .864-.128 1.147-.386.288-.259.434-.562.434-.896v-6.424c0-.676-.096-1.309-.285-1.877-.193-.581-.497-1.089-.908-1.515zm-4.824 1.751c.294-.132.628-.198.994-.198.636 0 1.127.141 1.463.422.324.271.488.762.488 1.461v2.156c0 .412-.07.776-.211 1.084-.141.31-.325.569-.547.771-.224.203-.483.358-.771.465-.289.105-.594.158-.904.158-.562 0-1.018-.177-1.396-.539-.375-.36-.557-.778-.557-1.275v-2.201c0-.34.061-.661.181-.956.119-.296.288-.564.5-.799.21-.231.466-.415.76-.549zM159.368 163.29c-.193-.562-.499-1.056-.909-1.466-.409-.409-.939-.733-1.578-.966-.633-.229-1.39-.346-2.249-.346-.928 0-1.748.166-2.439.49-.688.324-1.271.758-1.729 1.291-.461.53-.81 1.151-1.038 1.847-.228.691-.343 1.414-.343 2.153v1.353c0 1.604.41 2.888 1.22 3.817.817.937 1.989 1.412 3.48 1.412.797 0 1.451-.141 1.947-.416.337-.188.623-.416.854-.683v.664c0 .509-.057.921-.17 1.226-.11.295-.262.529-.449.698-.188.166-.412.281-.668.343-.274.064-.583.098-.916.098-.552 0-.981-.029-1.28-.089-.328-.062-.578-.094-.762-.094-.481 0-.85.119-1.095.355-.246.237-.372.557-.372.949 0 .531.287.983.889 1.361.215.083.553.155 1.033.22.467.062 1.001.092 1.587.092.689 0 1.36-.103 1.989-.308.635-.205 1.203-.524 1.689-.945.487-.424.879-.966 1.165-1.609.286-.643.431-1.416.431-2.297v-7.364c-.001-.631-.097-1.232-.287-1.786zm-5.722.354c.29-.146.622-.22.986-.22.638 0 1.132.132 1.468.393.325.252.483.634.483 1.169v2.859c-.028.74-.247 1.265-.669 1.604-.433.348-.936.517-1.534.517-1.469 0-2.182-.728-2.182-2.227v-1.537c0-.387.062-.754.183-1.09.121-.333.29-.628.503-.875.21-.248.467-.448.762-.593z"/></g></svg>
2<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In -->
3<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
4 <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
5]>
6<svg version="1.1"
7 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
8 x="0px" y="0px" width="800px" height="800px" viewBox="0 0 800 800" overflow="visible" enable-background="new 0 0 800 800"
9 xml:space="preserve">
10<defs>
11</defs>
12<image overflow="visible" width="800" height="800" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
13bWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp
14bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6
15eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEz
16NDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo
17dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw
18dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv
19IiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RS
20ZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpD
21cmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNl
22SUQ9InhtcC5paWQ6MkMyNzEzMDQ4QTgzMTFFM0JGNkJCRDhDMjI5OTRBNkIiIHhtcE1NOkRvY3Vt
23ZW50SUQ9InhtcC5kaWQ6MkMyNzEzMDU4QTgzMTFFM0JGNkJCRDhDMjI5OTRBNkIiPiA8eG1wTU06
24RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQzI3MTMwMjhBODMxMUUzQkY2
25QkJEOEMyMjk5NEE2QiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQzI3MTMwMzhBODMxMUUz
26QkY2QkJEOEMyMjk5NEE2QiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1w
27bWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtTNJDcAADxbSURBVHja7N37ddPK2gfgybf2/9ungm0q
28IFSAqYBQAaYCQgWECgIVJFRAqABTAaYCvCvY2RXk85yMDibkYsu6zEjPs5ZWuCSxNZKl96eZkQ6u
29rq4CAABAF/5PEwAAAAIIAAAggAAAAAggAACAAAIAACCAAAAAAggAACCAAAAACCAAAIAAAgAAIIAA
30AAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCAAAAAAggAACCAAAAA
31CCAAAIAAAgAAIIAAAAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAACAAAIAAAggAACAAAIAACCA
32AAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAggAAAAAIIAACAAAIA
33AAggAACAAAIAACCAAAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAAAIIAAAg
34gAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAIAAAgAACCAAAAACCAAAIIAAAAACCAAAgAAC
35AAAIIAAAAAIIAAAggAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAIAAAgAACCAAAAACCAAA
36IIAAAAACiCYAAAAEEAAAYHD+0ATAWB0cHMQvk/VynP5pkRbY13S9zNfLn+vl63q5uO2brq6utBQw
37vvOvgx8w8gDyab0cbfxzDCCv1stKC1FTDLRvU7itvLgthDgHAwIIwPgCyJf1Mrvlv5cpjNx59Ro2
38HK6Xl+G612Nyy//HQPtIAAEQQAAB5K4AsukyhZDPwggbpuG69+x1+vNDHoUbPWvOwcAYmYQOjN3l
39Ft8Tr2jPw/VwrX/Wy1m4vuLN+FRzhr6tlx/r5XTL8BF2+D4AAQRgwL7XKEDnqQD9lv7M8G0G0FMB
40FEAAAahrscfPxiI09obEK+En4fax/5RrmsJG1et1pEkA9mcOCDDeA+D1HJCoqQNhHM71Yb28D9sN
417SJP83A9oXzW8O99djPwOgcDY6QHBKC5ieWxByTefjX2iBxr1qJUQ+vitjtrIXwAIIAA/M/XForZ
4201TMKmTzDx4nG8Fj2uJr6RUDCIZgAWM+AP4cgjVNBWhbYg/Lm+DhhrmZp6DY1dydg5v/4BwMjJEe
43EIDrYNBmOIiTl+MdswzLysMs/OzxmHS4jwEggAD8T9sPGKyGZcUHH041dy8mKXT0sQ0EEAABBOAX
44nzt6nVm47g1xS9duxXaPvR7znl7/q00AIIAAbFqE7iYJxyvx8aF2p5q9Eyfhutejz+e0LG0GAAEE
454LYQ0qU4J+Rb8ADDNoNeHHL1doT7FoAAAlCAzz28Znya+o/0lWbDR+z1mGfwXmLvh1vwAgggAL9Z
469Fgsf8ukWB5S+Dgc+X4FIIAAZG4V+r1b0ZkQsrfDFOZy6lEyAR1AAAG406Ln1z9LC7urJvdP7VMA
47AghAKb5n8B7mQkit8JHjM1bM/wAQQAAeLBhzIITsHj5ynMi/sHkABBCAUgpGIWQ7ZyHfu4iZ/wEg
48gAA8aCWEFCM+zDHnp8ovbCIAAQSgpABShRBPTb+9XY4zfn/mfwAIIABbF465OQ5u0bvpsIBQtrCZ
49AAQQgG38m+n7ikOxjmye/046P0tfc2b+B4AAArCVnIfN5DzhuiunhbTBwkcJQAAB2MYy4/dWPWxv
50MtJtE3uA5oXsQ+Z/AAggAIMwTSFkjOtdyh3BlnZTAAEEYEhmYXx3xiph3kfF/A8AAQRgcOKdscYy
51KX2eQlcp9IAA3OHg6upKKwDjPAAeHNz1X7HQ/VLIasR5Bk9Cfs8uaVLs9fgRypr3crDNNzkHA2Ok
52BwSg/OJ86E9KPy0sfOj9ABBAAHZS2m1uZ+vlZKDbIq7bvLD3vPIRAhBAAHZR4i1u34ZhPh+kxIn2
53332EAAQQgDEY2lCs40JDled/AAggADv5s9D3HYv1k4Fsg9gL9bbQ924OCIAAArBzIV+qWLRPB7AN
54jsN4n/YOIIAAUJTSh2JNQ7m9H9HCLggggACMySyU/YDCtzYhgAACQFlKe3ZGZRrKu+3uppVdD0AA
55ARijWMgfF/i+S+/9EEAABBCA0XodypqQHt/r3GYDEEAAKFNpt7IdwtwPt+AFEEAARm0eyugFmYZh
569H78a5cDEEAAdvV1YOtTwm153fkKQAABYCBmaclVHCo2H0hbr+xuAAIIwK4uB7hOOfcwHA+onQUQ
57AAEEYGdDnEg8C/n2gry2ywEIIABjdjnQ9cqx0J+HMh+YOKbwCtCog6urK60AjPMAeHBw338P9eD4
58KOQ1TOjbejkc0m61yzc7BwNjpAcE4Harga5XTnNBZgMLHwsfGwABBKCuoQ6lmYd8ngvycmBte+lj
59AyCAANT1fcDrNs/gPQzp1rtj2GcABBCAli0GvG45TEaf22cAxskkdGC8B8CDB+cLD/kA+Wq9nPf4
60+j9CPkPBmvKfsOMwLOdgYIz0gADc7WLA69bn/IvDAYaPVTAHBEAAAdjT1wGv26zHEDDEBw8ufFwA
61BBCAfV0MfP36CgJHA2zLzz4uANsxBwQY7wHwYKtnxg3tQXmb4pCh//QQPj4NsC13nv8ROQcDY6QH
62BOB+Hwa8bpPQfW/EywG240Uw/wNAAAFQXG7l+cADTxcMvwIQQAAacxmGPRdknoJBF47sHwAIIAAP
63ezfw9Tvu6HWeD7DtDL8C2JFJ6MB4D4DbTUKvnIVhPr07pAL6UcuFdOxl+WeAbRfbbVX3h52DgTHS
64AwKwnSH3gkxSwGrT8QDbbbFP+AAQQAC4Tyw0zwe8fnF+xryl3x1vY/xWKAVAAAHYzZsw7PH+bQwz
65i+FjiM/9iGF04SMBIIAAtCmGj6Ff9Y4h5DQ0c2esGGa+rJep/QCAiknowHgPgLtNQt8Ui+rZCJoo
663uHp+3r565YQUT0dfnnj35cpvMwGGDwqsSfsfRO/yDkYEEAABJBtxAL7R+ju+RnkY7FenjX1y5yD
67gTEyBAtgd3EIzivNMMrt/kIzAAggAH2Iw5PMAxiXZ8FDBwEEEIAenYRh35qXn2KP11IzAOzPHBBg
68vAfA+nNAboq3mT3SooMOH60ETedgQAABEEDqiJPR452xDrWq8CGAANzPECyA/cV5Ac+C4Vi2KQAP
690gMCjPcA2FwPyKY2niZOt+Jcj3i3q1XbL+QcDIyRHhCAZsUhO280Q7Hinc2edBE+AMZKDwgw3gNg
70Oz0glVm4npzuYYVlWKTg2OmdrpyDgTHSAwLQXkH7KH0l7+30LC1uswsggAAUrZrI/CZ4gF1uzjeC
71h5AI0CFDsIDxHgDbHYJ1UxyKdRpMUO9T7OH4mMJHFoHQORgQQAAEkLbN1svb9JV2xZBxsV6+pq/Z
729UI5BwNjZAgWQLcW4XrYTye3eeW/4eM8GAIHIIAAjFy8Ih8nqb8SRFoTh72dpQWATBiCBYz3ANjP
73EKy7xPkhx7ZKa+L8j9jzlFVPiHMwMEZ6QAD6Nwsmp7ftcL38SF8BEEAARisGjy/BAwu7MEltLewB
74CCAAo2R+Qj8hJLb5iaYA6Ic5IMB4D4D9zgGJRfDcVujVebi+CUBvnIOBMfpDEwB0qhoGZC5C/6oA
756En1AB3SAwKM9wDYfQ+I8JGn3u6Q5RwMjJE5IADCx9gdBjcCABBAAIQPhBAAAQQA4UMIAUAAARA+
76EEIABBAA4QMhBAABBED4QAgB6J7b8ALjPQC2cxte4WNY4i16n7T1y52DgTHSAwLQrE/Cx6DEbXmm
77GQAEEIAcxUJ1phkGZy6EAAggALk5TYUqww0hx5oBYH/mgADjPQA2NwckFqeukI/Dq/Vy3tQvcw4G
78BBAAAWRXR+F63gfjESelLwUQAAEEoOsA4lat43SZQshKAAHYnTkgAPXE0PFJ+LDtARBAALoQC9Cp
79Zhgtt+cFEEAAOhPveDXTDKMX5/+caAaA3ZgDAoz3AFhvDsg8uPLNr16sl4s6P+gcDAggAALIfUw6
805za1J6U7BwNjZAgWwHZi6DgTPrhj33ArZgABBKBRMXwcagbuYFI6gAAC0JjjcD3hGO4zTwsA9zAH
81BBjvAXC7OSDxyvY3rcWWdpoP4hwMjJEeEIC7VfM+YJd9xnwQAAEEoJb4vA/zPthV3GdONAPA7QzB
82AsZ7ALx/CFac8+FKNvt4tl4W932DczAggAAIIFEcRvMjuOUu+1mF6/kglwIIwE+GYAH87pPwQQOm
83wRwigN/oAQHGewC8vQck3nL3tIWXW4Wfd0Zarpd/d/jZv1IxWxW1U1uvKC/Wy8Vt/+EcDAggAOMO
84ILGwj7fcrdv7UYWMrxt/jmHjsoW3H9/j4cbXKqTMbNnsxO3/6Lb9wDkYEEAAxh1AvuxYwMdwsUiB
85Y9FS0KhjmkJJXJ4KJVmIPSAvBBAAAQQQQCrbDL1apaDxObPAsY3DFESqQGKOS/d+G4rlHAwIIADj
86DCDTcPfQq1UqGj+G6x6PoagCyfOgh6Qrvw3Fcg4GBBCAcQaQeNeroxv/XYWOixE0xSSt/9P0Ve9I
87e87XyysBBBBAAMYbQDYfOBivTH9IReJqxE0T2+S5MNKa/z2g0DkYEEAAxhVAqgcOhhQ83oey5nV0
88Yb4RRmhGDLePBBBAAAEYXwCJk87/FTy2Mklh5HXwHJImvFsvJ87BgAACMK4AMhE8apmtl5cpkFDf
89o/U5eKUZgLH5P00AjJjwUc8iXE+k/s96eRPGPV+m7n73zv4HjJUeEGC8B8DfH0RIffG2vnF4lonr
909ztP4eO/oc05GBBAAAQQ9hdDyMtg4nol9nRcbAaPinMwIIAACCA0p3q+SPWww7H1jMSwUd3W+dbh
91Vs7BgAACIIDQns2HHU4Huo5Vb0d8iOXioW92DgYEEAABhG5MNwLJLJTdO7JKYeNzCh9bcw4GBBAA
92AYR+HKbl6cafc3WZAsfX9HVZ9xc5BwMCCIAAQj5mKYj8tRFKuu4puUwBIy7fN/7cCOdgQAABEEAo
93I5hsfn28EUymYbf5JYuNP39NX5cbwaPVZ3U4BwMCCIAAAp1xDgbGyJPQAQAAAQQAABBAAAAABBAA
94AEAAAQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAAAQQAAAAAEEAAAQQAAAAAQQAABAAAEAABBAAAAA
95AQQAABBAAAAABBAAAEAAAQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAADYyR+aAKC2yXo5XC+z9Pen
96G/+3XC//rpdF+vPlANb3MC3TW9b17411LX2bztJ6/pm+Vr6mr0PapgCdO7i6utIKwDgPgAcHdX90
97vl6er5ejHX7mYr18SMVrSaZpfV+mPz9kldbzvLACPYaO1zW26cf0tRbnYEAAARBAHipST8OvV8V3
98FQPIiwKK8xg23qbwUcdlCiInma9n7PE42zF43BR7Q16FGr0/zsGAAAIggNzlOIWPJsTi/FnId7jS
99cQofkwZ+V+3ivAMxSH5paD1DWs9zAQRAAAHYN4DEK+Tzhl8+xxDSRG9AKevadPioFUKcgwEBBEAA
100uanJno/bCvMn4XreRA6+hf2Gl5USQmLo+NFC+Ng5hDgHAwIIgACy6TAV5W1apMK8b6cpbLVpmQJX
10132LPx6zF3791sHQOBsbIc0AA7i/K2zZruRje9j0cd/A6MdDNM1jXtts79qy89fEBEEAAdi2WuwoG
102r3te1y5f//lI1nUe2hviBVA0Q7CA8R4A7x+CdRK6vYp90GNTdH0iGMu6PjgXxDkYGCM9IAC3e9rx
1036816Ws/pSF4zOhzJegIIIABka0wBpOshUY/tXgACCAAMNfAACCAAAAACCAAAIIAAAAACCAAAgAAC
104AAAIIAAAAAIIAAAggAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAIAAAgAACCAAAAACCAAA
105IIAAAAACCAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAA
106AgAACCAAAAACCAAAIIAAAAAIIAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggA
107ACCAAAAACCAAAIAAAgAACCAAAAACCAAAIIAAAAAIIAAAgAACAAAIIAAAAAIIAAAggAAAAAggAJCT
108pSYAEEAAoCv/agIAAQQgVzNN0LqpJgAQQAAQBAQQAAEEYPRWHb/enz2t50wQAEAAAejf3x2/3uGI
1092ravsPV04CEWQAABYGvTkRTlfYatrttYAAEQQACyLR5jcTwZSfDpI4BMgqFfAAIIgADyi1kP4aOP
110oryPMDDrYT09BwRAAAHY2mUPr9n1cKhZj+17NPC27WsfAhBAAArVx9Xrrovy5z2279OBt+3KRwhA
111AAHIvYichu56JSY9FOU3A8F0gK8lgAAIIABFFZFvO3qd4wzad97R67zuYd2++vgACCAAu+pjGNYs
112tN8LMumpKL8tGExbfo2j0M9cl5WPD4AAArCr7z297llo95a8bf/+XYLQWcG/XwABEEAAGtXXbVSn
1136+VLSyEhFuRHGbXxrKWQMGmxDbex8PEBEEAASgkg0WEqoKcNFuSx0J9n2M7z0GyvTNV2hyPcbwAE
114EIDCLXoOId/Wy8mexfk8/Z55xu3cxHucpiDzrcfw0fc+A5C9g6urK60AjPMAeHCwzbfF4v9tJm/5
115IlzfXWn5QJF7mIrx+JyPo5DHfI9dXN5Y1/t6FGZpfZ+GfIaWvUjv/0HOwYAAAiCA3FbMf8u8WF+m
116kHE48E22Ssth5qHqP2HLp6A7BwMCCIAAcpt/Qnm9CPRjsV6ebfvNzsHAGJkDAvCwC03Alj5rAoD7
1176QEBxnsA3L4HZBau76oED9l6+FXkHAyMkR4QgIctggfL8bCLXcIHgAACwH0+aALsIwD7MwQLGO8B
118cPshWFGchP4jmIzO7Vbr5dGuP+QcDIyRHhCA7cShNa5wc5d3mgBgO3pAgPEeAHfrAYn0gnCbVajR
119+xE5BwNjpAcEYHuxF8SVbm56pQkAtqcHBBjvAXD3HpBKfDL6oRYkXN/56kXdH3YOBgQQAAFkG4cp
120hDBusUfsUdjj1rvOwcAYGYIFsLtlMBTrMnjmxSttALA7PSDAeA+A9XtAKvHp6LORNt+T9TJdL59G
121uv7v18ubfX+JczAwRnpAAOqLY/+XI1zvV2m9L5oowgu0GOl6AzRCDwgw3gPg/j0gUZwPEntCxnJr
1223hg+zm/829l6mY9k/WPwehYaGnrlHAwIIIy9kAKEkF3Dx5hCSKPhA/qi9qNvhmABNFOYPgnDHo51
123X/jY5v+FDwAEEIAGrVKBejGw9YoF94stw0UMIUOcG3GeAqbwASCAAGRZrA+lCF/WCFXvw3B6Ci5T
124qPKkcwABBCBrsQiPV8wXA1iHOsPK4no/CmX3Bi3S+p/bnQEEEKBshyNZz6r3IF49XxVYeO/bi1P1
125Br0IZfWGrNJ7flbYdvOZBAQQgDschfHcsjY6D9e9AbkHkVV6j89Cs5PpL9L6v8s8iFTrX3rPza6m
1266TMJ0Bm34R3KhnQbXsoKIE/DeB/kNl8vL0M+T1BfrJePoZuhRpO0/q9T4ZuDi7T+FyPdH+OT7D+E
127socLsiO1HwIIAghjE4vQf8L1lfYxFz3TjTDW9RXo5UbRvepp/Q9TEDvqIYzE9f6cvo75zlYxDMbn
128tziBCCAggCCAMHjfUtHZ9HCfks1SUf44fW1qXP5lauOv6esiw6J7mta/WvdZw2ErLt831p+fD8+s
1295iohgIAAggDCoJ2ul+NwffXd8xXuNtkIIodhu7kzlxuhbjHidV/arx4MH7FN41DI95pEAAEBBAGE
130oZulAqgqGvWEQPfhI4T6t1pGAAEBRAARQCjOPxtFUHXL1oVmgdbE+TZnG5+7Vbi+6xcCCHTKbXiB
131vmyGjVgQxauyJ5oFWhGHPX4Kvw5lE/gBAQQYlc+3/NvbFESmmgcaEYdcxZs+HG/5GQRonSFYQ9mQ
132hmBRnup2vHeJD6470UxQ+/N1nEL9beKwx/9opnFS+9E3PSBAX2IBdN/D32Lh9CNcP6sA2F78zHy7
133J3yEMN4HLwICCDByDw0BmYbrSbNxWNZMc8GDweNH+sxM9/zsAbTGEKyhbEhDsCjTQ8Owblqslw/B
1341Vu4GTzehu3nThl+NXJqP/qmBwToUyyEznf4/lm4vpNPNTRrogkZcXg/Dtv3eGwS4IFe6QEZyobU
135A0K5Yqj4smeAib0iK03JCMS7Wr0O18/0qBvAPXxw5NR+CCAIIHB9FXe65+9Yhp/Dsy41KQMSg8Z8
136vbxMAWTfz8kTTSqAQJ8MwQJy8LGB3xELszgUJc4p+RTcPYthhI5PaZ8+bSB8hBTSAXqlB2QoG1IP
137COUXW/+09Ltjj8jnoGeEMj4HcWjV8/S1aXH/f+RzgNoPAQQBBK7F3ot5y6+x2AgjK01OBmKvxiw0
138M7zqIefr5ZUmR+2HAIIAAtfiHX1OO3y91UYgiV9dFaYLVS/H0xQ8ph2+9iPBGwEEAQQBBH6KxdiX
139Hl9/mYLIV4GEBsWAcbgROA57eh/nQe8HAggCCAII/KLNeSB1rDYCyTK4bSnbqYZUPQ7d93Dc51na
140n0EAQQBBAIHN82Lm72+Rgsh3oYQUNg5T2KiCR6777TObCwEEAQQBBH73JeMi7r7ibnUjlBi+NSyT
141G2FjWth+qvcDAYSs/KEJAPZyWyF6uRFG/g0/55ToMcnbYQobcZv+FX7O35gUvE4L4QPIjR6QoWxI
142PSAMw8l6eTvwdVylpQony41wouekXZONQBG//pm+TkM+czWapveD36j96JseEIBuVcXu7I7/r4JI
143DCl/p39b3Agv/G6zp6Jq28fp34YcMO5zIXwAOdIDMpQNqQeEYYiF4xfNsJXNMLIZVjZDzF1/LyGg
144VareinAjVIQRB4ttee4Ht1L70Tc9IABl2rf43mZOytc93+PTB/6/9PkVOXsvfAC50gMylA2pB4Rh
145iAXpN80Ae4nh8lEwp4g7qP3o2/9pAiAj7hIF+3sjfAA50wMylA2pB4ThcFCC+hbBQwd56CCr9kMA
146QQABAQQa8iToSUQAIXOGYAG5UTxBPe98fgABBGB3xq5DveB+ohkAAQQA6MIrTQAIIABAFwy9AgQQ
147AKATi2DoFSCAAAAdiPOlDL0CBBAAoBMxfKw0AyCAAABte79eLjQDIIAAAG1brJc3mgEQQACAtsW7
148Xb3QDIAAAgC0rZp07mGdgAACALQu9nx43gcggAAArYs9HwvNAAggAM2bagL4RZxwfq4ZgKE4uLq6
1490gpD2JAHBxqBoXBQgp9i8PCwQZo9yKr96JkeEAAQPgAEEAAQPgAEEIA2zTQBCB+AAAIACB8AAggw
150OFNNgPABIIAACCDQrvfCBzAWf2gCICN/aQJGKAaPc80AjIUeECAnU03AiFwKH8AYeRDhUDakBxEy
151DP+sl4lmYCTh49l6WWoKuqb2QwBBAIGN86ImYASWKXxcagoEEMbIECwgFzNNwAicr5cnwgcggAD0
15271ATMGDVfA93ugJGz12wgFy4AxZDtUzBw3wPgKAHBMiHHhCG6DyYbA7wC5PQh7IhTUKnfA5GDEk1
1535OpCU5DdwVbtR88MwQJyMNMEDMhivbwIJpoD3MoQLCAHhl8xBFWvh1vsAtxDDwiQg6eagMJdpPAh
154eAA8wByQoWxIc0AomyegU6pVCh4LTUEp1H70zRAsoG+HwgcFij0d79bLI+EDYDeGYAF9Oyq4AI23
155Vp2mhfE4Xy9vguFWALXoAQH69rzA9xyDR7zy/Wzj68KmHLy43Z8Ecz0ABBCgWNNQ5h2wPtwoQBcp
156hLj16nCdBw8UBBBAgOLNCn3fqzv+Pd4J6YkidZDhQ68HgAACDMDzQt/35QPh5EkqWhlO+ACgIW7D
157O5QN6Ta8lGe6Xn6U+pHb8vvO1svcphY+ICdqP/qmBwToy9EI1vFV0BNSqlW4vtMVAAIIMBAvC33f
158ixohZGFzFxkezfkAEECAgTgMZd79KtQsSg3jKcu50AgggADD8rrg9/69xs+sgqFYJXmnCQAEEGA4
159JqHsidl1b7H72aYvwnm4+zbLAAggQIGOC3//dYtT8wnKICgCtMxteIeyId2Gl3LEW+9OS/641fy5
160aSj3tsNjEUPifzQDQ6f2o296QIAuzQsPH4s9fnZl89cOBV31Hl1oboD2/aEJgA69Lfz9Lwt6r6tU
161UP+7Xv4M13cdm2YcAFdpiW38d/q63AgfJx3sP199RAEEEGA45qHs3o+SCtT4AL339/x/DCOTja9V
162QAkthZQqXFQh7t8ULJYbXx/SRQBZ+ZgCtM8ckKFsSHNAyF/pcz+i/4T9hgN1ccB9KHzsahJ2f2bL
163MrQzbKrt9nMgZRTUfvRNDwjQhZMBhI+2iuomrRoOHyGt8yKDdZv6GAEMg0noQNviFfTXA1iPRQHv
1648cOA96NDHyUAAQRgG2cphJTuYwHvcTng/ei5jxKAAALwkPl6ORrAeqwaKO67uIK/GPC+NOvgNfSy
165AAggQMFiMXc6kHVp4vkQXfQCTQe6Lx11tG5HPrYAAghQplhsD2XoVdTE8KuZAFJbV3OIXg5onwUQ
166QIBR+RKGM5xlFZqZW/G4g/c6xHkSs47CWxXgjn18AdrlOSBD2ZCeA0I+Ys/HfEDr09RzNbo42Maw
1679GhAbR97I76F7nt2noVhz6dh5NR+9E0PCCB83C0+A+O8gd/TVZvEQn1IV/Dfhn6GlX0KJqQDtEYP
168yFA2pB4QhI82xPDxqoHfE4ekzToMTU/CdW9IyWLw+NFz+HwU8n/4JOxM7Uff9IAA+4rDZD4NMHxE
1697xr4HbMOw8fm9ih9MvVZBvt1HP6lJwSgYXpAhrIh9YDQX5E2pAnnm85DM70ffRWxceJ8nMtQ4hX8
170aei392PTZWrHpY87Q6H2o296QIC6DsOwrxA30ftx3GP7HKZwWGJPSE7P46hC9txHHkAAAfotEGNR
171Nh3o+sW7Xq0aKFzfZhASS+yhmmT4fuKQsBMffQABBOhefLr5EOYY3CUOuWmq9yOHNqpCyNyuu7e3
172odxeJQABBCjONFwPuRr6g9rehf3nTcQC9XVG61RdwS8lOC4yfm+zcD0/ZeaQACCAAO05DuO4I1As
173fJt46OBRpoX+USqej0ayHdoMdLEn5MShAUAAAZo1TYXWaRj+sJPY6/GqwXbLuXj+FPLvDXkT8n8a
174+dvgVr0AAgjQmKrXYzaS9Y1Dr1Yj2r5Vb0jOQ+pehGaeRN+mao7NcQBgK54DMpQN6TkgNFtQnYVx
175XdW9SMVuU2apKC3FIlz3OOT6rIu4P84LacdXIwuyFEjtR9/0gACVaqLy2IaULENzQ682C9H3BbXB
176LG33XIfaxe1zXlA76g0BuIcekKFsSD0g7OckXN+1aWy3F237KdenBRajsU3eZFrwH6c2LcEi6A0h
177U2o/BBAEEPo0D9cTaacjXf8nof1hR/NQ5iT+RchzWFZsz7OCwlycW/Q+gAACAogAguAx6uARdTms
178J7ZzvOtUiUPb3odmno3SpGridymhLtcwhwACvTAHBMYXPOKdj86Ej06HGK3CdW/LuwLb6jjtM/OM
1793tMydNN71ZRZuJ4bcuIQBKAHZDgbUg8Id4tXieMtV8fe49FX+LitGC01AC5SiFpktG9/CmXdKnqV
1809sGFjyJ9UfshgCCA0JZY4M7DOCeX5xo+Ngvns5D/E8nvEtswDinKZVhWiZP9cxzahgACAggCCLXM
1811svLUMZzE7rS9t2u6pqHcp8yn9sE63koZ3L6ZhvGUHzhI4oAggCCAEJpJuFnb8dUc/yies5HrvMF
182pqlwnhXcvrE3ZJHBeyltcnplEdyyFwEEAQQBhELEITzPg96Ou1ykwq6EYS4n4XqeTslt/SaDIrrE
183eSEh7aMfgonqCCAIIAggZChe5X2ZwsdUc9xZzOX6ML2Htu1ZKPdJ9DkV0SXOC4ly6lFCAAEBBAFE
1846BA6thALt9KHs5RaPFdWIY87Pc1DuXNsTFJHAEEAQQChc7NwPbxK6NhOqb0e923/0p/XksOwrJJ7
185lUxSRwBBAEEAoVXV8zqepq9unbu96m5MlwPcJ+K8kJJ7Q3IYlhXbMfaEzAttw0UwSR0BBAGEDANI
186PMEebpysKEMVOGah3HH/fTpP4WPohVncP0rvDVmF/odlzUPZtz02SR0BBAGErALIl/Dzri/ViWqI
187V4RLNtkIGk9DubddFTz6239K7w2J+h6WVfpE/xyCHAIICCD8N4DctSGXafk7nbCWQkmnhU4VNg6D
188Ho59Xabg8SGMeyjKLJTfG9L3QwyHEObOQ15Po0cAAQFkhAFkswdkm5P/ZjBZCiaNFIUxYPyVvs40
189SWNWKXSc20cHVUCH0P8tZ49SmCt1vtXQbryAAIIAQmEBJBa98eFb0z1/1SKd1L6nwm8lnPxS9B2m
190No7L040/07w4VOdjcAegh4LvaSi/d63PW86W+uDCm8dtk9QRQBBA6DyAVCfSNu/0UgWReJL7O/zs
191SalOgEMJGGGjGHl64++0a5lCx7nQu5OTUPZT1EPof27DcWrDkntD+hzWhgACAshIA0hlmk6kfdzK
192dTOUVD0pNwPMpraKjc0wEW4JEX+Fnz0Xh8Etb/suPGMvx9jnduzrMF2AKD0sX6QgctlTG5Y8Qb06
193puoNQQBBAKHzALJZhMcQUj3MrtTidHVHoSA0lCuG0c+p2FxqjkaVfiU/hP4fwHcSyu5R0huCAIIA
194Qm8B5LYw4iF39CUWk1/T15XmaNU0XPeGHBW+Huehvzs96Q1BAAEBhD0DyG0n11n4+TwKgYSmLVMB
195VIUOuneUgsi04HVYhX7nhpyE8ntD3CkLAQQBhCwCiEBCm4FjEUwiz8VQbtn7LvT3FPAh9Ib0ObcG
196AQQEEAFkK9MURB4Hz7Xgd9XNBqqw4VbN+RvCJPW4n70I/Q0pigHodSj3As0qtZ95VwKIRkAAIcsA
197clcBcyiUjFIVMr6Hnw+upEzzFERKvt1snxPUp+G6N6Tk418ckmWCugACAghFBJC7Qsl0I5hUf6ZM
198MVisbgSNlWYZnCEMy3qfCum+lP4UdUOyBBAQQCg2gGwTTP7a+LO5JXlYhJ/PaalChl6N8ZmlInpa
199cGB+1mMRPUntd1Rw+73y2RdAQABhKAHkoaKn+vpn+P3p4zRTWGw+tb76u7kaDK2IvkwhpM8iOvYk
200nRbcfn0OaUMAQQBBAMlC1VMyDT+vzD7dKJbGPMRrFX4OiYoF17/h16fPCxjUdRLKvd1sDreajcel
201L6HcXl7zQgQQEEAYdQDZ1s0wcnOI1+NbioEchoHdFhKqMHHb92yGDmjTPFz3hpSqz1v1RtP18imU
202e5EkBrhXPgYCCAggCCDdFg/Thn7XQnNSqFkqoku9kt93EV36kDYhRAABAQQBBOhc6cOJYhEdhxT1
203ORwxhpB5oe3nDlkCCAggCCCAELKjvu+QFZ2EcufVLFL7IYBA4/5PEwCQaQFfeoCKAaTU4UyzUPZ8
204IEAAAUAIGWUIOS84hMyFEEAAAaCPEFLypOQYQj71/B5KDyFzHwNAAAGgSxeFh5BZ6P9KfskhJD5k
205cepjAAggAHRdQL8r+P3PQ7/PCCk5hEyCoVhAg9wFaygb0l2wgG6UfHvZ6EW47tHp0yyU+ayVOB9o
2064SNQPrUffdMDAsAu4hX888IDVN+F/yKUObn/pd0fEEAA6CuELAt97zF8fMrgfZR4h7GpXR8QQADo
207y7OCQ8hsvRwJIb/x5HNAAAEgW5eFh5DTTN5HbL9HmbRjfA9xjsz5LWEk/v2D3R5ogknoQ9mQJqED
208/YhDmuLD/g4LfO85zWfJpR03J+lPNt7Pwq4+HGo/BBAEEEAI6cdFKrhz0vddxlbhukcGAQQEEAQQ
209QAhp4/CZ4Xs6WS9ve3x9t9sVQKBV5oAA0ITS54TkFkBehWYnha92+N7nNgEggAAghOzmTej/gYP7
210OE9tuWrwd77YMtQc2pUBAQQAIWQ3L1PBfd9woveZt2VswycNBalpCjNPguFVgAACgBDSuMO0LNJ7
211iYX3u/T3WNDHIU5vCmnLFw2916MUQp6l33dXb8hnuzDQJpPQh7IhTUIH8tP3xPQYOE4G1J6xHc/2
212aM8qjG1un3m4nvMxS+Hk48DajFuo/RBAEECAoevr1rI3C+6hhLrjUO8uWUNsDwQQCmQIFgBta/qB
213f5dhu8nUswG2ZVzvk2AuByCAAMCDIeRVQ78r9gK82TKETAbannF+zbPUpiu7FyCAAMDvzlPR3MTz
214LR5v+bsmI2jTRymIPDTp/6NdEMiBOSBD2ZDmgADlmK6XT2G/yemLFEAemuh+MMK2jXe7enojfH0M
215zQ6Do2BqPwQQBBBgrE7D9YTq2oe+jT+frJfXN4ru+JyPN5oZBBAEEAQQgEq8Wn8W6g2Vunngi79j
216Fq57Q+KzPpaaFwQQBBAEEIBwS3CIvSHzPQMIIIBQAJPQAehbnEgeJ1HHOR2LLX9mpdkABBAA2Mci
217hZC4XDzwveZ2ABTKEKyhbEhDsIDhmYbrOR1P05+jr+H6bk4rzQP1qP0QQBBAAAABhNEwBAsAABBA
218AAAAAQQAAEAAAQAABBAAAAABBAAAEEAAAAABBAAAQAABAAAEEAAAAAEEAAAQQAAAAAEEAABAAAEA
219AAQQAAAAAQQAABBAAAAAAQQAAEAAAQAABBAAAAABBAAAEEAAAAABBAAAQAABAAAEEAAAAAEEAAAQ
220QAAAAAEEAABAAAEAAAQQAAAAAQQAABBAAAAABBAAAEAAAQAABBAAAAABBAAAEEAAAAAEEAAAQAAB
221AAAEEAAAAAEEAAAQQAAAAAQQAABAAAEAAAQQAAAAAQQAABBAAAAABBAAAEAAAQAABBAAAAABBAAA
222EEAAAAAEEAAAQAABAAAEEAAAAAEEAAAQQAAAAAQQAABAAAEAABBAAAAAAQQAABBAAAAABBAAAEAA
223AQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAAAQQAAAAAEEAAAQQAAAAAQQAABAAAEAABBAAAAAAQQA
224ABBAAAAABBAAAEAAAQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAAAQQAAAAAEEAABAAAEAAAQQAABA
225AAEAABBAAAAAAQQAAEAAAQAABBAAAGDA/tAEAP81WS+HG39fZPb+Zht/Xq6XS5ssO9O0hLR9lpoE
2264Hd6QICxi4X9t/Xyz3r5srFcrZezjYKyDzEQfUrvZfO9Ve/10ObLwsl6+ZGWahtV+9RJCrcAJAdX
227V1daYQgb8uBAI8Du5ilk3CdeyX4Wur+avc17i16tl3ObsheTFBBnD3zfMu1Deq3IgtoPAQQBBPpx
228lIrHbazWy5MOC8hpuL6Cvs2V88v03lY2aedO18vxlt97nsIiCCCMniFYwFi93TEQHHX83rYdthO/
22977XN2bnpDuEjmod+h/MBCCAAPdt1/kSXxeO05XWh+23U9T4EIIAAAAAIIAAAgAACAAAIIAAAAAII
230AAAggAAAAAggAACAAAIAAAggAAAAAggAAFCQPzQBmZmsl/l6ebxepunfvq6Xi/WybPi1Zml52uLr
231dLk+bZuldYjLn+vl8Mb/f01fV2ndlnZnbpim/abad57e+P+4z/y7Xi439qHLEbTLYfp8TW60SVz3
2327+nPi/TZWg10v5imNgjpeDnZ+P+4zn9vtMNQ94vpxnH2ZhvcdqxdjOgzwtBcXV1ZBrAMxPF6+Sfu
233lncsX+45IO9aSP944HWmDbzOvKP1aTsMfrpnHR5aPqXfkeN67rouJx2+ty87vrcvGe9HR+vl7IHP
234wn3Lt/Vy2tBnsulAvuu6zG4Um6c12uVH+rnDAYSu0weOxdph+8/I8S6fEXWTpfe6VSMIIJk43eFA
235u08xO9/ydf7Z88Q272h92roKt0/BeFd7nmVWRAog7ZrvWVTdtZ6zwgPIZIfjXUntsUsg/dbwfvEt
2367W8lmdX4nG+zbHWcVTdZBBCLALL7ifyko9epW9RNdizezzLaFicNB4/bgshJJusqgLT3ef7R4j5U
2379axNCjtuXaWr1N9CO0Vnzr2p1ZX+Ly3vF18K6BGZ7Nmr3MjxSt1k6XsxCZ0cPN/x+1/uUTC0+f2b
238V/gmO35/DsVBLIzetlzITNJr5D78jHpOQ3NDGB/6zPwo8Op/W0OG5unzm2vxfZLeX9vbq+pVyLU3
239pNpvuzjmvw159rDDfwkg5HJlbBfTzNdn1/fX9wniKHR/5XAmhAzKJPwch97la+ZcbPZx3MmtByBu
240o7NUDHf9mrntF/H9dN1zV11Ymvp4IIAAYz8pbp4chZBhhI8+C9+zUF5PyFC3RU4BMacQchr6G2o7
241DXkMWQQBBPivWeh//slhyGsODGUWvAqsX7dJDnNCzjLYL3J4DzEEHff8HhxnEUCALExT0ZaDo5DH
242PBjKLPA2i25+Fpxve3z904w+02c9b4dc9kvHWQQQoHe5XTE+tUmKc5xZQRPfy8xm+WX79NEes9D/
243Ff+bIWDeUyj+lNk+4TiLAAL0WpjkdrecaTCZuCRxe73N8H29tml+0fU2yrUnqo99dacHA3b4udUL
244ggACdG6SaeEYPbd5iipsc5xzcRTc8WfTLHR7seE40/afhm57g3IN6I6zZOMPTQCjctxA4bhYL5/X
245y/KWYuf5HgVP9fyUS5spa7G4mu/5O1br5WK9fL2xveO+8zjs/iydm/vheUHtuUyfp0XDn6dK7BV6
2461cF6TML+PVCXadvd3C/iPvd0z/3i+S1t3JYmeuLO035xmd73YVr3w422qHucfRWgb57G6EnoGajz
247dNw6Tgb2OnXs85Tzbe92FAunuk977nJ4gCeh13O2xz70z5bhZbLH63Q17n4W9ntS9bYP5tv3CeL/
248dHhxY5/3eLJFuJjUPL5W7d2FyZ7H2U9hu16kwz2Os4fqJosnoQNdme9x9TBejXsWfu/1uM0ife+q
249xusc2kxZm+wREuO+8yhs1ztxma7Sng90H4rr9SRsd0V+mT5P53tssy7apO5V/8u0fifh4d7Py/R9
250bzLeL/bppYnr9WLLY+dyj+PsLEDPBBAYj7pjf8/D7l32lzWLhKc2U9bqFlerVCztOrzuTY2fmWbe
251hotQbwhM3UAWQvs9i4c1270KH8sdf+59jZ/pqvCue5x9n5YujrOemYMAAnRaPO5qGeqPF74I5nMM
252Td2A+KLmvnCZ9qMcC8263u3xs29CvSvej1tep9ke67Os+bMfMy2867TFsmaQCDU/Hy70IIAAndin
253QNjHsqP3Sb770fkeRWb0dUDtF8PDYo+fj4HsQ42fa3v4UZ2CdhH2u1nAMsN2OKwZcvY9zi4CCCBA
254huqceJcNnNiWmn4wYmE1rfFzH/Z83dWA2vCigd9Rp2iftrxedYLpxz1fM8djS1/HWRBAgGyLx119
255buB1/9X0ow6xKyG08c/DZc02bXP4UZ3ffd5AO+SmTtD76GOBAAIMVd0hErAP+1A77ZHT8KOZ/eJ/
256HmsLEEAAaE6dAvZvzdYK7ZqnOj1BeggRQACgweIKAAQQAABAAAEAAAQQAAAAAQQAABBAAAAABBAA
257AEAAgU79qQk695cmAFow1QQggEAJ6jxIbabZOm9zsA81H+wvBRBhDAQQ+OlrjZ/J+aFoelp+biPF
25843D0VcA+1fSNhLKhPXH7+YCOkwIIAggM+AQ87ehnhlJ073tSO7abDkqdAvZxA/vg0YDacNbQ53LX
259Y0xuvR9NFMw57herHvaJWQABBLININOaJ706V193PSEsOmivOr1ML/d4vXhV77XddPSOwn5XeN9m
260vG51ivrHDbzuvKPw2Obxa7pn4XwS8rzq/3eNn9m3J+dlAAEEOjuB7XrQrXu1bNeT5DzTNr6sue51
261i4SzkPcwOborYk/3KLTnA2uPeBzap4d0WjOUfW25LeocX+qGy9h+rwe0T8z3CFOHmX9GQAAha6ua
262B95ti+N9rsbHE8MuQ4nqvM7XDtq4bvH4qUbBdBaGNWyGn0Vmnc9qnSBxtEdwyb3grBvOJ+nzWMci
263w3aYpbbY9bj/JeR7cWOf4+ykRlt8CiCAwF4BpM4VtG2K40kqZKZ7vL+3W4ads1Dv6uaqgzauW4BM
2640gl/m/WvioO5XXqw6u5H8bNxsuX+dlqzICulPeLn5NuOIX2aPlt1ji+XHQSQuhdR5jsEsuPMw0d1
265LF/V3Ce+7HCemu/4/SCAwB3qXDmapBP5WSqQJzcO6Mfp//ctiKsivLqyf9vr/NjjdRYdtfHFnutf
266hYvpjfWfp4LxWzAhcuj26a17mz4nxzcK6Wn6XJ1t/P/Q22OaPjO3tcfNwvQ0fbYOO/7cd/Ua89QO
267pzeOH5P099ON/x9qKK229Y+0X8xv2d6zjXONIa4U7+Dq6korDGFDHhyUvgrHoYwhF01brZdHHb3W
268POw+5KGX3bmj19n14PcubHcVvwnb9jptFj3POnhfk1QA5V78POsw2P8IzV2Jjr0Vy9DsLayfhG5u
269wdtkO7Sli8/wLH1+sw5J69rvWYAe6QEhFxfWu3XnYXgPI6NblyP+rN7lY8MBb9Zg+FiE7p7/8cGu
2708L82X2kGEEAowyp0d8UyJx8G/noMzztN8Iv3GQf7Nx2+1nlwgcNnBAQQHLSzdx66v1L2Prg6x/4X
271C95rhv+JRferTI+ny47bQeHd37EdBBCoaRHG1QvSx8k6Fglv7Go0sO8qsH66SEVnLmLwOOnhdd93
272HHpy9koTgABCWQftrrvx+xg20GcBdxFcwWb/z8wLzfCLN5kU3/G40ucE4xfBUKxoEfQIgQBCMVah
2732ytHl+lkfd7ha8bXOsmgWDq3u7GHZXCV97ZjSZ8hZJVBAKgCkBByfZx3nAUBhEJcdFTYbBYMrzo6
274UZxnVLS1vc653zFJgVTG/rwoMIT0UXTG41hXt9zd5r20HUJKKey7OLc4liGAQIMnlzZPYMvw+9XK
275eKJoc2jS+5DfFeP4ftoYJlAVYp8zLjYvMn5vu7bbx54/q7HwXbV4HNjVqsf2qCald9kT8S5tg5wK
2760TYDURV8VzXeU1/H2Tct/m7zbihPfBChpfxlwOJ98eMDCq8aXE7C/Q9Si09l/tHg65XwhPD43IEv
277Da7v5nMMdmnLo473rX+2fF99PMDx2w7tnctn9aShfShul/nG797lGHCW2fHrZIf9bNflS2jumSFt
278arINTjZ+73zH49KQjrM/Ns4ru/7OL+omS+91q0YQQAoxTUXIjz0KmtOw25N65zsUgbctnzouqJsw
279S++77glxfsdJd5vi47SnguChbdxXQTvZorD4FvJ7Kvk+n9Xqczq5pS22+Szm2B6bx5NPoZlwdlbA
280RY27wljdY/jZHcfvsy3b7DCz4+xZzVD245aLaAKIpbjlYCTF6+AdHByMaXUP0/L4gZPKar18D/s/
281DXiaThjx69MHXu/vjdcreVzu5hOZnzbQxtN7iqb4O+LwhD7ni8Ti8PmNk3p8Xx9D/3MQjtJ72yy+
2824r4Vh2mdF/BZnaXP6l3h/3JjH3qorWPh9fqWkBF/R3zI5vsCPneTG+1S/f2u4FQdS76G4dyqfJv9
283IqR1XqZ1vm+7Hqf94rbfdZ6OL7nuF7O0/LXFZ+TijuPstx0D1mJd+z0L0GfdKoAIINBD8bVZ5K80
284CzWKtl8KKk3CLUFuLPvFroXcxbr2cxttevWHJhjI0UeQpAyXisXmjPjCg32I24xxMva0xs98t6vQ
285N3fBAgAo06zGz7htLwIIAAC1vKzxM27bS+/MAQEo9QBu7heMWbxBxSe1HyXSAwIAUJZZqHeL8AtN
286Rw5MQgcA6D5ATNNS3Wp5scXPxTt9xVsOz2u+7mdNTw50wwGUegA3BAtKcxJuf5ZNZRXuvjX5bM/X
287jr/3UfyD2o++6QEBAGjfabh+aOJ9pqHerXW38dEmIBd6QABKPYDrAYFSxKFT33p8/VVIvR+R2o++
288mYQOANCuo55f/5VNgAACADAej3t87XdhuwnuIIAAAAxEX08fPw/XE99BAAEAGJHvPYUPQ6/Ikkno
289AKUewE1Ch1LE2+7+CHfffrdpb9bL+7v+U+1H3/SAAAC06zKFgrYt1suT+8IH5MBzQAAA2neevp61
290FDw+brwGZM0QLIBSD+CGYEGJZuH6aejx6z5Dslbr5SIFj+UuP6j2QwABQACBcZqmZZb+/le4+0no
291MWT8G657O+Kfa99ZS+2HAAIAAIyGSegAAIAAAgAACCAAAAACCAAAIIAAAAAIIAAAgAACAAAIIAAA
292AAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAAAgAACCAAAAACCAAAIIAAAAAI
293IAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAAAgAAIIAA
294AAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCAAAAAAggAACCAAAAA
295CCAAAIAAAgAAIIAAAAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCA
296AAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAggAAAAAIIAACAAAIA
297AAggAACAAAIAACCAAAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAg
298gAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAEBt/y/AAEmyIDWRykGwAAAAAElFTkSuQmCC">
299</image>
300</svg>
diff --git a/yarn.lock b/yarn.lock
index 1dd45be4..7b62e0f9 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2178,6 +2178,10 @@ hawk@~3.1.3:
2178 hoek "2.x.x" 2178 hoek "2.x.x"
2179 sntp "1.x.x" 2179 sntp "1.x.x"
2180 2180
2181highlight.js@^9.12.0:
2182 version "9.12.0"
2183 resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e"
2184
2181hmac-drbg@^1.0.0: 2185hmac-drbg@^1.0.0:
2182 version "1.0.1" 2186 version "1.0.1"
2183 resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 2187 resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"